Взял из индикатора Барабашки:
//--- set the vertical shift of arrows in pixels PlotIndexSetInteger(0,PLOT_ARROW_SHIFT,-(int)(InpShift));Это - если ниже бара смещать на InpShift пикселей
Взял из индикатора Барабашки:
Это - если ниже бара смещать на InpShift пикселейНу так у меня же там вбито статически это всё без варианций input-переменными:
PlotIndexSetInteger(0, PLOT_ARROW, 218); PlotIndexSetInteger(0, PLOT_ARROW_SHIFT, 50); PlotIndexSetDouble(0, PLOT_EMPTY_VALUE, EMPTY_VALUE); PlotIndexSetInteger(1, PLOT_ARROW, 217); PlotIndexSetInteger(1, PLOT_ARROW_SHIFT, -65); PlotIndexSetDouble(1, PLOT_EMPTY_VALUE, EMPTY_VALUE);
Смещает не ровна, а абы как. Расстояния то разные..
Ну так у меня же там вбито статически это всё без варианций input-переменными:
Смещает не ровна, а абы как. Расстояния то разные..
Мне кажется, что это неправильно
#property indicator_type1 DRAW_COLOR_ARROW//попробуйте так PlotIndexSetInteger(0, PLOT_ARROW, 218); PlotIndexSetInteger(0, PLOT_ARROW_SHIFT, 50); //PlotIndexSetDouble(0, PLOT_EMPTY_VALUE, EMPTY_VALUE);или так PlotIndexSetInteger(1, PLOT_ARROW, 217); PlotIndexSetInteger(1, PLOT_ARROW_SHIFT, -65); //PlotIndexSetDouble(1, PLOT_EMPTY_VALUE, EMPTY_VALUE);или так
Самый простой способ выравнивания - использовать показания ATR в качестве отступа от экстремума бара. Для стрелки выше бара значение ATR прибавляется к High бара, для стрелки ниже - вычитается из Low бара.
Привожу к общему знаменателю умножая на ТФ, при 1М = 1. Не очень, но работает сносно. Т.е. на минутке отступ 10 пунктов, на часе 600.
Спим, или уходим?
Спал, разумеется. Уходить и не планировал..)
Щяс попробую с ATR поиграться..
Мне кажется, что это неправильно
Вы ничего конкретно не написали. Всё как у меня..
Следующий вариант индикатора реализован с директивой препроцессора:
#property indicator_type1 DRAW_COLOR_SECTION // Вид графического построения 1-го буфера
Вот как ужасно выглядит то, что индикатор отображает:
Не открывал весь код, но с первого взгляда рисовать стрелки методом секции неправильно
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Добрый вечер. Я обычно пользовался самописным вариантов отображения кастомной информации, чтобы проверить что-либо по мере необходимости у индикатора или бота. Вот как это выглядит в моём случае:
Вариант индикатора, который это отображает я прикрепляю к сообщению. Он называется InsideBar_my_method. В этом вариант линию и стрелочки (текст я закоментировал, чтобы не засорять график) отображаются графическими объектами. Все отрисовано, в принципе, адекватно и роовно и на одинаковом расстоянию от хай / лоу баров над / под которыми они отрисованы. Всё как-бы меня устраивает, но отрисовка всей инофрмации объектами не особо рационально, т.е. это замедляет отрисовку и работу индикатора, если рассчитывать много баров.
Следующий вариант индикатора реализован с директивой препроцессора:
Вот как ужасно выглядит то, что индикатор отображает:
Стрелками показано, что расстоянию от стралок до бара снизи и сверху отличается в разных случаях. В одних случаях оно приемлимое, а вдругих совсем неадекватное. Стрелки не то, что бы были на расстояние хай / лоу бара, а даже не выступают за хай /лоу т.е. находятся в пределах бара. Почему? Этот кривой вариант я тоже прикрепляю к сообщению. Он называется InsideBar.
Я думаю, чо кода индикатора хватит, что бы понять в чём дело тому, кто сэтим уже сталкивался. Если это конечно вообще правится. Но, чтобы запустить индикаторы нужны некоторые файлы. Я их тоже прикрепляю.