Автор Тема: Обучение языку MQL4 под MetaTrader 4  (Прочитано 768260 раз)

Оффлайн 0ll

  • Модератор
  • Финансовый махинатор
  • *****
  • Сообщений: 2626
  • Вес голоса: 15088444
  • 0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума
    • Share Post
  • Награды Слежу за порядком на форуме овер 1к сообщений на форуме Программист MQL Торговля советниками
    • Просмотр профиля
    • Награды
  • Опыт торговли: Нет
  • Rating: 3731
Обучение языку MQL4 под MetaTrader 4
« Ответ #5310 : Ноябрь 29, 2018, 09:45:48 pm »
0

Вы можете писать любую инфу по всем ордерам в строковую переменную, а после закрытия ордеров, выгружать строку в файл - в этом случае задержки практически не будет.

Добавлено: Ноябрь 29, 2018, 09:56:41 pm
Нельзя удалять ордера в прямом цикле перебора. После удаления 0 ордера 1 ордер становится 0-вым, а цикл переходит дальше к 1-му ордеру, который был 2-ым до удаления...
Придумайте другую логику закрытия, например считайте сколько ордеров с начала списка можно удалить, а потом отдельным циклом удаляйте, или через тикеты...
« Последнее редактирование: Ноябрь 29, 2018, 09:56:41 pm от 0ll »

Trade Like A Pro

Обучение языку MQL4 под MetaTrader 4
« Ответ #5310 : Ноябрь 29, 2018, 09:45:48 pm »


Оффлайн molot_1

  • Новичок
  • *
  • Сообщений: 5
  • Вес голоса: 0
  • molot_1 Новенький
    • Share Post
    • Просмотр профиля
    • Награды
  • Опыт торговли: Нет
  • Rating: 1
Обучение языку MQL4 под MetaTrader 4
« Ответ #5311 : Декабрь 03, 2018, 02:22:21 pm »
0

Здравствуйте! Может быть гляните на мои пробы в обучении. Нашёл код трейлинга, вставил в советник, но все ошибки исправить не получается. Пожалуйста помогите или хотя бы исправьте. Заранее спасибо!

Оффлайн 0ll

  • Модератор
  • Финансовый махинатор
  • *****
  • Сообщений: 2626
  • Вес голоса: 15088444
  • 0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума
    • Share Post
  • Награды Слежу за порядком на форуме овер 1к сообщений на форуме Программист MQL Торговля советниками
    • Просмотр профиля
    • Награды
  • Опыт торговли: Нет
  • Rating: 3731
Обучение языку MQL4 под MetaTrader 4
« Ответ #5312 : Декабрь 03, 2018, 10:34:15 pm »
0

Смотри.

Оффлайн Максим1990

  • Новичок
  • *
  • Сообщений: 3
  • Вес голоса: 0
  • Максим1990 Новенький
    • Share Post
    • Просмотр профиля
    • Награды
  • Опыт торговли: < 1 года
  • Rating: 1
Обучение языку MQL4 под MetaTrader 4
« Ответ #5313 : Декабрь 05, 2018, 05:15:11 pm »
0

Доброго времени суток. Изучаю курс и столкнулся с проблемой ошибки при тестировании. в журнале появляется "cannot open file 'C:\Program Files (x86)\MetaTrader 4 - RoboForex\MQL4\indicators\TMA_Fair.ex4' [2]" . Разбираю 3 урок С внешним индикатором. с чем может быть связана данная ошибка и как ее исправить.

Оффлайн 0ll

  • Модератор
  • Финансовый махинатор
  • *****
  • Сообщений: 2626
  • Вес голоса: 15088444
  • 0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума
    • Share Post
  • Награды Слежу за порядком на форуме овер 1к сообщений на форуме Программист MQL Торговля советниками
    • Просмотр профиля
    • Награды
  • Опыт торговли: Нет
  • Rating: 3731
Обучение языку MQL4 под MetaTrader 4
« Ответ #5314 : Декабрь 05, 2018, 05:25:57 pm »
0

"Приведите код вызова индикатора и проверьте наличие файла по указанному пути. Сколько у Вас терминалов?

Оффлайн Максим1990

  • Новичок
  • *
  • Сообщений: 3
  • Вес голоса: 0
  • Максим1990 Новенький
    • Share Post
    • Просмотр профиля
    • Награды
  • Опыт торговли: < 1 года
  • Rating: 1
Обучение языку MQL4 под MetaTrader 4
« Ответ #5315 : Декабрь 05, 2018, 11:00:16 pm »
1

открыл каталог данных из терминала и перекинул туда TMA в папку MQL индикаторы, три терминала установлено. не понял что вы имели в виду "Приведите код вызова индикатора "

Добавлено: Декабрь 05, 2018, 11:08:17 pm
нашел ошибку, в конце названия у индикатора стоял пробел  8-}. теперь все заработало

Добавлено: Декабрь 06, 2018, 05:27:27 pm
Добрый вечер. Помогите найти ошибку. Столкнулся с проблемой в задании 3 урока. Стоп ордер моментально закрывается , при пересечении его ценой, хотя на закрытие я установил только по TP и SL. и не до конца понял правильно ли я добавил сигнал по стахастику. сделки открывает, но когда делаю тестирование с визуализацией мне кажется что как будто что то не так.
« Последнее редактирование: Декабрь 06, 2018, 06:29:07 pm от Максим1990 »

Оффлайн xbms

  • Модератор
  • Финансовый махинатор
  • *****
  • Сообщений: 626
  • Вес голоса: 3753967
  • xbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форума
    • Share Post
  • Награды Открыто более 10 тем Слежу за порядком на форуме Программист MQL
    • Просмотр профиля
    • Награды
  • Опыт торговли: > 5 лет
  • Rating: 555
Обучение языку MQL4 под MetaTrader 4
« Ответ #5316 : Декабрь 06, 2018, 08:05:38 pm »
0

Добавлено: Декабрь 05, 2018, 11:08:17 pm
нашел ошибку, в конце названия у индикатора стоял пробел  8-}. теперь все заработало

Добавлено: Декабрь 06, 2018, 05:27:27 pm
Добрый вечер. Помогите найти ошибку. Столкнулся с проблемой в задании 3 урока. Стоп ордер моментально закрывается , при пересечении его ценой, хотя на закрытие я установил только по TP и SL. и не до конца понял правильно ли я добавил сигнал по стахастику. сделки открывает, но когда делаю тестирование с визуализацией мне кажется что как будто что то не так.

Вечер добрый!

Судя по коду тут многое не так.
Вот это, например, что такое?

NormalizeDouble(OrderModify(ticket, OrderOpenPrice(),SL, TP,0), Digits);

или это?
NormalizeDouble(OrderSend(Symbol(),OP_BUYSTOP,Lots,StopPrice, Slippage,SSL,STP,comment,magic,0,clrBlue),Digits);

а вот ещё, обратите внимание, что после "TMA_Fair" идёт пробел, это уже ошибка, т.к. сам индикатор идёт без пробела:

PriceHigh = iCustom(Symbol(),0,"TMA_Fair ",TimeFrame,HalfLength,Price,ATRMultiplier,ATRPeriod,Interpolate, 1, 0);


Обратите внимание на журнал метатрейдер, обязательно увидите это:

« Последнее редактирование: Декабрь 06, 2018, 08:09:48 pm от xbms »

Оффлайн Максим1990

  • Новичок
  • *
  • Сообщений: 3
  • Вес голоса: 0
  • Максим1990 Новенький
    • Share Post
    • Просмотр профиля
    • Награды
  • Опыт торговли: < 1 года
  • Rating: 1
Обучение языку MQL4 под MetaTrader 4
« Ответ #5317 : Декабрь 06, 2018, 08:37:01 pm »
0

после компеляции у меня выставлял предупреждение(картинка 1) и NormalizeDouble исправил это, остальной код чисто по 3 уроку. кроме NormalizeDouble. ошибку с пробелом я уже нашел и исправил.
На данный момент у меня проблема с 3 заданием по 3 уроку."выше/ниже границ каналов поставить страховочные стоп-ордера на некотором расстоянии от рыночных ордеров, дабы компенсировать убытки при
возможных потерях от рыночных ордеров (с обязательной установкой SL, TP)."
данную задачу я решил вставить код на открытие стоп ордера в момент модификации рыночного, вставляя тутда вот этот код:
StopPrice = OrderOpenPrice() - sureStop*Point;
SSL = NormalizeDouble(StopPrice + StopStopLoss * Point,Digits);// расчитываем стоплос для стоп ордера
STP = NormalizeDouble(StopPrice - StopTakeProfit * Point,Digits);
OrderSend(Symbol(),OP_SELLSTOP,Lots,StopPrice, Slippage,SSL,STP,comment,magic,0,clrBlue);

сам ордер выставляет, но когда цена доходит до стоп ордера он моментом закрывается(картинка 2 и 3)
в чем может быть проблема?

Оффлайн xbms

  • Модератор
  • Финансовый махинатор
  • *****
  • Сообщений: 626
  • Вес голоса: 3753967
  • xbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форума
    • Share Post
  • Награды Открыто более 10 тем Слежу за порядком на форуме Программист MQL
    • Просмотр профиля
    • Награды
  • Опыт торговли: > 5 лет
  • Rating: 555
Обучение языку MQL4 под MetaTrader 4
« Ответ #5318 : Декабрь 07, 2018, 05:42:53 am »
1


Ну так вот же Ваш код:

   
   if(Ask <=PriceMedeum && CountSell()> 0)
      {
         for(int i = OrdersTotal()-1; i >=0; i--)
         {//перебираем ордера которые у нас уже есть
            if(OrderSelect(i,SELECT_BY_POS, MODE_TRADES)== true)
            {// если он выбран, проверяем является ли он нордером с нашим магиком
               if(OrderMagicNumber() == magic && OrderType() == OP_SELL)
                  {
                     NormalizeDouble(OrderClose(OrderTicket(),OrderLots(), Ask, Slippage, clrBlack),Digits);
                  }
            }
         }
       
      }
     
       if(Bid >=PriceMedeum && CountBuy()> 0)
      {
         for(int i = OrdersTotal()-1; i >=0; i--)
         {//перебираем ордера которые у нас уже есть
            if(OrderSelect(i,SELECT_BY_POS, MODE_TRADES)== true)
            {// если он выбран, проверяем является ли он нордером с нашим магиком
               if(OrderMagicNumber() == magic && OrderType() == OP_BUY)
                  {
                     NormalizeDouble(OrderClose(OrderTicket(),OrderLots(), Bid, Slippage, clrBlack),Digits);
                  }
            }
         }
       
      }   
     
   

Все условия выполняются, вот ордера и закрываются, всё честно.

Оффлайн ZelTrad

  • Новичок
  • *
  • Сообщений: 5
  • Вес голоса: 0
  • ZelTrad Новенький
    • Share Post
    • Просмотр профиля
    • Награды
  • Опыт торговли: 3-5 лет
  • Rating: 0
Обучение языку MQL4 под MetaTrader 4
« Ответ #5319 : Декабрь 07, 2018, 12:44:49 pm »
0

Я так понимаю в терминалах MT5 и MT4 один язык программирования mql5 стал?

Оффлайн 0ll

  • Модератор
  • Финансовый махинатор
  • *****
  • Сообщений: 2626
  • Вес голоса: 15088444
  • 0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума
    • Share Post
  • Награды Слежу за порядком на форуме овер 1к сообщений на форуме Программист MQL Торговля советниками
    • Просмотр профиля
    • Награды
  • Опыт торговли: Нет
  • Rating: 3731
Обучение языку MQL4 под MetaTrader 4
« Ответ #5320 : Декабрь 07, 2018, 06:38:03 pm »
0

Пока нет.

Добавлено: Декабрь 07, 2018, 06:39:50 pm
Это Вы точно не туда пошли. Тикет не может "приравняться" это точно.

Оффлайн xbms

  • Модератор
  • Финансовый махинатор
  • *****
  • Сообщений: 626
  • Вес голоса: 3753967
  • xbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форумаxbms Ключевая фигура форума
    • Share Post
  • Награды Открыто более 10 тем Слежу за порядком на форуме Программист MQL
    • Просмотр профиля
    • Награды
  • Опыт торговли: > 5 лет
  • Rating: 555
Re: Обучение языку MQL4 под MetaTrader 4
« Ответ #5321 : Декабрь 07, 2018, 07:57:33 pm »
0

Цитировать
я думал этот код будет закрывать только рыночные ордера OP_SELL и OP_BUY, у меня же открывается OP_BUYSTOP и OP_SELLSTOP, я и думал что этот код их не будет затрагивать. Это может быть из-за того что стоп ордера у меня открываются в месте проверки условия открылся ли рыночный ордер и при ровнялся ему тикет, и тем самым этот тикет присваивается и стоп ордеру. И поэтому стоп ордер проходит проверку в условии закрытия рыночного ордера?? так это  или я совсем не туда пошел в рассуждениях?

STOP-ордер стал рыночным, поэтому он стал BUY или SELL.
Именно поэтому к нему и применяются те же условия.

Да, и спрошу ещё раз, что это значит для Вас?

NormalizeDouble(OrderClose(OrderTicket(),OrderLots(), Ask, Slippage, clrBlack),Digits);

