@Vladimir Karputov доброго времени суток. Подскажите пожалуйста в какой части кода советника происходит проверка по трем барам вверх или вниз. Спасибо.
Картинку также можно просто перетащить в текст или вставить её с помощью Ctrl+V
Картинку также можно просто перетащить в текст или вставить её с помощью Ctrl+V
Maxfreemen:
@Vladimir Karputov доброго времени суток. Подскажите пожалуйста в какой части кода советника происходит проверка по трем барам вверх или вниз. Спасибо.
Картинку также можно просто перетащить в текст или вставить её с помощью Ctrl+V
Картинку также можно просто перетащить в текст или вставить её с помощью Ctrl+V
Торговые сигналы генерируются в функции SearchTradingSignals. У каждого бара есть четыре цены - OHLC - Open, High, Low и Close. Бычий бар - Open меньше Close, медвежий бар - Open больше Close. В коде ниже я выделил блоки генерации сигналов - в них последовательно (при помощи "&&" - логическое "И") сравниваются последовательно три бара
//+------------------------------------------------------------------+ //| Search trading signals | //+------------------------------------------------------------------+ bool SearchTradingSignals(void) { double ma_filter[]; MqlRates rates[]; ArraySetAsSeries(ma_filter,true); ArraySetAsSeries(rates,true); int start_pos=0,count=6; if(!iGetArray(handle_iMA,0,start_pos,count,ma_filter) || CopyRates(m_symbol.Name(),0,start_pos,count,rates)!=count) { return(false); } int size_need_position=ArraySize(SNeedPosition); if(rates[3].open<rates[3].close && rates[2].open<rates[2].close && rates[1].open<rates[1].close) if((InpUseFilter && rates[0].close>ma_filter[0]) || !InpUseFilter) { 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(rates[3].open>rates[3].close && rates[2].open>rates[2].close && rates[1].open>rates[1].close) if((InpUseFilter && rates[0].close<ma_filter[0]) || !InpUseFilter) { 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); }
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
VR---TRI-BOYCA:
Стратегия на свечной фигуре "три солдата"
Автор: Vladimir Karputov