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

 

Уважаемый Mladen / Mrtools

Прилагаемый индикатор является 'Line версией', но возможно ли модифицировать его как индикатор 'Volty Channel Stop', как показано на рисунке?

Было бы здорово, если бы оба индикатора (Line и Volty) меняли свой сигнал одновременно(вертикальные линии на рисунке)!

Спасибо за любую помощь

secretcode

Файлы:
 
secretcode:
Уважаемый Младен / Mrtools

Прилагаемый индикатор - это "версия Line", но возможно ли модифицировать его в индикатор "Volty Channel Stop", как показано на рисунке?

Было бы здорово, если бы оба индикатора (Line и Volty) меняли свой сигнал одновременно (вертикальные линии на рисунке)!

Спасибо за любую помощь

secretcode

secretcode

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

 

Привет, Младен,

Мы писали некоторое время назад о моей проблеме. До сих пор я ее не решил.

Но у меня есть еще один вопрос. Я пытался импортировать индикатор с помощью iCustom()-функции.

Разве нельзя скопировать код индикатора в ea и удалить все алерты и другие функции, но условие может быть проверено?

 
mladen:
secretcode Если вы имеете в виду, могут ли они давать сигналы в одних и тех же местах, возможно, они могут, используя некоторые специальные настройки, но математика, лежащая в основе этих двух систем, отличается, и я не думаю, что возможно иметь все сигналы в одних и тех же местах, независимо от того, какие настройки вы используете для этих двух систем.

Спасибо Младен за любезный ответ и объяснение

С наилучшими пожеланиями

secretcode

 
arroganzmaschine:
Привет, Младен,

мы писали некоторое время назад о моей проблеме. До сих пор не решил ее.

Но у меня есть еще один вопрос. Я пытался импортировать индикатор с помощью функции iCustom()-функции.

Разве нельзя скопировать код индикатора в ea и удалить все алерты и другие функции, но условие можно было бы проверить?

arroganzmaschine

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

 

Должен ли я импортировать все внешние параметры с помощью функции iCustom()-функции, которые есть в индикаторе? И как объявляются буферы?

В индикаторе написано: double Long[]; - это буфер. Я прав?

 
arroganzmaschine:
Нужно ли импортировать с помощью функции iCustom()все внешние параметры, которые есть в индикаторе? И как объявляются буферы? В индикаторе написано: double Long[]; - это буфер. Я прав?

arroganzmaschine

double Long[] - это не буфер, а массив. Он становится буфером только тогда, когда вы объявляете его буфером с помощью функции SetIndexBuffer(). Но в советнике вы не можете объявить буфер с помощью SetIndexBuffer(). Это ничего не даст в советнике (как и множество функций, специфичных только для индикаторов, которые ничего не дадут, если их использовать из советника).

Если вы не знакомы с массивами и работой с ними, я искренне рекомендую вам использовать обычные индикаторы и вызовы iCustom(), так как это займет очень много времени, пока вы научитесь имитировать работу индикатора из кода советника, не имея на самом деле внешнего индикатора.

 

Как я могу получить два разных значения буфера[] или массива в этом случае. Например, Long[1] = HIGH и Long[2] = LOW с помощью iCustom-функции?

Спасибо!

 
arroganzmaschine:
Как я могу получить два разных значения буфера[] или массива в данном случае. Например, Long[1] = HIGH и Long[2] = LOW с помощью iCustom-функции? Спасибо!

Вы не можете получить значение массива, переменной или подобных вещей из внешнего кода

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

Посмотрите на эту тему: https: //www.mql5.com/en/forum/173108 и я думаю, что там описано все, что нужно знать о вызовах iiCustom() и о том, что они делают (включая то, как получить доступ к различным элементам буфера).

 

Но это мне не помогает. Два буфера - это 4 и 5. Но раньше буферы были массивами.

Вот код: SetIndexBuffer(4, Long);

SetIndexBuffer(5, Short);

В индикаторе эти буферы объявляются сначала с помощью "double Long[]". Этот буфер имеет два значения. Long[1] и Long[2]. Как я могу получить эти значения в советнике?

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