Вопросы Алексею Волчанскому по программированию советников на языке MQL4 - Страница 2
Страница 2 из 3 ПерваяПервая 1 2 3 ПоследняяПоследняя
Показано с 11 по 20 из 30

Тема: Вопросы Алексею Волчанскому по программированию советников на языке MQL4

  1. #11
    Местный Аватар для Александр Яковлев
    Регистрация
    06.11.2012
    Сообщений
    27
    Благодарности
    Получено: 6
    Отправлено: 0
    Добрый день, Алексей. Передаю текст вставленный в мт4 из MQL4_ Лекция3 "Условный операторы if - пример" и результат компиляциию. Самостоятельное исправление ошибок результата не дало, помогите разобраться.

    Код:
    //+------------------------------------------------------------------+
    //| script program start function                                    |
    //+------------------------------------------------------------------+
    int start()
      {
      double buyLevel = 1.31250;
      if (Ask > buyLevel)
      {
    Alert(“Сигнал на покупку! Ask=”, DoubleToStr(Ask, Digits));
    int ticket=OrderSend(Symbol(), OP_BUY, 0.4, Ask, 30, Bid-25*Point, “robot1”, Ask+25*Point, 100, 0, Green);
    if(ticket<0)
    {
    Print(“Ошибка открытия ордера ", GetLastError());
    return(-1);
    }
    }
    else
    {
    Comment(“До сигнала на покупку осталось ”, DoubleToStr(buyLevel - Ask));
    }
    
    
    ', GetLastError());' - double quotes needed	C:\Program Files\MetaTrader 4 - RoboForex\experts\scripts\info1.mq4 (21, 31)

    Вы не можете благодарить!
    Последний раз редактировалось Hamster; 15.11.2012 в 00:07.

  2. #12
    Banned
    Регистрация
    22.10.2012
    Адрес
    Питер
    Сообщений
    599
    Благодарности
    Получено: 253
    Отправлено: 47
    Цитата Сообщение от Александр Яковлев Посмотреть сообщение
    Добрый день, Алексей. Передаю текст вставленный в мт4 из MQL4_ Лекция3 "Условный операторы if - пример" и результат компиляциию. Самостоятельное исправление ошибок результата не дало, помогите разобраться.

    Код:
    //+------------------------------------------------------------------+
    //| script program start function                                    |
    //+------------------------------------------------------------------+
    int start()
      {
         double buyLevel = 1.31250;
         if (Ask > buyLevel)
         {
          Alert(“Сигнал на покупку! Ask=”, DoubleToStr(Ask, Digits));
          int ticket=OrderSend(Symbol(), OP_BUY, 0.4, Ask, 30, Bid-25*Point, “robot1”, Ask+25*Point, 100, 0, Green);
          if(ticket<0)
          {
              Print(“Ошибка открытия ордера ", GetLastError());
              return(-1);
          }
       }
       else
       {
          Comment(“До сигнала на покупку осталось ”, DoubleToStr(buyLevel - Ask));
       }
    ', GetLastError());' - double quotes needed C:\Program Files\MetaTrader 4 - RoboForex\experts\scripts\info1.mq4 (21, 31)
    Александр, как я вчера и предполагал, везде остались неправильные двойные кавычки от PowerPointa, их надо заменять на правильные "
    И не хватает завершающей фигурной скобки } в конце функции, поэтому компилятор и ругался, что не обнаружен конец файла
    И я тоже второпях забыл в DoubleToStr указать количество разрядов после точки. Вот что должно быть в итоге:

    Код:
    int start()
    {
        double buyLevel = 1.31250;
        if (Ask > buyLevel)
        {
            Alert("Сигнал на покупку! Ask=", DoubleToStr(Ask, Digits));
            int ticket=OrderSend(Symbol(), OP_BUY, 0.4, Ask, 30, Bid-25*Point, "robot1", Ask+25*Point, 100, 0, Green);
            if(ticket<0)
            {
                Print("Ошибка открытия ордера ", GetLastError());
                return(-1);
            }
        }
        else
        {
            Comment("До сигнала на покупку осталось ", DoubleToStr(buyLevel - Ask, Digits));
        }
    }
    Для того, чтобы код на этом форуме красиво форматировался, надо нажать внизу справа кнопку "Расширенный режим". Потом вставить код, выделить его мышкой и нажать кнопку в меню сверху, на кнопке изображен значок #

    Вы не можете благодарить!

  3. #13
    Местный Аватар для Александр Яковлев
    Регистрация
    06.11.2012
    Сообщений
    27
    Благодарности
    Получено: 6
    Отправлено: 0
    Алексей, спасибо. Случайные ошибки, помогли понять смысл написанного. До исправления кавычек и вставки скобки я додумался, а количество разрядов-нет. Теперь это в памяти.

    Вы не можете благодарить!

  4. #14
    Banned
    Регистрация
    22.10.2012
    Адрес
    Питер
    Сообщений
    599
    Благодарности
    Получено: 253
    Отправлено: 47
    Цитата Сообщение от Александр Яковлев Посмотреть сообщение
    Алексей, спасибо. Случайные ошибки, помогли понять смысл написанного. До исправления кавычек и вставки скобки я додумался, а количество разрядов-нет. Теперь это в памяти.
    Вот поэтому я не устану повторять - те, кто просто слушает мои курсы, на выходе получат большой жирный НОЛЬ! Плюс разочарование, что опять не повезло, опять ничего не получилось . А те, кто уже пишет первые простенькие программки и делает ДЗ - они добьются успеха, я уверен. Для того, чтобы научиться писать программы, надо их писать, вот такой парадокс ) Осталось 4 занятия, просыпайтесь!

    Вы не можете благодарить!

  5. #15
    Аватар для Robo
    Регистрация
    11.11.2012
    Адрес
    Краснодар
    Сообщений
    3
    Благодарности
    Получено: 0
    Отправлено: 0
    Доброго времени суток! Посоветуйте новичку... Литература, примерчики полегче на практике. Заранее весьма благодарен

    Вы не можете благодарить!

  6. #16
    Banned
    Регистрация
    22.10.2012
    Адрес
    Питер
    Сообщений
    599
    Благодарности
    Получено: 253
    Отправлено: 47
    Цитата Сообщение от Robo Посмотреть сообщение
    Доброго времени суток! Посоветуйте новичку... Литература, примерчики полегче на практике. Заранее весьма благодарен
    Примеры и разбор советников, скриптов и индикаторов есть на наших курсах по MQL4. Что касается литературы, в печатном виде я ее не встречал, на сайте MQL4 есть учебник, хотя, по мнению моих учеников, он не для новичков.

    Вы не можете благодарить!

  7. #17
    Местный
    Регистрация
    23.08.2012
    Сообщений
    28
    Благодарности
    Получено: 1
    Отправлено: 12
    По поводу вопроса, что я задавал, ошибка 129, я перед каждым ордерсендом вписал Sleep(3000);RefreshRates();Sleep(3000); так вроде перестало.
    Больше ничего не помогало.

    Вы не можете благодарить!

  8. #18
    Banned
    Регистрация
    22.10.2012
    Адрес
    Питер
    Сообщений
    599
    Благодарности
    Получено: 253
    Отправлено: 47
    Цитата Сообщение от Dimka-novitsek Посмотреть сообщение
    По поводу вопроса, что я задавал, ошибка 129, я перед каждым ордерсендом вписал Sleep(3000);RefreshRates();Sleep(3000); так вроде перестало.
    Больше ничего не помогало.
    Хмм, странно это все.. Похоже на то, что торговый поток занят. А попробуйте вставить перед OrderSend вот такой код, а потом в лог-файле посмотреть. Лог находbтся в experts\files\Orders.log

    Код:
    extern int BusyCountMax = 50;
    
    int LogFile = FileOpen("Orders.log", FILE_READ |FILE_CSV | FILE_WRITE, ' ');
    FileSeek(LogFile, 0, SEEK_END);
        int busyCount = 0; 
    while(IsTradeContextBusy() || !IsTradeAllowed())
    { string dts = TimeToStr(TimeCurrent(), TIME_DATE | TIME_MINUTES | TIME_SECONDS); FileWrite(LogFile, dts, "Trade context for OrderSend() is busied! busyCount=", busyCount); Sleep(100); RefreshRates(); if(busyCount >= BusyCountMax) { dts = TimeToStr(TimeCurrent(), TIME_DATE | TIME_MINUTES | TIME_SECONDS); FileWrite(LogFile, dts, "Trade context for OrderSend() is busied!!! I am returned!!! busyCount=", busyCount); Alert("Trade context for OrderSend() is busied! "); FileClose(LogFile); return(-1); } busyCount++; }

    Вы не можете благодарить!

  9. #19
    Местный
    Регистрация
    24.03.2012
    Адрес
    Санкт-Петербург
    Сообщений
    25
    Благодарности
    Получено: 4
    Отправлено: 0
    Алексей, где бы почитать подробнее о системе на FantailVMA3. Я так понимаю это адаптивная средняя. Установил шаблон, как описано в ДЗ, получил пучек адаптивных средних с разными параметрами. Не смог сделать "Проверьте
    правильность стратегии на различных таймфреймах в ручном режиме.", по скольку систему то и не понял.

    ---------- Добавлено в 23:40 ---------- Предыдущее сообщение было размещено в 23:22 ----------

    Еще один вопрос-уточнение. Просматривал слайды презентации с третьей лекции. Кажется на странице 5 в пункте 4 маленькая неточность. "Обязательно проверяйте номер тикета на то, что он больше нуля".
    В описании OrderSend сказано что в случае ошибки она возвратит -1, значит проверять надо на <0 - тогда OrderSend завершилась с ошибкой. Если больше или равно нулю, то нам вернули тикет. Интересно кто-то когда-то получал тикет ноль!?

    Вы не можете благодарить!

  10. #20
    Banned
    Регистрация
    22.10.2012
    Адрес
    Питер
    Сообщений
    599
    Благодарности
    Получено: 253
    Отправлено: 47
    1. На странице с этим индикатором http://forex-strategies-revealed.com...g/trend-trades есть два PDF файла с описанием стратегии. На занятии я спросил - все ли понимают английский? Все ответили, что понимают и переводить не нужно. Вы читали эти документы?

    2. Да, Вы правы, спасибо за уточнение. Проверять надо на неравенство -1. И насчет тикета == 0, может ли теоретически вернуть такой тикет ДЦ, мне неизвестно ) Во всяком случае, тестер стратегий начинает отсчет с единицы.

    3. И общий совет, изучайте чужие исходники, их много на этом сайте и на http://codebase.mql4.com/ru/

    Вы не можете благодарить!

Страница 2 из 3 ПерваяПервая 1 2 3 ПоследняяПоследняя

Похожие темы

  1. Вопросы по RAMM API и программированию советников для платформы
    от viktan в разделе Автоматизация торговли в RAMM
    Ответов: 17
    Последнее сообщение: 25.08.2016, 21:48
  2. Нужны ли обучающие видеоролики по программированию на MQL4 / MQL5?
    от Алексей Волчанский в разделе Программирование на MQL
    Ответов: 4
    Последнее сообщение: 26.05.2016, 13:32
  3. Экспресс-курс "Программирование советников на языке MQL4"
    от Антонина Бойкова в разделе Открытый учебный центр
    Ответов: 14
    Последнее сообщение: 22.11.2012, 14:35

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •