MQL4: Как написать ночного скальпера

Добрый день, уважаемые друзья! Продолжаются наши уроки по MQL4 программированию.

В последнее время стала очень популярной работа при помощи ночных скальперов. Живой пример — советник Generic A-TLP. Конечно, в рамках одного урока сложно будет создать советник, хотя бы примерно имеющий такую же результативность, что и робот, создававшийся на протяжении целого года большим количеством форумчан. Но мы изучим основной принцип создания подобных советников, а также в последующих уроках мы улучшим его работу и наш советник обрастет многими полезными функциями. Итак, начнем.

Справочный раздел

Тема на форуме

С уважением, Дмитрий аkа Silentspec
TradeLikeaPro.ru

Уроки по MQL , , , ,
  • sh

    дженерик начал сдавать позиции

    • Silentspec

      А причем тут генерик?

      • ИВАН

        спасибо вам за вашу работу

    • Linhost

      Где? У меня все отлично идет. Моник mynightfly посмотрите.

      • ВЛАДИМИР РЫЖАКОВ

        Как видео может отлично идти,если в двух местах пропуски?

  • Neel

    Большая просьба перезалить видео. Качество даже HD -ужОсс, местами битое(например на 1:21:03) как следствие-потеряно описание по данной процедуре, в целом хочется больше описания -«коментов» по видео,как,зачем,почему. За труд спасибо.

  • ВЛАДИМИР РЫЖАКОВ

    Большое спасибо за Ваш труд!
    Согласен с Neel,хочется больше описания -«коментов» по видео,как,зачем,почему.И ещё одно — когда записываете видео сделайте в метаэдиторе шрифт покрупнее пожалуйста.

  • Игорь

    Переписал советника с видео. Скомпилировал. Все ок.

    Но при тестировании, как будто зависает. В логе мт4 пишет, что начал работу и на этом все. Никаких сделок.

    Просьба уважаемому автору(если не затруднит) выложить исходник советника!

    • ВЛАДИМИР РЫЖАКОВ

      При компиляции есть ошибки , предупреждения?

  • Влад Пономарев

    Инструкция if(OrderOpenPrice()-Ask>ExitProfitPips*_Point && TimeCurrent()-OrderOpenTime()>60*ExitProfitMinutes) return(true); в процедуре ExitTimeProfit(…) не верна, из TimeCurrent() и OrderOpenTime() для сравнения необходимо выделить минуты

    • ВЛАДИМИР РЫЖАКОВ

      Если считаешь,что не верна — напиши свой вариант, правильный и поясни что будет происходить в твоём варианте.

    • Нет, не нужно. Время в языке mql4 измеряется в секундах (нет, не от рождества христова:) от 1970.01.01. Именно до такой даты вглубь истории кстати можно построить график цены в терминале — если вы попробуете загрузить историю с 60-х годов, например, ничего не выйдет. Ну так вот. Время — в секундах с определенной даты. Разница TimeCurrent()-OrderOpenTime() тоже получается в секундах. ExitProfitMinutes мы задаем в минутах, поэтому умножаем на 60 (количество секунд в минуте). И вуаля — получаем нужное нам сравнение — прошло ли ExitProfitMinutes с момента открытия ордера, или нет.

  • Влад Пономарев

    Очень жду продолжения работы над советником, на тестах дает неплохие результаты.