Как исправить ошибку 4302 (cannot load indicator) - страница 3

 
и там же стоит эта проверка на включение символов если их нет
 
Mikhail Rudyk #:
хендлы индикаторов далее по коду вызываются в цыкле там где перебираются символы потому что это мультивалютный робот

вот прибыл программист мой :) что не так подскажите ему если он не прав 

 
areed breen #:

вот пишет код отвечающий за проверку

Замените выделенный 


 на этот и отправьте обратно разработчику.

   if(!SymbolSelect(Sym,true))      // selects a symbol in the Market Watch window
     {
      return INIT_FAILED;
     }
 
Mikhail Rudyk #:
хендлы индикаторов далее по коду вызываются в цыкле там где перебираются символы потому что это мультивалютный робот

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Как исправить ошибку 4302 (cannot load indicator)

Vladimir Karputov, 2021.12.21 12:08

*** Напоминаю, что согласно MQL5 стилю, хендл индикатора НУЖНО создавать ОДИН раз и делать это НУЖНО в OnInit.


Исправьте ошибку и создаёте индикаторы согласно MQL5 стилю.

 
Mikhail Rudyk #:
и там же стоит эта проверка на включение символов если их нет

У Вас Ошибка в получении имени символа из ... из массива или из string переменной. В общем нужно аккуратно получать символ и корректно его проверять.

Проблем с вызовом iBands нет - вот код который работал и работает несмотря на обновления:

iBands Open Close Rules
iBands Open Close Rules
iBands Open Close Rules
  • www.mql5.com
Получение сигналов от индикатора iBands (Bollinger Bands, BB), стоп лосс динамический - по индикатору iATR (Average True Range, ATR) и коэффициенту
 
скажите мне пожалуйста как создать индикаторы чтоб робот мог торговать по ним сразу на нескольких валютах пр том что эти валюты будут вводится пользователем
 
вот это имеется в виду

 
string sep=";";                // разделитель в виде символа
   ushort u_sep;                  // код символа разделителя   
   u_sep=StringGetCharacter(sep,0);
   count=StringSplit(SymbolsTrade,u_sep,MasLots);

вот код который из строки закидывает в масив

 
Mikhail Rudyk #:
скажите мне пожалуйста как создать индикаторы чтоб робот мог торговать по ним сразу на нескольких валютах пр том что эти валюты будут вводится пользователем

Строковый параметр разобрать в массив использую разделитель.

Пройти по массиву и если символ существует - создать хендл индикатора. Если хендл успешный - этот хендл записать в массив.

Это всё в OnInit.


В OnTick берёте хендл их массива и при помощи CopyBuffer получаете информацию с индикатора.

 
Mikhail Rudyk #:

вот код который из строки закидывает в масив

Вставляйте, пожалуйста, код правильно: сначала нажимаете кнопку   Code, а затем во всплывающее окно вставляете код.