Скачать MetaTrader 5

Проверьте пожалуйста правильность кода по условию!

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Хочешь написать технический индикатор? Загляни в Справочник MQL5!
mutantmoscow
44
mutantmoscow 2016.04.10 16:09 

 Данный код должен в себе содержать повторяющийся цикл . После закрытия предыдущих ордеров по ТП должны одновременно открываться один ордер на бай другой на селл с ТП 15. Выдает ошибку в строке for

 

 

for ( ; ; )                                          // Отсутств. Выражения и Условие
       {                                            // Открывающая фигурная скобка
     if(StringFind(OrderComment(),"[tp]")>=0)
       {
     int start()                                  // Спец. функция start()
       {                                          // Открытие BUY
     OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-0*Point,Bid+15*Point);
     return;                                   // Выход из start()
       }
      int start()                                  // Спец. функция start()
       {                                          // Открытие SELL
     OrderSend(Symbol(),OP_SELL,0.1,Ask,3,Bid-0*Point,Bid+15*Point);
     return;                                   // Выход из start()
       }
       }

Alexey Viktorov
6923
Alexey Viktorov 2016.04.10 17:01  
mutantmoscow:

 Данный код должен в себе содержать повторяющийся цикл . После закрытия предыдущих ордеров по ТП должны одновременно открываться один ордер на бай другой на селл с ТП 15. Выдает ошибку в строке for

Чтобы искать в комменте ордера, его (ордер) нужно сначала выбрать из списка ордеров функцией OrderSend() с соответствующими параметрами.

см. документацию.

OrderComment - Торговые функции - Справочник MQL4
OrderComment - Торговые функции - Справочник MQL4
  • docs.mql4.com
OrderComment - Торговые функции - Справочник MQL4
Maxim Kuznetsov
9822
Maxim Kuznetsov 2016.04.10 17:03  
      {                                            // Открывающая фигурная скобка

вот ОНО - всем надо так писать :-)

Maxim Kuznetsov
9822
Maxim Kuznetsov 2016.04.10 17:05  
Alexey Viktorov:

Чтобы искать в комменте ордера, его (ордер) нужно сначала выбрать из списка ордеров функцией OrderSend() с соответствующими параметрами.

см. документацию.

OrderSelect на самом деле, а то сейчас начнут выбирать ордера через Send и форум утонет в вопросах
mutantmoscow
44
mutantmoscow 2016.04.10 17:30  

Maxim Kuznetsov:
OrderSelect на самом деле, а то сейчас начнут выбирать ордера через Send и форум утонет в вопросах

 

Тоесть сначало идет OrderSelect потом цикл потом ордера? 

Sergey Gritsay
6479
Sergey Gritsay 2016.04.10 17:40  
mutantmoscow:

 Данный код должен в себе содержать повторяющийся цикл . После закрытия предыдущих ордеров по ТП должны одновременно открываться один ордер на бай другой на селл с ТП 15. Выдает ошибку в строке for

 

 

for ( ; ; )                                          // Отсутств. Выражения и Условие
       {                                            // Открывающая фигурная скобка
     if(StringFind(OrderComment(),"[tp]")>=0)
       {
     int start()                                  // Спец. функция start()
       {                                          // Открытие BUY
     OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-0*Point,Bid+15*Point);
     return;                                   // Выход из start()
       }
      int start()                                  // Спец. функция start()
       {                                          // Открытие SELL
     OrderSend(Symbol(),OP_SELL,0.1,Ask,3,Bid-0*Point,Bid+15*Point);
     return;                                   // Выход из start()
       }
       }

L для начала вам надо хотя бы изучить как выглядит структура советника, на новых билдах терминала она следующая, это минимальный вариант. 

//+------------------------------------------------------------------+
//|                                                         test.mq4 |
//|                        Copyright 2016, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2016, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   здесь пишем код если необходимо производить какие либо действия при запуске советника на графике
//---
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Expert deinitialization function                                 |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
//---
   здесь пишем код если необходимо производить какие либо действия при удалении советника с графика
//---
  }
//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
  {
//---
   здесь пишем весь осталной функционал требуемого алгоритма
//---
   OrderSend(Symbol(),OP_BUY,0.1,Ask,3,Bid-0*Point,Bid+15*Point);
   OrderSend(Symbol(),OP_SELL,0.1,Ask,3,Bid-0*Point,Bid+15*Point);
  }
//+------------------------------------------------------------------+

 

 И почитать бы вам пару статеек и учебник по MQL4 немного устарел но для изучения основ подойдет

https://www.mql5.com/ru/articles/1510 

https://www.mql5.com/ru/articles/1404 

 https://book.mql4.com/ru

Пример создания эксперта
Пример создания эксперта
  • 2005.12.21
  • MetaQuotes Software Corp.
  • www.mql5.com
Принципы построения пользовательских программ на языке MQL 4 рассматриваются на примере создания простейшей экспертной системы на основе стандартного индикатора MACD.
Alexey Viktorov
6923
Alexey Viktorov 2016.04.10 19:03  
Maxim Kuznetsov:
OrderSelect на самом деле, а то сейчас начнут выбирать ордера через Send и форум утонет в вопросах
Ну, да конечно. Бывает...
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий