Здравствуйте, Владимир!
потестировал немного этот советник. запустил на демке на сутки и в тестере погонял. И в первом и во втором виде тестирования были вопросы к правильности отрабатывания кода. Например когда советни стоял на демке, в какой-то период он после закрытия всехпозиций открывал новые позицию не минимальным лотом, а следующей ступенью. Это конечно существенно подняло баланс, но как мне кажется логика сбойнула. А когда тестировал с визуализацией нередка ситуация, что открыв 2-3 позиции и получив общий профит по ним больше, чем задано в переменной InpMinProfit советник не закрывает их, а ждет когда они все закроются по take profit
К сожалению у меня все плохо с ООП и программированием на С++, поэтому даже видя исходный код я не могу понять из-за чего так происходит.
Я не знаю, возможно ли, чтобы этот советник выходил при X долларах выше "высокой водной отметки" капитала... вместо общего "закрыть все", установленного на минимальную прибыль. Я всегда могу рассчитать это вручную с помощью текущего советника (отличный советник)... но внедрение "мышления по высокой водной отметке" было бы революционным! Также было бы здорово автоматизировать шаги с ATR вместо того, чтобы вручную и статично устанавливать их. Это позволило бы советнику стать "самонастраивающимся" в медленные периоды.
мб
Хорошая стратегия. Какой сигнал он использует для открытия покупок и открытия продаж?
Блок решений:
if(count_buys==0 || count_sells==0) // проверьте открытие позиции "продать" { if(count_buys==0 && count_sells>0) { if(m_symbol.Bid()-price_highest_sell>ExtStep) need_to_open_a_sell=true; } else if(count_sells==0 && count_buys>0) { if(price_lowest_buy-m_symbol.Ask()>ExtStep) need_to_open_a_buy=true; } }
"нужно_открыть_продажу" и"нужно_открыть_продажу" - торговые сигналы
Покажите пожалуйста настройки эксперта и лог-файл. Какие именно позиции не были закрыты?
где находится СтопЛосс?
У Мартингейла нет стоп-лосса. Для Мартингейла существует только естественный Stop Loss - это слив депозита.
Здравствуйте, спасибо за советник
возможно ли разделить параметр входа только на продажу или только на покупку? ATT
Здравствуйте Владимир, спасибо за ваш код. Это интересно.
Я новичок в кодировании MT5.
Как я могу понять функцию void CloseAllPositions ()?
Кажется, что функция закрывает не все позиции, а только те, которые достигли пунктов тейк-профита.
Надеюсь, вы не откажетесь объяснить мне шаг за шагом. И как я должен изменить ее так, чтобы она закрывала все позиции, как только самая большая открытая сделка достигнет пункта профита?
Спасибо.
Void CloseAllPositions()
{
for(int i=PositionsTotal()-1;i>=0;i--) // возвращает количество текущих позиций
if(m_position.SelectByIndex(i)) // выбирает позицию по индексу для дальнейшего доступа к ее свойствам
if(m_position.Symbol()==m_symbol.Name() && m_position.Magic()==m_magic)
m_trade.PositionClose(m_position.Ticket()); // закрыть позицию по указанному символу
}
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Martin for small deposits:
Советник на базе мартингейла с особенностью: советник задуман специально для маленьких депозитов. Это достигается тем, что советник имеет настраиваемый параметр "Number of bars to be skipped" - пропуск определенного количества баров после последнего входа.
Как это работает: допустим есть первая открытая позиция BUY и на следующем новом бар снова есть сигнал к открытию (цена ушла вниз на шаг "Step between positions"). И на следующих двух барах снова были сигналы к открытию позиций BUY. Обычный мартингейл открыл бы уже четыре подряд позиции и получили бы такой объем (с учетом стартового лота 0.01 и коэффициента увеличения 2.0):
Такая нагрузка для маленького депозита может оказаться губительной. А вот эксперт с настройкой "Number of bars to be skipped" (пусть она равна 3) в этой же ситуации открыл бы первую позицию BUY 0.01, потом пропустил три бара и открыл бы вторую позицию BUY 0.02.
Тест на EURUSD,H1:
Автор: Vladimir Karputov