Две нижние скользящие средние (в подокне) отмасштабированы немного по разному. Механизм автомасштабирования работает для каждой скользящей независимо и старается так подобрать вертикальный масштаб, чтобы на всем видимом пользователю участке минимальное и максимальное значение индикатора занимало N процентов подокна.
Индикаторы, выводящиеся в основном окне, привязаны к ценовой шкале графика. Поэтому выводятся в одинаковом масштабе.
Индикаторы в отдельном подокне, каждый сам за себя. Единой ценовой шкалы нет, поэтому каждый индикатор рассчитывает свой масштаб самостоятельно, исходя из своих видимых минимума и максимума. Зафиксируйте у обоих индикаторов одинаковые минимумы и одинаковые максимумы и Вы увидите нормальную картинку, так как масштабы совпадут
Вывод - нужно или зафиксировать масштаб - но лучше построить два буфера
#property indicator_separate_window #property indicator_buffers 2 #property indicator_color1 Red #property indicator_color2 Blue extern int period1=10; extern int period2=20; double ma1[]; double ma2[]; int init() { SetIndexBuffer(0,ma1); SetIndexStyle(0,DRAW_LINE); SetIndexBuffer(1,ma2); SetIndexStyle(1,DRAW_LINE); return(0); } int start() { int counted_bars=IndicatorCounted(); int limit=Bars-counted_bars; for (int i=limit; i>=0; i--) { ma1[i]=iMA(NULL,0,period1,0,MODE_EMA,PRICE_CLOSE,i); ma2[i]=iMA(NULL,0,period2,0,MODE_EMA,PRICE_CLOSE,i); } return(0); }
Большое спасибо всем за ответы. Попробовал построить два буфера - теперь кривые абсолютно идентичны.
И на эту тему последний вопрос:
Механизм автомасштабирования работает для каждой скользящей независимо и старается так подобрать вертикальный масштаб, чтобы на всем видимом пользователю участке минимальное и максимальное значение индикатора занимало N процентов подокна.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Суть в следующем - есть обычный индикатор МА, только отображается он в подокне. Вот его код:
Теперь добавляем две скользящие в окно графика, и две скользящие с теми же параметрами размещаем в подокне. В итоге кривые МА размещённые в окне, будут отличаться от кривых МА размещённых в подокне. Вот скрин:
Различие в конфинурации кривых - видно с первого взгляда. Причём заметьте, в данном случае речь не идёт о расчёте МА от значений другого МА. Написал скрипт, который выводит значения двух МА из окна графика и двух МА в подокне в Эксель. Значения абсолютно одинаковы (в принципе по другому и быть не могло), а вот кривые разные.
Вот и возник вопрос: в связи с чем возникает такое несоответствие значений и изображения?