Помощь в кодировании - страница 31

 

Работаю с многомерным массивом, заблокировался на такой простой вещи...

Здравствуйте, господа,

Просто пытаюсь получить ячейку из массива в строке экрана (тот же результат сообщение Alert), он пропустить что-то это точно, но весь день на это и я не понимаю, почему...

Помощь была бы очень кстати ... ...

вот так :

//+------------------------------------------------------------------+

//| !XTEST sur arrays.mq4 |

//| |

//| |

//+------------------------------------------------------------------+

#property copyright ""

#property link ""

#property indicator_chart_window

extern int Coin = 1 ;

extern int X_Col = 700 ;

extern int Y_Ligne = 30 ;

extern string FontCar = "Arial" ;

extern int TailCar = 14 ;

extern color Couleur = Lime ;

extern int X = 1;

//+------------------------------------------------------------------+

//| Пользовательская функция инициализации индикатора |

//+------------------------------------------------------------------+

string Tab1dim[2];

string Tab2dim[2,2];

string Tab3dim[2,2,2];

string Tab4dim[2,2,2,2];

// 5eme Dimension de tableau non autorisée . int Tab5dim[20,20,20,80,2];

int init()

{

//---- индикаторы

string Tab1dim[2]={"tab1-c0","tab1C1"};

//----

return(0);

}

//+------------------------------------------------------------------+

//| Пользовательская функция деинициализации индикатора |

//+------------------------------------------------------------------+

int deinit()

{

//----

ObjectDelete("R");

//----

return(0);

}

//+------------------------------------------------------------------+

//| Пользовательская функция итерации индикатора |

//+------------------------------------------------------------------+

int start()

{

//----

Tab1dim[2]={"tab1-c0","tab1C1"};

string affich=Tab1dim[0];

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

ObjectCreate ("A1", OBJ_LABEL, 0, 0, 0, 0 );

ObjectSet ("A1", OBJPROP_CORNER, Coin );

ObjectSet ("A1", OBJPROP_XDISTANCE, X_Col );

ObjectSet ("A1", OBJPROP_YDISTANCE,Y_Ligne );

ObjectSetText("A1", affich, TailCar, FontCar , Couleur );

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

Alert(affich);

//----

return(0);

}

//+------------------------------------------------------------------+

Заранее спасибо.

 

...

Попробуйте вот так(инициализация массива делается по-другому) :

//+------------------------------------------------------------------+

//| !XTEST sur arrays.mq4 |

//| |

//| |

//+------------------------------------------------------------------+

#property copyright ""

#property link ""

#property indicator_chart_window

extern int Coin = 1 ;

extern int X_Col = 10 ;

extern int Y_Ligne = 10 ;

extern string FontCar = "Arial" ;

extern int TailCar = 14 ;

extern color Couleur = Lime ;

extern int X = 1;

//+------------------------------------------------------------------+

//| Custom indicator initialization function |

//+------------------------------------------------------------------+

string Tab1dim[] = {"tab1-c0","tab1C1"};

string Tab2dim[2,2];

string Tab3dim[2,2,2];

string Tab4dim[2,2,2,2];

// 5eme Dimension de tableau non autorisée . int Tab5dim[20,20,20,80,2];

int init()

{

//---- indicators

string Tab1dim[2]={"tab1-c0","tab1C1"};

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator deinitialization function |

//+------------------------------------------------------------------+

int deinit()

{

//----

ObjectDelete("A1");

//----

return(0);

}

//+------------------------------------------------------------------+

//| Custom indicator iteration function |

//+------------------------------------------------------------------+

int start()

{

//----

string affich=Tab1dim[0];

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

ObjectCreate ("A1", OBJ_LABEL, 0, 0, 0 );

ObjectSet ("A1", OBJPROP_CORNER,Coin );

ObjectSet ("A1", OBJPROP_XDISTANCE,X_Col );

ObjectSet ("A1", OBJPROP_YDISTANCE,Y_Ligne );

ObjectSetText("A1",affich,TailCar, FontCar , Couleur );

//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//

//----

return(0);

}

//+------------------------------------------------------------------+

Ilevna:
Привет, мистеры,

Просто пытаюсь получить ячейку из массива в строке экрана (тот же результат сообщение Alert), он пропустить что-то это точно, но весь день на это и я не понимаю, почему....

Помощь была бы очень кстати ... ...

вот оно:

Заранее спасибо.
 
mladen:
Попробуйте так (инициализация массива выполняется по-другому) :

//+------------------------------------------------------------------+

//| !XTEST sur arrays.mq4 |

//| |**************

Спасибо большое, это работает хорошо, но я не понимаю, зачем это нужно, ведь обычно мы можем объявить, или в глобальной области видимости, или внутри функции, что-то вроде того, как написано в руководстве: double Tab2Dim[2*n-3]; или еще

int [] values =new int[3];

values[0]=5;

values[1]=values[0]*2;

values[2]=values[1]*2;

но это хорошо для моего конечного дня, спасибо, сэр.

 

...

Вы можете частично решить эту проблему с помощью функции ArrayResize() (таким образом вы можете иметь динамически изменяемые размеры массивов).

Проблема в том, что ArrayResize() работает только для массивов одной размерности и первой размерности массива (например, если у вас есть массив array[][2], вы можете изменить его размер с помощью ArrayResize() на что-то вроде этого array[anySize][2]). Любое последующее измерение (начиная со второго измерения f массивов и выше) должно иметь постоянный размер, известный во время компиляции

Ilevna:
Спасибо большое, это работает хорошо, но я не понимаю, зачем это нужно, ведь обычно мы можем объявить, или в глобальной области видимости, или внутри функции, что-то вроде того, как написано в руководстве: double Tab2Dim[2*n-3]; или еще

int [] values =new int[3];

values[0]=5;

values[1]=values[0]*2;

values[2]=values[1]*2;

Но это очень полезно для моего дня, спасибо, сэр.
 

Помощь по моему индикатору диапазонов

Привет всем,

После того, как я перепробовал множество Band ind, таких как jband, tmaband и т.д.. наконец, я решил написать свой собственный Band Indicator,

В приложении вы найдете мой Band индикатор, но когда EA вызывает его Low Band линия дает нулевой делитель, я посмотрел мой код там нет делителя зеро,

Если у вас есть идеи или опыт в этом вопросе, пожалуйста, помогите мне решить проблему.

спасибо заранее....

Файлы:
aband.gif  20 kb
 

...

Без исходников (или без кода вызова пользовательского индикатора) ничего сказать невозможно. Если ваш индикатор работает, значит ошибка в вашем советнике.

kemal44:
Привет всем,

После того, как я перепробовал множество Band ind, таких как jband, tmaband и т.д... в итоге я решил написать свой собственный индикатор Band,

В приложении вы найдете мой индикатор Band, но когда советник вызывает его, линия Low Band дает нулевой делитель, я посмотрел свой код, там нет нулевого делителя,

Если у вас есть идеи или опыт в этом вопросе, пожалуйста, помогите мне решить проблему.

спасибо заранее....
 

Нужна помощь в кодировании советника по пересечению МА

Здравствуйте, ребята,

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

Идея заключается в следующем.

1-минутный график - 3 EMA и 8 SMA.

Если 3 EMA пересекается ниже 8 SMA, продаем валютную пару с TP и SL, заданными в параметрах.

Если 3 EMA пересекает выше 8 SMA, покупайте валютную пару с TP и SL, установленными по параметрам.

Я не знаю, возможно ли закодировать такую простую MA ea, но буду очень признателен, если кто-то сможет мне помочь.

Заранее спасибо!

 

...

Вы заглянули в эту тему: https: //www.mql5.com/en/forum/general?

jacktrader:
Здравствуйте, ребята,

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

Идея заключается в следующем.

1-минутный график - 3 EMA и 8 SMA.

Если 3 EMA пересекается ниже 8 SMA, продаем валютную пару с TP и SL, заданными в параметрах.

Если 3 EMA пересекает выше 8 SMA, покупайте валютную пару с TP и SL, установленными по параметрам.

Я не знаю, возможно ли закодировать такую простую MA ea, но буду очень признателен, если кто-то сможет мне помочь.

Заранее спасибо!
 
kemal44:
Привет всем,

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

В приложении вы найдете мой индикатор Band, но когда советник вызывает его, линия Low Band дает нулевой делитель, я посмотрел свой код, там нет нулевого делителя,

Если у вас есть идеи или опыт в этом вопросе, пожалуйста, помогите мне решить проблему.

спасибо заранее....

Вот код для полосы ind.

Советник вызывает сигналы в середине и вверх, но низкая полоса является проблемой для меня,

//+------------------------------------------------------------------+

//| IndicatorPlan.mq4 |

//| Copyright © 2007, MetaQuotes Software Corp. |

//| Торговая платформа MetaTrader 5 / MetaQuotes Software Corp. |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2007, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net/"

//---- рисование индикатора в главном окне

#property indicator_chart_window

//---- количество буферов индикатора

#property indicator_buffers 3

//---- цвет индикатора

#property indicator_color1 Gold

#property indicator_color2 Magenta

#property indicator_color3 BlueViolet

//---- ВХОДНЫЕ ПАРАМЕТРЫ ИНДИКАТОРА

extern int MBand_Period = 15;

extern int UpBand_Period = 15;

extern int DnBand_Period = 15;

extern int ABand_Timeframe =15;

extern int shift =0;

//---- индикаторные буферы

double Ind_Buffer0[];

double Ind_Buffer1[];

double Ind_Buffer2[];

double Ind_Buffer3[];

double Ind_Buffer4[];

//+------------------------------------------------------------------+

//| Пользовательская функция инициализации индикатора |

//+------------------------------------------------------------------+

int init()

{

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));

IndicatorShortName("ABand "+ABand_Timeframe);

//---- определение стиля исполнения графика

SetIndexStyle(0, DRAW_LINE);

SetIndexLabel(0, "MBand "+MBand_Period);

SetIndexStyle(2, DRAW_LINE);

SetIndexLabel(2, "UpBand "+UpBand_Period);

SetIndexStyle(1, DRAW_LINE);

SetIndexLabel(1, "DnBand "+DnBand_Period);

//---- 3 индикаторных буфера используются для расчета

IndicatorBuffers(5);

SetIndexBuffer(0, Ind_Buffer0);

SetIndexBuffer(1, Ind_Buffer1);

SetIndexBuffer(2, Ind_Buffer2);

SetIndexBuffer(3, Ind_Buffer3);

SetIndexBuffer(4, Ind_Buffer4);

//---- óñòàíîâêà íîìåãà áàãà, íà÷èíàÿ ñ êîòîðîãî áóäåò îòãèñîâûâàòüñÿ èíäèêàòîã

//---- Óñòàíîâêà ôóãìàòà òî÷íîñòè îòîáðàæåíèÿ èíäèêàòîãà

IndicatorDigits(Digits);

//---- ğàçìåğ êàíàëà â ïóíêòàõ

//---- конец инициализации

return(0);

}

//+------------------------------------------------------------------+

//| Пользовательская итерационная функция индикатора |

//+------------------------------------------------------------------+

int start()

{

//---- Ïğîâåãêà êîëè÷åñòâà áàãîâ íà äîñòàòî÷íîñòü äëÿ äàëüíåéøåãî ғàñ÷¸òà

if(Bars < MBand_Period + UpBand_Period + DnBand_Period)

return(0);

//---- İÌÓËßÖÈß ÈÍÄÈÊÀÒÎĞÍÛÕ ÁÓÔÅĞÎÂ

if(ArraySize(Ind_Buffer0) < Bars)

{

ArraySetAsSeries(Ind_Buffer0, false);

ArraySetAsSeries(Ind_Buffer1, false);

ArraySetAsSeries(Ind_Buffer2, false);

ArraySetAsSeries(Ind_Buffer3, false);

ArraySetAsSeries(Ind_Buffer4, false);

//----

ArrayResize(Ind_Buffer0, Bars);

ArrayResize(Ind_Buffer1, Bars);

ArrayResize(Ind_Buffer2, Bars);

ArrayResize(Ind_Buffer3, Bars);

ArrayResize(Ind_Buffer4, Bars);

//----

ArraySetAsSeries(Ind_Buffer0, true);

ArraySetAsSeries(Ind_Buffer1, true);

ArraySetAsSeries(Ind_Buffer2, true);

ArraySetAsSeries(Ind_Buffer3, true);

ArraySetAsSeries(Ind_Buffer4, true);

}

//----+ ÂÂÅÄÅÍÈÅ ÑÒÀÒÈ×ÅÑÊÎÉ ÖÅËÎÉ ÏÅĞÅÌÅÍÍÎÉ ÏÀÌßÒÈ

static int IndCounted;

//----+ Вставка переменных с плавающей точкой

double Resalt0, Resalt1, Resalt2;

double price;

//----+ Вставка целочисленных переменных и получение рассчитанных баров

int limit, MaxBar,bar, counted_bars = IndicatorCounted();

int i,k;

//---- проверка на возможные ошибки

if(counted_bars < 0)

return(-1);

//---- последний подсчитанный бар должен быть пересчитан

if(counted_bars > 0)

counted_bars--;

//---- определение номера самого старого бара,

//начиная с которого будут пересчитываться новые бары

limit = Bars - counted_bars - 1;

//----, определяющий номер самого старого бара,

// начиная с которого будут пересчитываться новые бары

MaxBar = Bars - 1 - (MBand_Period + UpBand_Period + DnBand_Period);

//---- инициализация нуля

if(limit > MaxBar)

{

limit = MaxBar;

for(bar = Bars - 1; bar >= MaxBar; bar--)

{

Ind_Buffer0 = 0.0;

Ind_Buffer1 = 0.0;

Ind_Buffer2 = 0.0;

Ind_Buffer3 = 0.0;

Ind_Buffer4 = 0.0;

}

}

//----+ ПЕРВЫЙ ЦИКЛ РАСЧЕТА ИНДИКАТОРА

i=Bars-DnBand_Period;

if(counted_bars>DnBand_Period) i=Bars-counted_bars-1;

while(i>=0)

{

i=Bars-DnBand_Period;

if(counted_bars>DnBand_Period) i=Bars-counted_bars-1;

while(i>=0)

{

double min=1000000;

k=i+DnBand_Period-1;

while(k>=i)

{

price=Resalt1[k];

if(min>price) min=price;

k--;

}

Ind_Buffer1=min;

i--;

}

}

for(i=0; i<limit; i++)

{

// Здесь код вычисления переменной Resalt0

// на основе значений буфера UpBand[]

// и внешней переменной Resalt0

Ind_Buffer3 =iMAOnArray(Ind_Buffer1,limit,DnBand_Period ,shift, ma_method,i);

}

//----+ ВТОРОЙ ЦИКЛ РАСЧЕТА ИНДИКАТОРА

{

i=Bars-UpBand_Period;

if(counted_bars>UpBand_Period) i=Bars-counted_bars-1;

while(i>=0)

{

double max=-1000000;

k=i+UpBand_Period-1;

while(k>=i)

{

price=Resalt2[k];

if(max<price) max=price;

k--;

}

Ind_Buffer2=max;

i--;

}

}

//---- сигнальная линия - простое среднее значение movimg

for(i=0; i<limit; i++)

{

// Здесь код вычисления переменной Resalt0.

// на основе значений буфера UpBand[]

// и внешней переменной Resalt0

Ind_Buffer4 =iMAOnArray(Ind_Buffer2,limit,UpBand_Period,shift, ma_method,i);

}

//----+ ОСНОВНОЙ ЦИКЛ РАСЧЕТА ИНДИКАТОРА.

//---- сигнальная линия - простое скользящее среднее

for(i=0; i<limit; i++)

{

//Здесь код расчета переменной Resalt0

// на основе значений буфера UpBand[]

// и внешней переменной Ind_Buffer0

Ind_Buffer0 =(Ind_Buffer2+Ind_Buffer1)/2;

}

return(0);

}

//+------------------------------------------------------------------+

 

...

Можете ли вы написать, как вы используете вызов iCustom()?

kemal44:
ЗДЕСЬ приведен код для группы ind.

EA вызывает средний и верхний сигнал, но низкий диапазон является проблемой для меня,

//+------------------------------------------------------------------+

//| IndicatorPlan.mq4 |

//| Copyright © 2007, MetaQuotes Software Corp. |

//| Торговая платформа MetaTrader 5 / MetaQuotes Software Corp. |

//+------------------------------------------------------------------+

#property copyright "Copyright © 2007, MetaQuotes Software Corp."

#property link "http://www.metaquotes.net/"

//---- рисование индикатора в главном окне

#property indicator_chart_window

//---- количество буферов индикатора

#property indicator_buffers 3

//---- цвет индикатора

#property indicator_color1 Gold

#property indicator_color2 Magenta

#property indicator_color3 BlueViolet

//---- ВХОДНЫЕ ПАРАМЕТРЫ ИНДИКАТОРА

extern int MBand_Period = 15;

extern int UpBand_Period = 15;

extern int DnBand_Period = 15;

extern int ABand_Timeframe =15;

extern int shift =0;

//---- индикаторные буферы

double Ind_Buffer0[];

double Ind_Buffer1[];

double Ind_Buffer2[];

double Ind_Buffer3[];

double Ind_Buffer4[];

//+------------------------------------------------------------------+

//| Пользовательская функция инициализации индикатора |

//+------------------------------------------------------------------+

int init()

{

IndicatorDigits(MarketInfo(Symbol(),MODE_DIGITS));

IndicatorShortName("ABand "+ABand_Timeframe);

//---- определение стиля исполнения графика

SetIndexStyle(0, DRAW_LINE);

SetIndexLabel(0, "MBand "+MBand_Period);

SetIndexStyle(2, DRAW_LINE);

SetIndexLabel(2, "UpBand "+UpBand_Period);

SetIndexStyle(1, DRAW_LINE);

SetIndexLabel(1, "DnBand "+DnBand_Period);

//---- 3 индикаторных буфера используются для расчета

IndicatorBuffers(5);

SetIndexBuffer(0, Ind_Buffer0);

SetIndexBuffer(1, Ind_Buffer1);

SetIndexBuffer(2, Ind_Buffer2);

SetIndexBuffer(3, Ind_Buffer3);

SetIndexBuffer(4, Ind_Buffer4);

//---- óñòàíîâêà íîìåãà áàãà, íà÷èíàÿ ñ êîòîðîãî áóäåò îòãèñîâûâàòüñÿ èíäèêàòîã

//---- Óñòàíîâêà ôóãìàòà òî÷íîñòè îòîáðàæåíèÿ èíäèêàòîãà

IndicatorDigits(Digits);

//---- ğàçìåğ êàíàëà â ïóíêòàõ

//---- конец инициализации

return(0);

}

//+------------------------------------------------------------------+

//| Пользовательская итерационная функция индикатора |

//+------------------------------------------------------------------+

int start()

{

//---- Ïğîâåãêà êîëè÷åñòâà áàãîâ íà äîñòàòî÷íîñòü äëÿ äàëüíåéøåãî ғàñ÷¸òà

if(Bars < MBand_Period + UpBand_Period + DnBand_Period)

return(0);

//---- İÌÓËßÖÈß ÈÍÄÈÊÀÒÎĞÍÛÕ ÁÓÔÅĞÎÂ

if(ArraySize(Ind_Buffer0) < Bars)

{

ArraySetAsSeries(Ind_Buffer0, false);

ArraySetAsSeries(Ind_Buffer1, false);

ArraySetAsSeries(Ind_Buffer2, false);

ArraySetAsSeries(Ind_Buffer3, false);

ArraySetAsSeries(Ind_Buffer4, false);

//----

ArrayResize(Ind_Buffer0, Bars);

ArrayResize(Ind_Buffer1, Bars);

ArrayResize(Ind_Buffer2, Bars);

ArrayResize(Ind_Buffer3, Bars);

ArrayResize(Ind_Buffer4, Bars);

//----

ArraySetAsSeries(Ind_Buffer0, true);

ArraySetAsSeries(Ind_Buffer1, true);

ArraySetAsSeries(Ind_Buffer2, true);

ArraySetAsSeries(Ind_Buffer3, true);

ArraySetAsSeries(Ind_Buffer4, true);

}

//----+ ÂÂÅÄÅÍÈÅ ÑÒÀÒÈ×ÅÑÊÎÉ ÖÅËÎÉ ÏÅĞÅÌÅÍÍÎÉ ÏÀÌßÒÈ

static int IndCounted;

//----+ Вставка переменных с плавающей точкой

double Resalt0, Resalt1, Resalt2;

double price;

//----+ Вставка целочисленных переменных и получение рассчитанных баров

int limit, MaxBar,bar, counted_bars = IndicatorCounted();

int i,k;

//---- проверка на возможные ошибки

if(counted_bars < 0)

return(-1);

//---- последний подсчитанный бар должен быть пересчитан

if(counted_bars > 0)

counted_bars--;

//---- определение номера самого старого бара,

//начиная с которого будут пересчитываться новые бары

limit = Bars - counted_bars - 1;

//----, определяющий номер самого старого бара,

// начиная с которого будут пересчитываться новые бары

MaxBar = Bars - 1 - (MBand_Period + UpBand_Period + DnBand_Period);

//---- инициализация нуля

if(limit > MaxBar)

{

limit = MaxBar;

for(bar = Bars - 1; bar >= MaxBar; bar--)

{

Ind_Buffer0 = 0.0;

Ind_Buffer1 = 0.0;

Ind_Buffer2 = 0.0;

Ind_Buffer3 = 0.0;

Ind_Buffer4 = 0.0;

}

}

//----+ ПЕРВЫЙ ЦИКЛ РАСЧЕТА ИНДИКАТОРА

i=Bars-DnBand_Period;

if(counted_bars>DnBand_Period) i=Bars-counted_bars-1;

while(i>=0)

{

i=Bars-DnBand_Period;

if(counted_bars>DnBand_Period) i=Bars-counted_bars-1;

while(i>=0)

{

double min=1000000;

k=i+DnBand_Period-1;

while(k>=i)

{

price=Resalt1[k];

if(min>price) min=price;

k--;

}

Ind_Buffer1=min;

i--;

}

}

for(i=0; i<limit; i++)

{

// Здесь код вычисления переменной Resalt0

// на основе значений буфера UpBand[]

// и внешней переменной Resalt0

Ind_Buffer3 =iMAOnArray(Ind_Buffer1,limit,DnBand_Period ,shift, ma_method,i);

}

//----+ ВТОРОЙ ЦИКЛ РАСЧЕТА ИНДИКАТОРА

{

i=Bars-UpBand_Period;

if(counted_bars>UpBand_Period) i=Bars-counted_bars-1;

while(i>=0)

{

double max=-1000000;

k=i+UpBand_Period-1;

while(k>=i)

{

price=Resalt2[k];

if(max<price) max=price;

k--;

}

Ind_Buffer2=max;

i--;

}

}

//---- сигнальная линия - простое среднее значение movimg

for(i=0; i<limit; i++)

{

// Здесь код вычисления переменной Resalt0.

// на основе значений буфера UpBand[]

// и внешней переменной Resalt0

Ind_Buffer4 =iMAOnArray(Ind_Buffer2,limit,UpBand_Period,shift, ma_method,i);

}

//----+ ОСНОВНОЙ ЦИКЛ РАСЧЕТА ИНДИКАТОРА.

//---- сигнальная линия - простое скользящее среднее

for(i=0; i<limit; i++)

{

//Здесь код расчета переменной Resalt0

// на основе значений буфера UpBand[]

// и внешней переменной Ind_Buffer0

Ind_Buffer0 =(Ind_Buffer2+Ind_Buffer1)/2;

}

return(0);

}

//+------------------------------------------------------------------+
Причина обращения: