Любые вопросы новичков по MQL4 и MQL5, помощь и обсуждение по алгоритмам и кодам - страница 42
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Artyom Trishkin:
...Получили-то верно, но не с того бара. Это нужно знать и учитывать.
Т.е., при мультитаймовом получении данных нужно опираться на время, и пересчитывать его в номер бара на нужном тф.
Спасибо, за пояснения.
Получается, что если вызвать индикатор в советнике вот так
и запустить советник на Н1 то показания индикатора не будут получены с Н4 первого бара.
Какие тогда получаю показания индикатора, и как правильно сделать, чтобы получить корректные показания со старшего т.ф?int TimeFrame = 240;
ozy_verh=NormalizeDouble(iCustom(NULL, TimeFrame, "Ozy", Amplitude,3,iBarShift(Symbol(),TimeFrame,iTime(Symbol(),TimeFrame,1)) ), Digits);
Так, будут верные значения индикатора с Н4?
Спасибо, за пояснения.
Получается, что если вызвать индикатор в советнике вот так
и запустить советник на Н1 то показания индикатора не будут получены с Н4 первого бара.
Какие тогда получаю показания индикатора, и как правильно сделать, чтобы получить корректные показания со старшего т.ф?int TimeFrame = 240;
ozy_verh=NormalizeDouble(iCustom(NULL, TimeFrame, "Ozy", Amplitude,3,iBarShift(Symbol(),TimeFrame,iTime(Symbol(),TimeFrame,1)) ), Digits);
Так, будут верные значения индикатора с Н4?
Если вызвать индикатор так, как написали вы:
то данные индикатора будут получены с текущего символа, с периода PERIOD_H4, с четвёртого буфера, и с первого бара на таймфрейме H4.
Вы наверное не совсем верно поняли то, о чём я вам говорил.
А говорил я вот о чём: если советник запущен на М5, и вы получаете в него данные с бара 1 на М5, то если захотите поглядеть что там происходит на старшем тф, например с Н1, то, получая значение со старшего тф Н1 тоже с бара 1, вы получите не текущие значения, которые на тф Н1 сейчас, а те, которые были на прошлом часе. Потому, что бар 1 на М5 находится внутри бара 0 на Н1.
Вот это вы и должны учитывать, и вот об этом я как раз говорил.
Я о журнале в тестере
Добавлено: Соберите код до нормального состояния, пересмотрите его, потом запустите в тестере и почитайте в журнале ошибки. Вы сюда даёте огрызки кода
Вот. Я понимаю про проверки но не понимаю откуда он берется.
Вот это вы и должны учитывать, и вот об этом я как раз говорил.
Если ставлю советник на М 5 а хочу получить значение индикатора с Н1, с первого бара то следующая запись верна?
Если ставлю советник на М 5 а хочу получить значение индикатора с Н1, с первого бара то следующая запись верна?
Нет. Вместо 1:
int _n = iBarShift(Symbol(), PERIOD_CURRENT, _time1);
// ваша формула
ozy_verh=NormalizeDouble(iCustom(NULL, 60, "Ozy", Amplitude, 3, _n), Digits);
Oksana Berenko:
...но у вас не будет открыт еще и график H1, то надо делать еще доп. проверку.
Спасибо.
Открыт один график М5, на нём установлен советник вызывающий индикатор с Н1 , так как вы написали.
Какие ещё нужны проверки?
Если ставлю советник на М 5 а хочу получить значение индикатора с Н1, с первого бара то следующая запись верна?
Верна. Смотря с первого бара какого тф вам нужны данные...
Похоже, вы так и не поняли о чём я говорил...
Добрый день ..
if (OrderType()==OP_BUY) CloseOpBuySell("SELL");
меня интересует просто левая часть OrderType()==OP_SELL
правая работает когда туда подставляешь какой либо сигнал
Вопрос:"Будет ли срабатывать такое закрытие?"
Здравствуйте подскажите пожалуйста в чем основные отличия мт4 от мт5. ?не вижу существенных различий.