Скачать MetaTrader 5
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Планируешь заказать программу? Узнай, как получить желаемый результат
Sergey Ponomarev
22442
Sergey Ponomarev 2015.06.16 13:31 

Есть файл советника mql5 и есть файл индикатора mql5, следовательно, для того чтобы советник работал нужен файл индикатора !

Дело в том, что не могу понять как сделать компиляцию так, чтобы в файле ex5 был советник и индикатор в 1 файле, так как если я делаю компиляцию у меня файл ex5 для советника, ну и для индикатора он тоже отдельный.

Alexander Bereznyak
20997
Alexander Bereznyak 2015.06.16 14:01  
Код индикатора надо встроить в код советника.
o_O
Модератор
23616
o_O 2015.06.16 14:03  

либо внедрить как ресурс

https://www.mql5.com/ru/docs/runtime/resources

Документация по MQL5: Программы MQL5 / Ресурсы
Документация по MQL5: Программы MQL5 / Ресурсы
  • www.mql5.com
Программы MQL5 / Ресурсы - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
Vitalii Ananev
7873
Vitalii Ananev 2015.06.16 14:06  

Или включите индикатор в советник как ресурс

например #resource "\\Indicators\\IndicatorName.ex4" 

и в коде вызывайте его через iCustom(NULL,Period(),"::Indicators\\IndicatorName.ex4",Param1,Param2, и т.д. , Номер буфера,  сдвиг);

 

P.S. Опоздал выше уже ответили. 

George Merts
3527
George Merts 2015.06.16 14:09  
o_O:

либо внедрить как ресурс

А можно в ресурс внедрить просто бинарный файл ? Скажем, даты, сохраненные с помощью стандартной функции CArrayLong ?

Надо попробовать...

Не... Пишет "Unknown resource type"

Жаль.

Alexander Bereznyak
20997
Alexander Bereznyak 2015.06.16 14:58  
ресурс не решает проблемы двух файлов
Sergey Ponomarev
22442
Sergey Ponomarev 2015.06.16 16:19  
o_O:

либо внедрить как ресурс

https://www.mql5.com/ru/docs/runtime/resources

сделал вот так 

#resource "\\Indicators\\SampleIndicator.ex5"
int handle_ind;
//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
  {
//---
   handle_ind=iCustom(_Symbol,_Period,"::Indicators\\SampleIndicator.ex5");
   if(handle_ind==INVALID_HANDLE)
     {
      Print("Expert: iCustom call: Error code=",GetLastError());
      return(INIT_FAILED);
     }
//---
   return(INIT_SUCCEEDED);
  }

всё получилось индикатор привязывается к советнику , но если только убрать обработчик void OnInit(), а если убираю то советник не открывает позиции.

При компилировании пишет  ошибку 'OnInit' - function already defined and has different type N A E.mq5 204 6


Vitalie Postolache
11958
Vitalie Postolache 2015.06.16 16:39  
Sergey Ponomarev:

сделал вот так 


всё получилось индикатор привязывается к советнику , но если только убрать обработчик void OnInit(), а если убираю то советник не открывает позиции.

При компилировании пишет  ошибку 'OnInit' - function already defined and has different type N A E.mq5 204 6


Буфер и параметры индикатора Пушкин указывать будет?
Sergey Ponomarev
22442
Sergey Ponomarev 2015.06.19 16:10  

Отлично) всё сделал) 

подскажите пожалуйста ещё как сделать , чтобы советник

Добавляйл проверку на достаточность средств

Перед отправкой торгового приказа необходимо всегда проверять, достаточно ли на вашем счете свободной маржи для открытия позиции. 

Vitalie Postolache
11958
Vitalie Postolache 2015.06.19 16:48  
Документация по MQL5: Стандартная библиотека / Торговые классы / CAccountInfo / MarginCheck
Документация по MQL5: Стандартная библиотека / Торговые классы / CAccountInfo / MarginCheck
  • www.mql5.com
Стандартная библиотека / Торговые классы / CAccountInfo / MarginCheck - справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
-Aleks-
6709
-Aleks- 2015.06.19 23:28  
Vitalii Ananev:

Или включите индикатор в советник как ресурс

например #resource "\\Indicators\\IndicatorName.ex4" 

и в коде вызывайте его через iCustom(NULL,Period(),"::Indicators\\IndicatorName.ex4",Param1,Param2, и т.д. , Номер буфера,  сдвиг);

 

P.S. Опоздал выше уже ответили. 

Спасибо за полезную информацию! Интересно, если в четверке делать несколько вызовов одного индикатора но по разным графическим буферам, уменьшится ли потребление памяти по сравнению с автономным использованием индикатора, или это простое присоединение типа контейнера и на работе в целом не отражается?
/ /123
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий