Как использовать индикатор который не влазит в iCustom

Sofiia Butenko
15206

Индикатор стрелочник MQL4.

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

При попытке вызова через iCustom не влазят параметры, ну слишком их уже много. 

Уже изобрела "систему нипель" на основании анализа пикселей графика, если нет нормального иного решения - скорей всего и выложу потом.

Интересует, а может всетаки можно более адекватным способом добраться к данным индикатора? 

П.С. Разумеется, исходника индикатора нет, иначе бы урезала бы ему параметры

Vitaly Muzichenko
17147
Galina Bobro:

Индикатор стрелочник MQL4.

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

При попытке вызова через iCustom не влазят параметры, ну слишком их уже много. 

Уже изобрела "систему нипель" на основании анализа пикселей графика, если нет нормального иного решения - скорей всего и выложу потом.

Интересует, а может всетаки можно более адекватным способом добраться к данным индикатора? 

П.С. Разумеется, исходника индикатора нет, иначе бы урезала бы ему параметры

Как-то не корректно это звучит)  Не влазят параметры куда, в одну строку метаэдитора? Вроде как нет ограничений на количество входных параметров в iCustom, ну по крайней мере у меня никогда такого не было.

Konstantin Erin
2811
Galina Bobro:

Индикатор стрелочник MQL4.

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

При попытке вызова через iCustom не влазят параметры, ну слишком их уже много. 

Уже изобрела "систему нипель" на основании анализа пикселей графика, если нет нормального иного решения - скорей всего и выложу потом.

Интересует, а может всетаки можно более адекватным способом добраться к данным индикатора? 

П.С. Разумеется, исходника индикатора нет, иначе бы урезала бы ему параметры

Можно указывать только часть первых параметров, идущих подряд. Последние можно отбросить, будут взяты по умолчанию. Еще можно сделать прокладку - свой индикатор, который будет вызывать тот с помощью iCustom и задавать ему набор параметров по умолчанию, а нужные параметры вывести в параметры. Что-то примерно так:

#property indicator_separate_window
#property indicator_buffers  3
#property indicator_color1   clrSilver
#property indicator_color2   clrGray
#property indicator_color3   clrDimGray
#property indicator_width1   2
#property indicator_width2   2
#property indicator_width3   2
#property strict


extern int    BufferNumber1 =  0; // First buffer number (<0 to skip it)
extern int    BufferNumber2 = -1; // Second buffer number (<0 to skip it)
extern int    BufferNumber3 = -1; // Third buffer number (<0 to skip it)
extern string IndicatorName = ""; // Indicator name to use

double Buffer1[],Buffer2[],Buffer3[];

//------------------------------------------------------------------
//
//------------------------------------------------------------------

int init() 
{
   SetIndexBuffer(0,Buffer1);
   SetIndexBuffer(1,Buffer2);
   SetIndexBuffer(2,Buffer3);
   IndicatorShortName(IndicatorName+" buffers ("+(string)BufferNumber1+","+(string)BufferNumber2+","+(string)BufferNumber3+")");
   return(0);
}
int start() 
{
   int counted_bars=IndicatorCounted();
      if(counted_bars<0) return(-1);
      if(counted_bars>0) counted_bars--;
         int limit = MathMin(Bars-counted_bars,Bars-1);
         static datetime lastChecked=0;
         static bool     checked    =false;
                if (!checked&&lastChecked!=Time[0])
                {
                     ResetLastError(); double dummy = iCustom(NULL,0,IndicatorName,0,0); checked = (GetLastError()==0); lastChecked=Time[0];
                }
                if (!checked) { Comment("Problem loading "+IndicatorName+"\nCheck the indicator name"); return(0); }
         
    
   for(int i=limit; i>=0; i--)
   {
      if (BufferNumber1>=0) Buffer1[i] = iCustom(NULL,0,IndicatorName,BufferNumber1,i);
      if (BufferNumber2>=0) Buffer2[i] = iCustom(NULL,0,IndicatorName,BufferNumber2,i);
      if (BufferNumber3>=0) Buffer3[i] = iCustom(NULL,0,IndicatorName,BufferNumber3,i);
   }
   return(0); 
}
Sofiia Butenko
15206
Vitaly Muzichenko:

Как-то не корректно это звучит)  Не влазят параметры куда, в одну строку метаэдитора? Вроде как нет ограничений на количество входных параметров в iCustom, ну по крайней мере у меня никогда такого не было.

Попробуйте указать 200+ параметров и увидете ограничение. Уже второй раз сталкиваюсь 
Sofiia Butenko
15206
STARIJ:

Можно указывать только часть первых параметров, идущих подряд. Последние можно отбросить, будут взяты по умолчанию. Еще можно сделать прокладку - свой индикатор, который будет вызывать тот с помощью iCustom и задавать ему набор параметров по умолчанию, а нужные параметры вывести в параметры. 


За задание части не подумала, сейчас попробую, но сомневаюсь что и это влезет.

С примером не поняла - вы же его вызываете с параметрами по умолчанию (писала в первом посте что не подходит), а нужно настраивать хоть как нибудь..  

Sofiia Butenko
15206

Проверила - на 59-м пераметре iCustom не лезет. 

'iCustom' - wrong parameters count      _add_indicator.mq4      476     11
Думала моет есть какой-то другой способ поменять по умолчанию настройки, как в тестере сеты автоматически сохраняются 
Taras Slobodyanik
49921
а если попробовать через дефайны?
по 58 штук в каждом)
Ramiz Mavludov
17176
Galina Bobro:


При попытке вызова через iCustom не влазят параметры, ну слишком их уже много. 



Уберите часть параметров, вернее удалите extern. 

Sofiia Butenko
15206
Ramiz Mavludov:

Уберите часть параметров, вернее удалите extern. 

В закрытом коде... читайте первый пост
Sofiia Butenko
15206
Taras Slobodyanik:
а если попробовать через дефайны?
по 58 штук в каждом)
Это что? Можно чуть конкретнее?