Скачать MetaTrader 5

Некоторые вопросы касательно индикаторов

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Интересует активность в Маркете? Заходи и отслеживай!
hoz
1936
hoz 2014.10.11 08:25 

 Решил я прошерстить документацию касательно написания индикаторов, и, сразу же столкнулся с некоторыми непонятными моментами. Дабы не плодить много тем, создаю одну тему, по этому поводу, чтоб исчерпать это недопонимание.

 Раньше когда я писал несколько раз по необходимости индикаторы (было это ещё до нового билда) было гораздо проще. Создавался буфер, его свойства буфера и производился расчёт го значений с дальнейшей отрисовкой этих значений (если это необходимо).

 Сейчас я обратил внимание, что появилось множество различных, и, на первый взгляд лишних моментов. Хочу уяснить для  чего это всё придумано, чтобы иметь возможность пользоваться данными новшествами.

Возьмём, например, свойства:

#property indicator_buffers 1
#property indicator_plots   1

 Для чего второе свойство? Ведь ясно написано, что первое их вышеприведённых свойство - количество буферов для расчёта. Зачем тогда указывать второе свойство ? Ведь графическая серия это тоже массив. Я так понимаю, что тому же массиву можно было как и прежде присвоить необходимые свойство и всё. Для чего указывать количество графических серий?

Vadim Zhunko
5227
Vadim Zhunko 2014.10.11 08:49  

Первое количество всего буферов. Второе количество отображаемых буферов. 

hoz
1936
hoz 2014.10.11 13:30  
Zhunko:

Первое количество всего буферов. Второе количество отображаемых буферов. 

И в чём логика тут? Ведь если не назначит отображение на буфера, то он не отобразиться. Тогда какой прок с этого дополнительного свойства?
Комбинатор
15929
Комбинатор 2014.10.11 13:47  
hoz:
Тогда какой прок с этого дополнительного свойства?
Оно и раньше было, только неявно. Теперь явно.
hoz
1936
hoz 2014.10.11 14:13  
TheXpert:
Оно и раньше было, только неявно. Теперь явно.
Для чего это вообще? Зачем указывать через свойство количество отображаемых буферов? Ведь как ни крути отобразиться столько буферов скольким задасться через соответствующие свойства...
Vadim Zhunko
5227
Vadim Zhunko 2014.10.11 14:13  
hoz:
И в чём логика тут? Ведь если не назначит отображение на буфера, то он не отобразиться. Тогда какой прок с этого дополнительного свойства?
Иногда нужны буфера только для расчёта без отображения.
hoz
1936
hoz 2014.10.11 15:12  
Zhunko:
Иногда нужны буфера только для расчёта без отображения.

Я в курсе. Но зачем это прописывать в Init() ?

 Ведь если не указать в свойствах, буфер так и так не отобразиться.

Например,

   SetIndexBuffer (0, ExtATRBuffer, INDICATOR_DATA);
   SetIndexBuffer (1, ExtTRBuffer, INDICATOR_CALCULATIONS);

 Первый буфер - данные индикатора. А второй - лишь буфер для промежуточных расчётов. 

 Если буферу 1-ому из вышеприведённых не назначить отображение, то так и так не будет отображаться. Ведь он так...

Вопрос всё тот же. Для чего дополнительное свойство? 

Vadim Zhunko
5227
Vadim Zhunko 2014.10.11 15:25  

Для более грамотного распределения памяти.

Первый жёстко ограничивает, второй можно включать и отключать. 

hoz
1936
hoz 2014.10.11 15:58  

Вот ещё момент.

PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0.0);

 В документации написано, что:

PLOT_EMPTY_VALUE - Пустое значение для построения, для которого нет отрисовки. 

Это получается типа инициализация "пустым значением" буфера? Типа защита от "наличия мусора в буфере до помещения туда значения" на всякий случай? Так?

hoz
1936
hoz 2014.10.11 16:01  
Zhunko:

Для более грамотного распределения памяти.

Первый жёстко ограничивает, второй можно включать и отключать. 

Отключать?

Но если в индюке явно имеется буфер для расчёта( вторая строка ):

SetIndexBuffer (0, ExtATRBuffer, INDICATOR_DATA);
SetIndexBuffer (1, ExtTRBuffer, INDICATOR_CALCULATIONS);

 То как её отключишь? Ведь, если буфер служить для некоторых промежуточных расчётов. То он будет таковым, и он нужен.

В свою очередь, если буфер служить для отображения, то он тоже нужен.. У каждого своя роль.

 Как это можно отключить?

Vadim Zhunko
5227
Vadim Zhunko 2014.10.11 16:18  
hoz:

Отключать?

Но если в индюке явно имеется буфер для расчёта( вторая строка ):

 То как её отключишь? Ведь, если буфер служить для некоторых промежуточных расчётов. То он будет таковым, и он нужен.

В свою очередь, если буфер служить для отображения, то он тоже нужен.. У каждого своя роль.

 Как это можно отключить?

Не в курсе. Просто предположил, что если можно включить, то можно и выключить.
1234
Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий