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

 
areed breen #:

разработчик пишет эта проверку есть уже(((

areed breen #:

разработчик пишет эта проверку есть уже(((

Неверно, если это будет сделано в

int OnInit()

, индикатор вообще не завершит инициализацию.

 
int OnInit()
  {
//--
DefaultParameters();

   TesterHideIndicators(flag); 
         ArraySetAsSeries(BBup,true);
         ArraySetAsSeries(BBdw,true);
         ArraySetAsSeries(BBmidle,true);
         
         ArraySetAsSeries(BBup2,true);
         ArraySetAsSeries(BBdw2,true);
         
         ArraySetAsSeries(RSIup,true);
         ArraySetAsSeries(RSIdw,true);

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

   countdate=StringSplit(DateNoTrade,u_sep,NoTrade);
   
   if(count==0)
      {
         count=1;
         ArrayResize(MasLots,1);
         MasLots[0]=Symbol();
      }
   
   u_sep2=StringGetCharacter(sep2,0); 
   
   /*int a=0;
   while(a<count)
         {
            string Sym=MasLots[a];
            if(SymbolInfoInteger(Sym,SYMBOL_SELECT)==false||SymbolInfoInteger(Sym,SYMBOL_VISIBLE)==false)
               {
                  SymbolSelect(Sym,true);
               }
            a++;
         }*/
//---
   return(INIT_SUCCEEDED);
  }
 
верный код отправил? )
 
areed breen #:

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

 
areed breen #:

А где проверка SymbolSelect?

 
Vladimir Karputov #:

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

так я не программист.. я на фрилансе заказывал вот воюю сейчас с разработчиком)

 
areed breen #:

так я не программист.. я на фрилансе заказывал вот воюю сейчас с разработчиком)

Вы заплатите кому-нибудь за это!? Здесь комментировать нечего, даже из названия массива не понятно, что имеется в виду!

   /*int a=0;
   while(a<count)
         {
            string Sym=MasLots[a];
            if(SymbolInfoInteger(Sym,SYMBOL_SELECT)==false||SymbolInfoInteger(Sym,SYMBOL_VISIBLE)==false)
               {
                  SymbolSelect(Sym,true);
               }
            a++;
         }*/


 
string Sym=MasLots[a];
            if(SymbolInfoInteger(Sym,SYMBOL_SELECT)==false||SymbolInfoInteger(Sym,SYMBOL_VISIBLE)==false)
               {
                  SymbolSelect(Sym,true);
               }

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

 
Lilita Bogachkova #:

Вы заплатите кому-нибудь за это!?

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

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