Торговые системы: Файл Lite_EXPERT2.mqh - практические примеры реализации экспертов
Здравствуйте спасибо за общественно-полезное дело. Вопрос: //---- Проверка значения переменной Timeframe_Up на корректность TimeframeCheck("Timeframe_Up", Timeframe_Up); Здесь происходит проверка => Timeframe_Up!=0 Period_Up = Timeframe_Up * 60; // период графика для лонгов в секундах //---- Получение предела времени на запрет следующей торговой операции TradeTimeLevel_Dn = iTime(NULL, Timeframe_Dn, 0) + Period_Dn; if (TradeTimeLevel_Dn == 0) return(-1); Но т.к. Period_Up в любом случае не равен 0, то зачем проверка на TradeTimeLevel_Dn == 0? И даже если предположить что как-то это дело станет равным нулю, то на следующем тике в принципе IsNewBar(0, Symbol(), Timeframe_Up) вернет false как я понимаю? т.к. произойдет досрочный выход из start() и 1-й бар будет для советника по сути потерян, или я что-то упустил. Спасибо.
1.Спасибо за полезную информацию.
2. Опечатка?в Exp_17.mq4 ://| КОД ДЛЯ КОРОТКИХ ПОЗИЦИЙ |
//+---------------------------+
if (Test_Up)... Правильно -Test_Dn?
Здравствуйте спасибо за общественно-полезное дело. Вопрос: //---- Проверка значения переменной Timeframe_Up на корректность TimeframeCheck("Timeframe_Up", Timeframe_Up); Здесь происходит проверка => Timeframe_Up!=0 Period_Up = Timeframe_Up * 60; // период графика для лонгов в секундах //---- Получение предела времени на запрет следующей торговой операции TradeTimeLevel_Dn = iTime(NULL, Timeframe_Dn, 0) + Period_Dn; if (TradeTimeLevel_Dn == 0) return(-1); Но т.к. Period_Up в любом случае не равен 0, то зачем проверка на TradeTimeLevel_Dn == 0? И даже если предположить что как-то это дело станет равным нулю, то на следующем тике в принципе IsNewBar(0, Symbol(), Timeframe_Up) вернет false как я понимаю? т.к. произойдет досрочный выход из start() и 1-й бар будет для советника по сути потерян, или я что-то упустил. Спасибо.
Да! Получился маленький прокол! Первоначально должно быть вот так:
//---- Получение предела времени на запрет // следующей торговой операции TradeTimeLevel_Dn = iTime(NULL, Timeframe_Dn, 0); if (TradeTimeLevel_Dn == 0) return(-1); TradeTimeLevel_Dn += Period_Dn;
1.Большое спасибо автору за статьи, которые помогают съэкономить много личного времени при программировании.
2. Правильно ли я понимаю? В Lite_EXPERT2.mqh .dOpenSellLimitOrder1_(),в LEVEL = (dLEVEL - Bid) / digits;вместо digits должно быть point?
3.В чем отличие Lite_EXPERT2_.mqh от Lite_EXPERT2.mqh, в применении ?
1.Большое спасибо автору за статьи, которые помогают съэкономить много личного времени при программировании.
2. Правильно ли я понимаю? В Lite_EXPERT2.mqh .dOpenSellLimitOrder1_(),в LEVEL = (dLEVEL - Bid) / digits;вместо digits должно быть point?
3.В чем отличие Lite_EXPERT2_.mqh от Lite_EXPERT2.mqh, в применении ?
2. Да! Всё верно! Вы правильно поняли. Несовсем понятно, как мне удалось сделать такой ляп, но факт в том, что он получился!
3. При установке ордеров файл Lite_EXPERT2_.mqh подаёт звуковой сигнал PlaySound("ok.wav"), эта функция в тестере не работает!
1.Спасибо за ответ.
2.Почему Переменная Number в Exp_17.mq4 для //| КОД ДЛЯ ДЛИННЫХ ПОЗИЦИЙ |/if (IsNewBar(0, Symbol(), Timeframe_Up)),= 0, а в
//| КОД ДЛЯ КОРОТКИХ ПОЗИЦИЙ |if (IsNewBar(1, Symbol(), Timeframe_Dn)),=1?
,
Потому что код для коротких и код для длинных позиций - это два абсолютно разных эксперта, у каждого из которых свой вариант функции IsNewBar(), а переменная Number определяет номер варианта.
---
Hello....Is there any chance to view this article (and attachments) translated in english?
I've read all the previous articles from Nikolay .... he always made great jobs.
Thanks.
New article Файл Lite_EXPERT2.mqh - практические примеры реализации экспертов has been published:
Author: Nikolay Kositsin