DRAW_COLOR_LINE и DRAW_LINE проблемы со стрелками.

 

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

Смотрите два изображения и соответствующие коды там. Пожалуйста, помогите мне понять это правильно, так как я запутался с этим.

От DRAW_LINE:

Код:

Прилагается к запросу

Выходное изображение:

example

С DRAW_COLOR_LINE:

Код:

Прилагается вопрос

Выходное изображение:

Пожалуйста, помогите мне с результатом. Пожалуйста, помогите мне.

 

А откуда сделаны эти скрины? Индикаторы не компилируются


 
Alexey Viktorov :

And where are these screenshots made from? Indicators do not compile


Пожалуйста, прими мои извинения. Я не понимаю, почему это произошло. Я скопировал код в блокнот ++ и сохранил его. Я думаю, что это создало проблему. Просто позвольте мне редактировать в редакторе MetaTrader. Я думаю, что это проблема.

 
Alexey Viktorov :

And where are these screenshots made from? Indicators do not compile


Я обновил код. Это скомпилируется. Я также приложу это с этим комментарием.

 
jaffer wilson:

Я обновил код. Это скомпилируется. Я также приложу это с этим комментарием.

Стиль DRAW_COLOR_LINE имеет 2 обязательных буфера. Один буфер данных и второй буфер цвета. Буфер цвета обязательно должен быть определён следующим после буфера данных. То-есть

   SetIndexBuffer(0,ExtDeMarkerBuffer,INDICATOR_DATA);
   SetIndexBuffer(1,Colors,INDICATOR_COLOR_INDEX);

И только следующий индекс должен быть

   SetIndexBuffer(2,Buy,INDICATOR_DATA);

Таким образом все индексы будут сдвинуты.

 
Alexey Viktorov :

The DRAW_COLOR_LINE style has 2 mandatory buffers. One data buffer and second color buffer. The color buffer must be defined next. Ie

And only the next index should be

Thus all indexes will be shifted.

Вы правы, сэр. Но я тоже это попробовал. Смотрите текущий файл, который я приложил.

 
Alexey Viktorov :

The DRAW_COLOR_LINE style has 2 mandatory buffers. One data buffer and second color buffer. The color buffer must be defined next. Ie

And only the next index should be

Thus all indexes will be shifted.

Есть ли другое решение для этого, пожалуйста, дайте мне знать.

 
jaffer wilson:

Есть ли другое решение для этого, пожалуйста, дайте мне знать.

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

Ещё можно попробовать не назначать PlotIndexSetDouble(****,PLOT_EMPTY_VALUE,0.0); и там где не должно быть отображения индикатора, ставить EMPTY_VALUE вместо 0.0

 
Alexey Viktorov :

We advise something. In the meantime, I only talked about obvious mistakes.

You can also try PlotIndexSetDouble (****, PLOT_EMPTY_VALUE, 0.0); and where the indicator should not be displayed, set EMPTY_VALUE instead of 0.0

Спасибо за совет, сэр. Я тоже это попробовал. Я также проверил все из кодовой базы. Я не понимаю, что я сделал с этим. Как и без использования DRAW_COLOR_LINE, он работает нормально.

Сэр, у вас есть мой код полностью. Пожалуйста, сможете ли вы предложить мне после попытки один раз? Я был бы рад услышать.

 
jaffer wilson:

Спасибо за совет, сэр. Я тоже это попробовал. Я также проверил все из кодовой базы. Я не понимаю, что я сделал с этим. Как и без использования DRAW_COLOR_LINE, он работает нормально.

Сэр, у вас есть мой код полностью. Пожалуйста, сможете ли вы предложить мне после попытки один раз? Я был бы рад услышать.

Постарайтесь словами описать что должен показать индикатор. Так мне будет легче разобраться. Завтра я посмотрю.

 
Alexey Viktorov :

Show indicator. It will be easier for me to understand. Tomorrow I'll take a look.

Я хочу, чтобы индикатор показывал график как с DRAW_LINE. Я хочу иметь тот же эффект с DRAW_COLOR_LINE.

Библиотека отлично работает с DRAW_LINE, как я уже говорил. Проблема возникает, когда я меняю DRAW_LINE на DRAW_COLOR_LINE.

Следовательно, единственное, чего я хочу - это получить тот же эффект с DRAW_COLOR_LINE, что и с DRAW_LINE.

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