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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Sofiia Butenko
14248
Sofiia Butenko  

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

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

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

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

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

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

Vitaly Muzichenko
14111
Vitaly Muzichenko  
Galina Bobro:

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

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

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

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

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

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

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

Andrei Fandeev
36127
Andrei Fandeev  

Закладочка.

Konstantin Erin
2161
Konstantin Erin  
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
14248
Sofiia Butenko  
Vitaly Muzichenko:

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

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

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


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

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

Sofiia Butenko
14248
Sofiia Butenko  

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

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


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



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

Sofiia Butenko
14248
Sofiia Butenko  
Ramiz Mavludov:

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

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