Так и проверьте индикатором, что там голову ломать.
В Ваших расчётах два спреда. Обычно хватает одного. iOpen это Bid, поэтому Bid_Open можно не объявлять. Получая спред из MarketInfo Вы расчитаете правильный текущий Ask, но рискуете получить ошибочный Ask_Open, так как ДЦ в условиях рынка может изменять спред и не факт что в текущий момент он такой же как в момент открытия свечи.
double PriceOpen = iOpen (NULL, 0, 0); double Spread = MarketInfo(Symbol(), MODE_SPREAD)*Point; double Ask_Open = NormalizeDouble(PriceOpen + Spread, Digits); double Bid_Open = NormalizeDouble(PriceOpen, Digits);
Спасибо всем за ответы, не зря я сомневался)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Здравствуйте, в учебнике написано
iOpen - Возвращает значение цены открытия указанного параметром shift бара с соответствующего графика (symbol, timeframe). В случае ошибки функция возвращает 0.
В своем советнике я написал след. код
Но теперь думаю над его правильностью.
Вопрос в следующем. Правильно ли я понял, что iOpen возвращает цену открытия без спрэда?
+ в истории котировок аналогичный вопрос возникает, там цены тоже без спрэда?
Сам я думаю что на 99% прав, но моя паранойя не дает мне покоя.