- [ВНИМАНИЕ, ТЕМА ЗАКРЫТА!] Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда.
- Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам
- Открытие ордера на той же свече
Реализовать это не сложно, только, что именно Вы хотите получить? Индикатор или что-то иное?
Это условие хочу вставить в свой скальпер по отложкам. На счет индикатора не уверен, но можно и индикатор была бы хорошая вещь для фильтрации, если вывести изменяемые значения пунктов(Point) во внешних переменных.
Это условие хочу вставить в свой скальпер по отложкам. На счет индикатора не уверен, но можно и индикатор была бы хорошая вещь для фильтрации, если вывести изменяемые значения пунктов(Point) во внешних переменных.
Если я нигде не ошибся, то можно написать так:
int sh; int fl; // fl = 1 - BUY_ENABLE, -1 - SELL_ENABLE int deadzone=10; // мёртвая зона double Hi,Lo; double Mdl,MdlH,MdlL; sh = iBarShift( NULL, PERIOD_D1, TimeCurrent(), true ); if ( sh == -1 ) { fl = 0; } else { Hi = iHigh( NULL, PERIOD_D1, sh ); Lo = iLow( NULL, PERIOD_D1, sh ); Mdl = ( Hi + Lo ) / 2.0; MdlH = ( Hi + Mdl ) / 2.0; MdlL = ( Mdl + Lo ) / 2.0; if ( ( Bid > Hi - deadzone * Point ) || ( ( Bid < Mdl + 0.5 * deadzone * Point ) && ( Bid > Mdl - 0.5 * deadzone * Point ) ) || ( Bid < Lo + deadzone * Point ) ) { // цена в мёртвой зоне fl = 0; } else if ( ( Bid > MdlH ) || ( Bid < Mdl && Bid > MdlL ) ) fl = 1; else if ( ( Bid < MdlL ) || ( Bid > Mdl && Bid < MdlH ) ) fl = -1; }
Можно и так наверно
extern int Filtr1=5; extern int Filtr2=10;
double l = MarketInfo(Symbol(),MODE_LOW); double h = MarketInfo(Symbol(),MODE_HIGH); double p = MarketInfo(Symbol(),MODE_POINT); double b = MarketInfo(Symbol(),MODE_BID); double m = (h+l)/2; double f1buy = m+Filtr1*p; double f1sell = m-Filtr1*p; double f2buy = h-Filtr2*p; double f2sell = l+Filtr2*p; if (b > f1buy && b < f2buy || b > (m+l)/2 && b < m) { // Можно покупать Ваш код для покупки } if (b < f1sell && b > f2sell || b < (m+h)/2 && b > m) { // Можно продавать Ваш код для продажи }
При использовании моего варианта не забудте перед выставлением ордера BUY проверить переменную fl на равентсво 1, а перед выставлением SELL - на равенство -1.
if ( fl>0){
попробовал оба варианта не видит советник фильтра.
==============================================================
может упростить тогда просто оставить фильтр поиска двойного дна через switch?
или это наверно еще сложнее....
Как сделать, что бы не открывал ордера бай когда цена приближается к хаю на расстояние 10 пунктов на ТФ Н4, D1, W1, MN.
Для селла когда цена приблизилась к лоу на расстояние 10 пунктов на одном из ТФ Н4, D1, W1, MN.
чтобы была проверка всех выше перечисленных тф на обнаружение нахождения цены близко к лоу для селл, и к хаю для бай
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования