Вопросы от начинающих MQL5 MT5 MetaTrader 5 - страница 631

 

Причём, вот для средней скорости конкретно указал заполнении индикаторного массива     ExtMapBuffer_Ave_Speed[0]= NormalizeDouble(X,1);

А он всё равно нули рисует до 4-х знаков после запятой округляет... Как сделать, чтобы отображал пять знаков?

 

 
Alexey Viktorov:

IndicatorSetInteger(INDICATOR_DIGITS, _Digits);

или

IndicatorDigits(_Digits);

Сенк-с. Всё заработало!
 
Roman Shiredchenko:
Сенк-с. Всё заработало!
Извини забыл написать что это надо в OnInit()
 
Alexey Viktorov:
Извини забыл написать что это надо в OnInit()

У нас тут оказывается очередь "на ответить" ;)

Не успел...

 
Alexey Viktorov. Artyom Trishkin
Извини забыл написать что это надо в OnInit()

Это понятно. Сенк-с. Там попутно может. подскажете ещё...

МА наложил из навигатора терминала на индикатор тиков. Как её значения получать в эксперте?

Можно просто ткнуть носом где почитать об этом.

Кажись вспомнил... через       iMAOnArray


 
Roman Shiredchenko:

Это понятно. Сенк-с. Там попутно может. подскажете ещё...

МА наложил из навигатора терминала на индикатор тиков. Как её значения получать в эксперте?

Можно просто ткнуть носом где почитать об этом.

Кажись вспомнил... через       iMAOnArray


iMAOnArray нужно вписать в индикатор тиков и выводить в нём же в дополнительный буфер.

Либо в новом индикаторе сначала прочитать содержимое буферов индикатора тиков в расчётный буфер, а потом на него уже натравить iMAOnArray.

 
Artyom Trishkin:

1. iMAOnArray нужно вписать в индикатор тиков и выводить в нём же в дополнительный буфер.

2. Либо в новом индикаторе сначала прочитать содержимое буферов индикатора тиков в расчётный буфер, а потом на него уже натравить iMAOnArray.

Благодарю. Артём. Так 1. похоже сделаю...
 

Не могу добиться равенства значений индикатора МА (цвет Gold) период 1 (на графике)  от Bid (зелёного цвета - её не видно из-за линии МА) и её же МА (1) значений, рассчитанной через iMAonArray() от индикаторного буфера цен Bid.

      double MA_0=iMAOnArray(ExtMapBuffer1,0,MA_Period,0,MODE_EMA,0); 
      double MA_1=iMAOnArray(ExtMapBuffer1,0,MA_Period,0,MODE_EMA,1); 
      double MA_2=iMAOnArray(ExtMapBuffer1,0,MA_Period,0,MODE_EMA,2); 
   
       


     if (time_s!=0) 
       Comment(
              "tickCounter = ", tickCounter, "\n",
              "secondCounter, time_s  = ",    NormalizeDouble(time_s,2) ,   "\n",
            
           ...
              "ExtMapBuffer_MA[0] = ", DoubleToStr(MA_0,Digits),"\n",
              "ExtMapBuffer_MA[1] = ", DoubleToStr(MA_1,Digits),"\n",
              "ExtMapBuffer_MA[2] = ", DoubleToStr(MA_2,Digits),"\n",

зелёные стрелочки - равные значения - как и должно быть. Красные стрелочки - отличные значения. Должны быть, как и у зелёных.


на трёх верхних стрелках должны быть числа ОДИНАКОВЫЕ, а они разные... Подскажите, причину расхождения...


 
Roman Shiredchenko:

Не могу добиться равенства значений индикатора МА (цвет Gold) период 1 (на графике)  от Bid (зелёного цвета - её не видно из-за линии МА) и её же МА (1) значений, рассчитанной через iMAonArray() от индикаторного буфера цен Bid.

зелёные стрелочки - равные значения - как и должно быть. Красные стрелочки - отличные значения. Должны быть, как и у зелёных.

на трёх верхних стрелках должны быть числа ОДИНАКОВЫЕ, а они разные... Подскажите, причину расхождения...


1. Чтобы было видно индикатор (цвет Gold) период 1 можно его сделать потолще и в свойствах графика поставить "График сверху".

2. iMAOnArray - метод усреднения MODE_EMA а что поставлено для индикатора МА???

 
Alexey Viktorov:

1. Чтобы было видно индикатор (цвет Gold) период 1 можно его сделать потолще и в свойствах графика поставить "График сверху".

2. iMAOnArray - метод усреднения MODE_EMA а что поставлено для индикатора МА???

1. Да это понятно - просто я решил так проверить и всё. Там отображение цены бид было не критичным.

2. Также ЕМА - это я всё проверил. Вот с другим периодом МА (30). Там при расчёте через  iMAOnArray - получаются значения бОльше (при движении бида вверх) и меньше, если МА и бид движется вниз. Какая-то разница получается в 1 или 2 доли пятизначного пункта... что же не должно быть... Ведь так? Вот скрин, где красная стрелка - там расхождение в 1 пятизначный пункт.

Вопрос не решён...

 

Вот при относительно резком движении вверх расхождение между МА индикатором - зел. стрелка и расчётным его значением через    iMAOnArray () составляет 0,4 четырёхзначного пункта или 4 на пятизнаке. Вот скрин.  Если МА движется относительно горизонтально, то значения совпадают. Где-то похоже, ошибка в расчётах присутствует...