Помогите плиз чайнику

 

Всем доброго времени суток.

Учусь языку, столкнулся с проблемой, которую не могу понять.

1. Создан буфер (предполагается отображение)

2. Установлено соответствие между буфером и массивом

3. Заведен расчетый массив (другой).

4. Если записывать в буфер (циклом) константу или любое вычисляемое значение то оно отображается.

Собственно все по учебнику и все работает.

Не работае следующее - если ту же константу записывать в расчетный массив, а потом присваивать в цикле элементам буфера значения из рассчетного массива, то никаких ошибок нет нив компиляции ни в загрузке, но ничего не отображается.

Получается, есть какие-то тонкости инициализации массивов, которые нигде не описаны?

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

Расчетному массиву он размер не выставляет.
ArrayResize ArrayInitialize ArraySetAsSeries 

 

Всем доброго времени суток. Есть торговая система "Chaos" и в ней есть индикатор #Chaos entry, который в определенный момент рисует стрелочку.

Помогите пожалуйста сделать алерт для этой самой стрелочки.

За ранее благодарен. 

Файлы:
chaos.rar  194 kb
 
utahrzd:

Вот даже научился декомпилировать:


публикация декомпилированного кода запрещена.
 

Всем добрый вечер!

Бригада телепатов приехала и объяснила, как надо задавать вопросы.

Помогите понять, плиз следующее.

Вариант с призвоением индикаторному массиву константы или скажем предопределенного массива Low[i] работает и рисует.

Вариант с присвоением выражения типа LLL[4] не рисует, хотя казалось бы это тоже константа.

Как понять в чем разница?

Заранее благодарен за помощь.

//+------------------------------------------------------------------+
//| TEST.mq4 |
//| Copyright © 2010, MetaQuotes Software Corp. |
//| https://www.metaquotes.net// |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2010, MetaQuotes Software Corp."
#property link "https://www.metaquotes.net//"

#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Red

double ExtMapBuffer1[];
double MergedTics[];

//+------------------------------------------------------------------+
//| Initialization part |
//+------------------------------------------------------------------+

int init()
{

SetIndexStyle(0,DRAW_LINE);
SetIndexBuffer(0,ExtMapBuffer1);

}

//+------------------------------------------------------------------+
//| script program start function |
//+------------------------------------------------------------------+
int start()
{ double LLL[];

Counted_bars=IndicatorCounted();
i=Bars-Counted_bars-1;

// Вариант, который не работает -----

LLL[4]=1.4090


while(i>=0)
{
ExtMapBuffer1[i]=LLL[4];
i=i-1;
}

//=== Вариант, который работает ----

while(i>=0)

{

ExpMapBuffer1[i]=1.4090;

i=i-1;

}

return(0);
}

 

Более того.

В цикле While будет отрисовываться линия, если сделано так:

double FFF;

FFF=1.4090;

While(i>=0) { ExpMapBufer1[i]=FFF; i=i-1;}

НО НЕ БУДЕТ В ТАКОМ СЛУЧАЕ:

While

FFF=LLL[4];

While(i>=0) {ExpMapBuffer1=FFF;i=i-1;}

====================

Что за ошибка в объявлении массива, что его нельзя использовать для отрисовки даже через помежуточную переменную?

 
Chibrikin:

Всем добрый вечер!

Бригада телепатов приехала и объяснила, как надо задавать вопросы.

Помогите понять, плиз следующее.

Вариант с призвоением индикаторному массиву константы или скажем предопределенного массива Low[i] работает и рисует.

Вариант с присвоением выражения типа LLL[4] не рисует, хотя казалось бы это тоже константа.

Как понять в чем разница?

double LLL[];

LLL[4]=1.4090

Надо бы массиву размер хоть какой-то сделать.

Хотя бы

double LLL[5];

LLL[4]=1.4090

 
Chibrikin:

Что за ошибка в объявлении массива, что его нельзя использовать для отрисовки даже через помежуточную переменную?

Начните с изучения учебника. Вы не выделили память под массив.

Удачи.

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