MQL5. Открытие сделки по закрытию бара.
Здраствуйте, коллеги! Подскажите, пожалуйста, как реализовать проверку условий для открытия позиции по закрытию бара? Буду очень благодарен за помощь!
Закрытие бара сопровождается открытием нового бара. Поищите на сайте пользовательскую функцию проверки открытия нового бара. У неё было много вариаций. Обычно название у такой функции IsNewBar.
С уважением, Владимир.
Здраствуйте, коллеги! Подскажите, пожалуйста, как реализовать проверку условий для открытия позиции по закрытию бара? Буду очень благодарен за помощь!
Вам нужно не закрытие бара, а открытие нового.
Наберите в поиске по сайту "isnewbar"

и смотрите на результаты поиска.
Можете в левом меню страницы с результатами поиска выбрать раздел "Форум":

Закрытие бара сопровождается открытием нового бара. Поищите на сайте пользовательскую функцию проверки открытия нового бара. У неё было много вариаций. Обычно название у такой функции IsNewBar.
С уважением, Владимир.
Вам нужно не закрытие бара, а открытие нового.
Наберите в поиске по сайту "isnewbar"
и смотрите на результаты поиска.
Можете в левом меню страницы с результатами поиска выбрать раздел "Форум":
Подскажите, пожалуйста, пересечение скользящей линией Chaikin Volatility нулевой линии снизу-вверх как обозначить правильно? Я сделал, но мне сделали замечание.
Извините, но мне не понятен Ваш вопрос. Сформулируйте свой вопрос несколько иначе или подождите некоторое время, может быть кто-нибудь на Форуме понял о чём идёт речь и ответит на него.
С уважением, Владимир.
Здраствуйте, коллеги! Подскажите, пожалуйста, как реализовать проверку условий для открытия позиции по закрытию бара? Буду очень благодарен за помощь!
несколько хитрее и чуть сложнее чем по открытию :-)
потому что события "закрытие текущего бара" и "открытие нового бара" не эквивалентны и не совпадают. Не все отписавшиеся об этом подумали (или вообще в курсе дел)
бар закрывается строго по истечению отпущенного периода и ценой закрытия становится цена последнего тика.
бар открывается по истечению одного или более периодов и приходу тика. Ценой открытия становится цена этого тика.
таким образом "открыть сделку (или вообще что-то делать) по закрытию бара" это всё равно что среагировать на таймер.
datetime barTime; // время открытия текущего бара datetime timerNextBar; // таймер для следующего бара void OnTick() { CheckTimers(); datetime tmp=iTime(_Symbol,_Period,0); if (tmp!=barTime) { barTime=tmp; OnBar(); } } void OnTimer() { CheckTimers(); } void CheckTimers() { if (timerNextBar!=0) { if (timerNextBar>TimeCurrent() || timerNextBat> TimeServer()) { OnBarClose(); // <--- бар закрылся timerNextBar=0; } } } // событие - открытие бара void OnBar() { datetime nextBarTime=barTime+PeriodSeconds(); } // событие - закрытие бара void OnBarClose() { }
и это если работать с секундами. В большем разрешении несколько совсем сложнее
Здраствуйте, коллеги! Подскажите, пожалуйста, как реализовать проверку условий для открытия позиции по закрытию бара? Буду очень благодарен за помощь!