Володя, привет!
158-я строка,
ExtSignalIndent = InpSignalIndent * ExtAdjustedPoint;
последнее известное место, где оставил след путь Signal Indent.
Покажи, пожалуйста, на что далее влияет ExtSignalIndent?
Володя, привет!
158-я строка,
последнее известное место, где оставил след путь Signal Indent.
Покажи, пожалуйста, на что далее влияет ExtSignalIndent?
Спасибо за сообщение. Теперь все правильно (версия 1.001).
//+------------------------------------------------------------------+ //| Search trading signals | //+------------------------------------------------------------------+ bool SearchTradingSignals(void) { double fast[],slow[]; MqlRates rates[]; ArraySetAsSeries(fast,true); ArraySetAsSeries(slow,true); ArraySetAsSeries(rates,true); int start_pos=0,count=3; if(!iGetArray(handle_iMA_Fast,0,start_pos,count,fast) || !iGetArray(handle_iMA_Slow,0,start_pos,count,slow) || CopyRates(m_symbol.Name(),0,start_pos,count,rates)!=count) { return(false); } int size_need_position=ArraySize(SNeedPosition); if(fast[1]<slow[1] && fast[0]>slow[0]) { ExtSignal=POSITION_TYPE_BUY; ExtSignalBid=m_symbol.Bid(); ExtSignalAsk=m_symbol.Ask(); } else if(fast[1]>slow[1] && fast[0]<slow[0]) { ExtSignal=POSITION_TYPE_SELL; ExtSignalBid=m_symbol.Bid(); ExtSignalAsk=m_symbol.Ask(); } if(ExtSignal==POSITION_TYPE_BUY && m_symbol.Ask()-ExtSignalAsk>=ExtSignalIndent) { if(!InpReverse) { ArrayResize(SNeedPosition,size_need_position+1); SNeedPosition[size_need_position].pos_type=POSITION_TYPE_BUY; return(true); } else { ArrayResize(SNeedPosition,size_need_position+1); SNeedPosition[size_need_position].pos_type=POSITION_TYPE_SELL; return(true); } } if(ExtSignal==POSITION_TYPE_SELL && ExtSignalBid-m_symbol.Bid()>=ExtSignalIndent) { if(!InpReverse) { ArrayResize(SNeedPosition,size_need_position+1); SNeedPosition[size_need_position].pos_type=POSITION_TYPE_SELL; return(true); } else { ArrayResize(SNeedPosition,size_need_position+1); SNeedPosition[size_need_position].pos_type=POSITION_TYPE_BUY; return(true); } } //--- return(true); }
Возможно ли добавить в советник функцию по ограничению на открытие новых сделок после получения сигнала?
К примеру: получен сигнал; открылась сделка; сделка закрывается по СЛ или трейлинг стопом (не важно); новая сделка не будет открыта, пока не появится новое пересечение двух МА (если возможно, то настраивать ограничение - 1, 2 или 3 сделки за одно пересечение МА).
Чтобы не было ситуации, когда сделка открывается по тому же пересечению МА, что и предыдущая, но уже перед самым разворотом. Т.к. она закроется по СЛ и может забрать всю полученную до этого прибыль.
Возможно ли добавить в советник функцию по ограничению на открытие новых сделок после получения сигнала?
К примеру: получен сигнал; открылась сделка; сделка закрывается по СЛ или трейлинг стопом (не важно); новая сделка не будет открыта, пока не появится новое пересечение двух МА (если возможно, то настраивать ограничение - 1, 2 или 3 сделки за одно пересечение МА).
Чтобы не было ситуации, когда сделка открывается по тому же пересечению МА, что и предыдущая, но уже перед самым разворотом. Т.к. она закроется по СЛ и может забрать всю полученную до этого прибыль.
Дайте настройки:
- советника
- тестера стратегий
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Delayer:
Торговая стратегия на пересечении двух iMA (Moving Average, MA) и контроль прохода цены от точки пересечения
Автор: Vladimir Karputov