Если Вы хотите избежать предупреждения компилятора, то делать нужно так:

bool res;
res = OrderClose(OrderTicket(),OrderLots(), Ask, Slippage, clrBlack);

if (!res)
{
   // тут обработка ошибок закрытия ордера
   .....
}

NormalizeDouble - это функция, которая нормализует дробное значение и возвращает его.
Вы же пытаетесь нормализовать булевое значение, причём далее его нигде не используя.
bool  OrderClose(
   int        ticket,      // номер ордера
   double     lots,        // количество лотов
   double     price,       // цена закрытия
   int        slippage,    // максимальное проскальзывание
   color      arrow_color  // цвет
   );



Вот я и спрашиваю, какой в этом сакральный смысл?

Оффлайн Bulldoser

  • Интересующийся
  • **
  • Сообщений: 53
  • Вес голоса: 97734
  • Bulldoser Ключевая фигура форумаBulldoser Ключевая фигура форумаBulldoser Ключевая фигура форумаBulldoser Ключевая фигура форумаBulldoser Ключевая фигура форумаBulldoser Ключевая фигура форумаBulldoser Ключевая фигура форумаBulldoser Ключевая фигура форумаBulldoser Ключевая фигура форумаBulldoser Ключевая фигура форумаBulldoser Ключевая фигура форумаBulldoser Ключевая фигура форума
  • King
    • Share Post
    • Просмотр профиля
    • Награды
  • Опыт торговли: 1-3 года
  • Rating: 30
Обучение языку MQL4 под MetaTrader 4
« Ответ #5322 : Декабрь 10, 2018, 12:28:50 pm »
0

ребят а можно сделать такую сову, чтобы я расставил уровни, а он от них открывался. (То есть он работает с предварительно вручную расставленными линиями)?
Не хочу объявлять уровни как константы.

Оффлайн sniv

  • Трейдер
  • ****
  • Сообщений: 327
  • Вес голоса: 1321153
  • sniv Ключевая фигура форумаsniv Ключевая фигура форумаsniv Ключевая фигура форумаsniv Ключевая фигура форумаsniv Ключевая фигура форумаsniv Ключевая фигура форумаsniv Ключевая фигура форумаsniv Ключевая фигура форумаsniv Ключевая фигура форумаsniv Ключевая фигура форумаsniv Ключевая фигура форумаsniv Ключевая фигура форума
  • ))
    • Share Post
    • Просмотр профиля
    • Награды
  • Опыт торговли: < 1 года
  • Rating: 352
Обучение языку MQL4 под MetaTrader 4
« Ответ #5323 : Декабрь 10, 2018, 02:16:27 pm »
0

Вот Вам направление - OBJPROP_PRICE1 OBJPROP_PRICE2 OBJPROP_PRICE3
а если точнее - рисуете обьект, ищите его, открываетесь (или выставляте отложку) по цене найденного обьекта

Оффлайн 0ll

  • Модератор
  • Финансовый махинатор
  • *****
  • Сообщений: 2626
  • Вес голоса: 15088444
  • 0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума0ll Ключевая фигура форума
    • Share Post
  • Награды Слежу за порядком на форуме овер 1к сообщений на форуме Программист MQL Торговля советниками
    • Просмотр профиля
    • Награды
  • Опыт торговли: Нет
  • Rating: 3731
Обучение языку MQL4 под MetaTrader 4
« Ответ #5324 : Декабрь 10, 2018, 10:46:17 pm »
0

Такие совы есть в изобилии, называется: торговля от линий/уровней

Trade Like A Pro

Обучение языку MQL4 под MetaTrader 4
« Ответ #5324 : Декабрь 10, 2018, 10:46:17 pm »


Share via twitter

xx
Обучение языку MQL5 под MetaTrader 5

Автор pavlus777 Уголок Программиста

188 Ответов
26274 Просмотров
Последний ответ Ноябрь 26, 2018, 08:00:30 pm
от MikR0ReR
xx
MetaTrader 4 и JForex

Автор Madjesty Уголок Программиста

15 Ответов
8623 Просмотров
Последний ответ Февраль 22, 2017, 07:52:45 pm
от milyavochka
 

Форекс блог

Стратегии Индикаторы Советники Аналитика

Мы в соцсетях

Группа Вконтакте Facebook Twitter Instagram Телеграмм Одноклассники

Ссылки

Рекомендуемый брокер Инвестиции Форекс Вики Бинарные Опционы

InstaForex
forex4you-C exness D ????_????? Tickmill_small AMarkets forex4you-C