Как прописать чтобы с открытием свечи открывался ордер,а с открытием следующей он закрывался и открывался новый!
Anton Tarasov:
Как прописать чтобы с открытием свечи открывался ордер,а с открытием следующей он закрывался и открывался новый!
Для начала нужно указать платформу.
Как прописать чтобы с открытием свечи открывался ордер,а с открытием следующей он закрывался и открывался новый!
Alexey Kozitsyn:
Для начала нужно указать платформу.
Mt4
Для начала нужно указать платформу.
Anton Tarasov:
Mt4
Mt4
Вот функция для определения начала нового бара
/// Определяет начало нового бара bool NewBar() { static datetime lastbar = 0; datetime curbar = iTime(Symbol(), PERIOD_M1, 0); if(lastbar!=curbar) { lastbar=curbar; return (true); } return(false); }
Спасибо!
это не совсем правильная функция!!!
Она будет давать один ложный сигнал при первом запуске советника
Вот так будет правильно и надежно :
// =========================================================================================================// bool NewBar() { static datetime time=0; datetime cur_time = iTime(Symbol(), PERIOD_CURRENT, 0); if(time==0) { time=cur_time; return false; } if(time!=cur_time) { time=cur_time; return true; } return false; } // =========================================================================================================//
Vladimir Pastushak:
Лишний if советнику как камень на шею.
это не совсем правильная функция!!!
Она будет давать один ложный сигнал при первом запуске советника
Вот так будет правильно и надежно :
Anton Tarasov:
Как прописать чтобы с открытием свечи открывался ордер,а с открытием следующей он закрывался и открывался новый!
Проходим в цикле по ордерам, если время открытия бара ордера меньше Time[0], значит закрываем его. Если после этого ордеров нет, то открываем новый.
Как прописать чтобы с открытием свечи открывался ордер,а с открытием следующей он закрывался и открывался новый!
Dmitry Fedoseev:
Лишний if советнику как камень на шею.
поставьте тогда второй else
Лишний if советнику как камень на шею.
bool NEW_BAR() еще короче { static int nBars=0; if(nBars!=Bars) { nBars=Bars; return(true); } return(false); }
Alexey Busygin:
поставьте тогда второй else
А хрен редьки не слаще
поставьте тогда второй else
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь