Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
Работаю с многомерным массивом, заблокировался на такой простой вещи...
Здравствуйте, господа,
Просто пытаюсь получить ячейку из массива в строке экрана (тот же результат сообщение 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);
}
//+------------------------------------------------------------------+
Привет, мистеры,
Просто пытаюсь получить ячейку из массива в строке экрана (тот же результат сообщение Alert), он пропустить что-то это точно, но весь день на это и я не понимаю, почему....
Помощь была бы очень кстати ... ...
вот оно:
Заранее спасибо.Попробуйте так (инициализация массива выполняется по-другому) :
//+------------------------------------------------------------------+
//| !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 массивов и выше) должно иметь постоянный размер, известный во время компиляции
Спасибо большое, это работает хорошо, но я не понимаю, зачем это нужно, ведь обычно мы можем объявить, или в глобальной области видимости, или внутри функции, что-то вроде того, как написано в руководстве: 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 линия дает нулевой делитель, я посмотрел мой код там нет делителя зеро,
Если у вас есть идеи или опыт в этом вопросе, пожалуйста, помогите мне решить проблему.
спасибо заранее....
...
Без исходников (или без кода вызова пользовательского индикатора) ничего сказать невозможно. Если ваш индикатор работает, значит ошибка в вашем советнике.
Привет всем,
После того, как я перепробовал множество 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?
Здравствуйте, ребята,
Я хотел бы узнать, может ли кто-нибудь помочь мне написать код MA crossover ea, чтобы я мог использовать его, когда я нахожусь вдали от компьютера.
Идея заключается в следующем.
1-минутный график - 3 EMA и 8 SMA.
Если 3 EMA пересекается ниже 8 SMA, продаем валютную пару с TP и SL, заданными в параметрах.
Если 3 EMA пересекает выше 8 SMA, покупайте валютную пару с TP и SL, установленными по параметрам.
Я не знаю, возможно ли закодировать такую простую MA ea, но буду очень признателен, если кто-то сможет мне помочь.
Заранее спасибо!Привет всем,
После того, как я перепробовал множество 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()?
ЗДЕСЬ приведен код для группы 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);
}
//+------------------------------------------------------------------+