55 минут назад, Rigal сказал:Я, кстати, не пойму: вы используете фильтрацию по машкам?

Да я в этой теме сеты взял, поставил. Все устраивает.
Сейчас кстати их не видно уже. Видимо действительно часть постов удалена. Сам то честно говоря нуб.
От Rigal, 6 июля, 2020 в Лаборатория ProfitFX
55 минут назад, Rigal сказал:Я, кстати, не пойму: вы используете фильтрацию по машкам?

Да я в этой теме сеты взял, поставил. Все устраивает.
Сейчас кстати их не видно уже. Видимо действительно часть постов удалена. Сам то честно говоря нуб.
2 минуты назад, xaza сказал:
Я точно не удалял ничего.
Да и модераторы вряд ли.
А как это выглядит в тесте? У меня с машками довольно посредственные результаты получались.
33 минуты назад, Rigal сказал:А как это выглядит в тесте?
Я на демке погонял пару недель, потом на реал поставил. Пока небольшим депом (100$ на центовом), первоначальный вывел, теперь разгонять буду.
Мне по душе агрессивная торговля. Как можно быстрее удвоиться, вывести первоначальное и дальше уже как выйдет.
Здесь в этом плане идет нормально. В тестере сольет однозначно)))

12 часов назад, xaza сказал:Я на демке погонял пару недель, потом на реал поставил. Пока небольшим депом (100$ на центовом), первоначальный вывел, теперь разгонять буду.
Мне по душе агрессивная торговля. Как можно быстрее удвоиться, вывести первоначальное и дальше уже как выйдет.
Здесь в этом плане идет нормально. В тестере сольет однозначно)))
Максимальная DD, судя по графику, была в районе 25-30%? На каких парах торгуете? И ставили ли сэт от Остапа на евро доллар?
Изменено 21 сентября, 2020 пользователем BotPro
9 часов назад, BotPro сказал:Максимальная DD, судя по графику, была в районе 25-30%? На каких парах торгуете? И ставили ли сэт от Остапа на евро доллар?
Только евродоллар. Просадка сегодня была 53%. Ставил сет от 1.8.1 на версию 2,0. Брал его в этой теме, но точно не помню из шапки или из этого поста . Сет крайне опасный.
Сегодня на демо поймался баг в системе CloseBy, при закрытии фунта по цели сессии:
Баг довольно специфический:
В случае, если общая позиция больше, чем максимальный лот у брокера, он открывает несколько CloseBy ордеров максимальным лотом
А пока он это делал, исходные ордера вышли в тейк
И ему нечего было закрыть по CloseBy. Он при этом зачистил открытый CloseBy ордер, но только один
Два по 100 лотов остались висеть в рынке. В итоге принесли на демо +110К
Собственно, ради этих багов я и держу демо.
Версии 2.13 и 2.14 перезалиты в шапке, перекачайте.
10 часов назад, xaza сказал:Только евродоллар. Просадка сегодня была 53%. Ставил сет от 1.8.1 на версию 2,0. Брал его в этой теме, но точно не помню из шапки или из этого поста . Сет крайне опасный.
Ну, то есть фильтрацию по машкам вы не используете, можете смело переходить на 2.13
16 часов назад, Rigal сказал:Сегодня на демо поймался баг в системе CloseBy, при закрытии фунта по цели сессии:
Баг довольно специфический:
В случае, если общая позиция больше, чем максимальный лот у брокера, он открывает несколько CloseBy ордеров максимальным лотом
А пока он это делал, исходные ордера вышли в тейк
И ему нечего было закрыть по CloseBy. Он при этом зачистил открытый CloseBy ордер, но только один
Два по 100 лотов остались висеть в рынке.
Я, чтобы избежать подобных ситуаций, перед использованием CloseBy, локирую имеющийся совокупный объём несколькими встречными ордерами. Желательно не максимальными. Может будет полезным, если я правильно понял, конечно:
//+——————————————————————————————————————————————————————————————————+ //| Закрывает встречные ордера | //+——————————————————————————————————————————————————————————————————+ void CloseOpposite(double LotPart=EMPTY) { int ticketBuy=0,ticketSell=0; SetLock(LotPart);//локируем все открытые ордера while(!IsStopped()) { double BuyMax=EMPTY; double SellMax=EMPTY; for(int i=OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS)==true) { if(OrderSymbol()==_Symbol) { int magic=OrderMagicNumber(); if(Magic<=0 || magic==Magic || magic==INT_MAX) { double lots=OrderLots(); switch(OrderType()) { case OP_BUY: if(lots>BuyMax) { BuyMax=lots; ticketBuy=OrderTicket(); } break; case OP_SELL: if(lots>SellMax) { SellMax=lots; ticketSell=OrderTicket(); } default: continue; break; } } } } } if(BuyMax<0 || SellMax<0) return; // все встречные ордера закрыты for(int i=0; i<5; i++) { if(OrderCloseBy(ticketBuy,ticketSell)) break; Sleep(500); } } } //+——————————————————————————————————————————————————————————————————+ //| Локирует все открытые позиции ордерами с указанной лотностью | //| или одним максимально возможным | //+——————————————————————————————————————————————————————————————————+ void SetLock(double part=EMPTY) { double BuyLots=0,SellLots=0; for(int i=OrdersTotal()-1; i>=0; i--) if(OrderSelect(i,SELECT_BY_POS)) if(OrderSymbol()==_Symbol && (Magic<=0 || OrderMagicNumber()==Magic)) switch(OrderType()) { case OP_BUY: BuyLots+=OrderLots(); break; case OP_SELL: SellLots+=OrderLots(); break; } if(BuyLots!=SellLots) { int direct=0,parts_count=0; double remainder,price=0; double lot_min = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN); double lot_max = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX); double part_lots=(part<lot_min || part>lot_max)?lot_max-2*lot_min:part; MqlTick tick; SymbolInfoTick(_Symbol,tick); if(BuyLots<SellLots) { direct=OP_BUY; price=tick.ask; } else if(SellLots<BuyLots) { direct=OP_SELL; price=tick.bid; } double LockLots=MathAbs(BuyLots-SellLots); if(LockLots<part_lots) remainder=LockLots; else { remainder=MathMod(LockLots,part_lots); parts_count=int(LockLots/part_lots); } for(int i=0; i<=parts_count; i++) { if(i==parts_count) if(remainder<lot_min) break; else part_lots=remainder; bool is_send=OrderSend(_Symbol,direct,part_lots,price,Slippage,0,0,NULL,INT_MAX,0)); Sleep(1000); } } }
Изменено 22 сентября, 2020 пользователем Старик
15 часов назад, lsv107 сказал:Я, чтобы избежать подобных ситуаций, перед использованием CloseBy, локирую имеющийся совокупный объём несколькими встречными ордерами. Желательно не максимальными. Может будет полезным, если я правильно понял, конечно:
//+——————————————————————————————————————————————————————————————————+ //| Закрывает встречные ордера | //+——————————————————————————————————————————————————————————————————+ void CloseOpposite(double LotPart=EMPTY) { int ticketBuy=0,ticketSell=0; SetLock(LotPart);//локируем все открытые ордера while(!IsStopped()) { double BuyMax=EMPTY; double SellMax=EMPTY; for(int i=OrdersTotal()-1; i>=0; i--) { if(OrderSelect(i,SELECT_BY_POS)==true) { if(OrderSymbol()==_Symbol) { int magic=OrderMagicNumber(); if(Magic<=0 || magic==Magic || magic==INT_MAX) { double lots=OrderLots(); switch(OrderType()) { case OP_BUY: if(lots>BuyMax) { BuyMax=lots; ticketBuy=OrderTicket(); } break; case OP_SELL: if(lots>SellMax) { SellMax=lots; ticketSell=OrderTicket(); } default: continue; break; } } } } } if(BuyMax<0 || SellMax<0) return; // все встречные ордера закрыты for(int i=0; i<5; i++) { if(OrderCloseBy(ticketBuy,ticketSell)) break; Sleep(500); } } } //+——————————————————————————————————————————————————————————————————+ //| Локирует все открытые позиции ордерами с указанной лотностью | //| или одним максимально возможным | //+——————————————————————————————————————————————————————————————————+ void SetLock(double part=EMPTY) { double BuyLots=0,SellLots=0; for(int i=OrdersTotal()-1; i>=0; i--) if(OrderSelect(i,SELECT_BY_POS)) if(OrderSymbol()==_Symbol && (Magic<=0 || OrderMagicNumber()==Magic)) switch(OrderType()) { case OP_BUY: BuyLots+=OrderLots(); break; case OP_SELL: SellLots+=OrderLots(); break; } if(BuyLots!=SellLots) { int direct=0,parts_count=0; double remainder,price=0; double lot_min = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MIN); double lot_max = SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_MAX); double part_lots=(part<lot_min || part>lot_max)?lot_max-2*lot_min:part; MqlTick tick; SymbolInfoTick(_Symbol,tick); if(BuyLots<SellLots) { direct=OP_BUY; price=tick.ask; } else if(SellLots<BuyLots) { direct=OP_SELL; price=tick.bid; } double LockLots=MathAbs(BuyLots-SellLots); if(LockLots<part_lots) remainder=LockLots; else { remainder=MathMod(LockLots,part_lots); parts_count=int(LockLots/part_lots); } for(int i=0; i<=parts_count; i++) { if(i==parts_count) if(remainder<lot_min) break; else part_lots=remainder; bool is_send=OrderSend(_Symbol,direct,part_lots,price,Slippage,0,0,NULL,INT_MAX,0)); Sleep(1000); } } }
Спасибо, дружище, я делаю примерно то же самое - но стараюсь локировать одним. При условии, что совокупный требуемый объем не превышает лимита брокера.
А когда превышает - приходится больше одного.
И потом спокойно закрываю
Но на демо случился форсмажор: локирующие ордера открылись, три штуки: два по 100 лотов и один на 7+, из 46 исходных ордеров около 5 закрылись по CloseBy, а потом цена сбила тейк у оставшихся 41 ордеров.
И, соответственно, закрывать по CloseBy стало нечего.
Алгоритм обработал эту ситуацию корректно, все залоггировал и на выходе зачистил остаточный локирующий ордер в 7 лотов.
Проблема была в том, что зачистка не предусматривала больше одного локирующего ордера на выходе, поэтому два по сто остались висеть в рынке, налив мне за ночь 100 с лишним тысяч долларов профита.
К счастью все это на демо.
Важно отметить, что баг проявляется только в том случае, если у вас открыто в одну сторону больше лотов, чем можно открыть в одной сделке.
И только если у вас включена сборка по совокупному профиту сессии.
Изменено 22 сентября, 2020 пользователем Старик
5 часов назад, Covax сказал:Правильно ли я понимаю, что результат OnTester это Recovery Factor?
да, без манипуляций
Коллеги, друзья, приветствую всех. Подскажите, так сов автоматический? Половинку дня ждал-ждал, пока сам руками не ткнул бай, сел = тишина, как только сетки закрываются = снова тишина, так и должно быть? Просто чуточку терпения? Версии пробовал 2-12, 2-14 = сет от уважаемого ОстапБендер чуть выше в этой теме, М1, евро долл...заранее всем спасибо, сильно не пинайте и не ругайте, чучуть можно)))
1 час назад, Legio сказал:Коллеги, друзья, приветствую всех. Подскажите, так сов автоматический? Половинку дня ждал-ждал, пока сам руками не ткнул бай, сел = тишина, как только сетки закрываются = снова тишина, так и должно быть? Просто чуточку терпения? Версии пробовал 2-12, 2-14 = сет от уважаемого ОстапБендер чуть выше в этой теме, М1, евро долл...заранее всем спасибо, сильно не пинайте и не ругайте, чучуть можно)))
@LegioВ сете время торговли гляньте, я видел сет с 17.00 начинает торговать, до этого времени молчит.
Изменено 23 сентября, 2020 пользователем 2k2
тьфу ты, елки-палки, в сете посмотрел указано же черным по белому 00-00 - 06-00, принято, спасибо
8 часов назад, Legio сказал:тьфу ты, елки-палки, в сете посмотрел указано же черным по белому 00-00 - 06-00, принято, спасибо
Я у себя поправил 00-00 - 24-00. Все равно пока молчит. Может в полночь проснется
11 часов назад, xaza сказал:Я у себя поправил 00-00 - 24-00. Все равно пока молчит. Может в полночь проснется
@xazaЯ так понимаю вашей целью является круглосуточная торговля? Если да то Trade round the clock переведите в true. Так же в мануале сказано что: перерыв на рождество и исключение месяцев все еще работают.
Вообще интересно к чему приведет Ваш эксперимент.
Изменено 24 сентября, 2020 пользователем 2k2
11 часов назад, xaza сказал:Я у себя поправил 00-00 - 24-00. Все равно пока молчит. Может в полночь проснется
8 минут назад, 2k2 сказал:Вообще интересно к чему приведет Ваш эксперимент.
Я, честно говоря, понял, что человек хочет изменить время торговли на больший канал. Вопрос только - с какой целью? Самое главное, чтобы все эти эксперименты были осмысленные. Вообще не вижу смысла изменять особо сэт опытнейшего, в плане оптимизации, @ostapbender. Как вариант - можно повысить лотность, в разумных пределах, с учетом размера банка, раз уж хочется побольше зарабатывать. Люди, ведь, не зря же много какие параметры оптимизируют, помимо стандартных секций лотности и дистанции во многих советниках. Конечно можете включить круглосуточную торговлю. Однако потом без вопросов: а что у меня сет набрал просадку выше, чем в опте?
У каждого своё видение как, где и чем торговать. Прислушиваться к другим или нет - личное дело каждого. Самое главное - чтобы всё это в конечно итоге приносило прибыль.
17 минут назад, BotPro сказал:У каждого своё видение
Как я понял цель разогнать депозит, и первоначальное депо уже выведено со счета. Тоже такая мысль посещала потому и интересно.
Сегодня без проблем в четко заданное время сов провел свои торги вполне благополучно, все хорошо, но получается сет от уважаемого @ostapbender не подходит на версии 2.13 и 2.14, т.к. по другому рассчитана лотность и не изменяются часы торговли, версия 2.12 меняет согласно сету и выложенным выше тестам, у меня сейчас стоит версия 2.12...
1 час назад, Legio сказал:не изменяются часы торговли
Как проверили? У меня все подходит, на тесте стоит 2.13.
В 20.09.2020 в 20:29, xaza сказал:Я на демке погонял пару недель, потом на реал поставил. Пока небольшим депом (100$ на центовом), первоначальный вывел, теперь разгонять буду.
Мне по душе агрессивная торговля. Как можно быстрее удвоиться, вывести первоначальное и дальше уже как выйдет.
Здесь в этом плане идет нормально. В тестере сольет однозначно)))
А какой брокер? Можно поинтересоваться
50 минут назад, Serg6803 сказал:А какой брокер? Можно поинтересоваться
Форексчиф. Счет центовый
2 часа назад, 2k2 сказал:Как проверили? У меня все подходит, на тесте стоит 2.13.
накидываю версию 2.13 на график, смотрю настройки, особенно на часы торговли, накидываю сет остапбендер и не меняется время торгов, в сете настройки 0-00 = 06-00, а в версии 2.13 и 2.14 старт торгов не прописывается, а...если ставлю версию 2.12, в которой и оптился сет, то все отлично и согласно сета и выложенного выше прогона, старт торгов 0-00, окончание 06-00, обратите на это внимание
Изменено 24 сентября, 2020 пользователем Legio
я просто обратил внимание на изменение время торгов, при накидывании одного и того же сета, на версии 2.12, 2.13 и 2.14
Изменено 24 сентября, 2020 пользователем Legio
11 минут назад, Legio сказал:изменение время торгов
Проверил, так и есть, время в 2.12 подтягивается в 2.13 - нет. Оч странно, ну если важно можно руками прописать. В версии 2.13 появилось летнее и зимнее расписание, возможно из-за этого.
Для публикации сообщений создайте учётную запись или авторизуйтесь
Перейти к списку тем