Сначала надо установить режим
CHART_SCALEFIX | bool |
Добавил установку режима, изменилось главное окно но не sub_window=1. Смотрел примеры в документаций но там как всегда нечего внятного не нашёл.
double getVerticalScale=0.0; ChartGetDouble(0,CHART_PRICE_MAX,1,getVerticalScale); ChartSetInteger(0,CHART_SCALEFIX,1,true); if(getVerticalScale>corRegLine[0]/_Point) //ChartSetDouble(0,CHART_FIXED_MAX,corRegLine[0]/_Point); ChartSetDouble(0,CHART_FIXED_MAX,5000.0); double getVerticalScale1=0.0; ChartGetDouble(0,CHART_PRICE_MAX,1,getVerticalScale1); // check
Print:
EURUSD,M5: + + + + + + + + + + + + getVerticalScale: 6184.49985 getVerticalScale1: 6184.49985 corRegLine[0]: 2504.485584330513
А зачем для работы с окном индикатора использовать свойства главного окна графика? Для этого есть CHART_HEIGHT_IN_PIXELS
Читайте наконец-то документацию…
А зачем для работы с окном индикатора использовать свойства главного окна графика? Для этого есть CHART_HEIGHT_IN_PIXELS
Читайте наконец-то документацию…
Причём здесь пикселя??? Это не как не исправит проблему вертикального масштаба индикаторного окна!!!
Документацию читайте Вы программист, это только программисту постижимо! А я по форуму пообщаюсь, примеров поищу! Может уже пора принять что документация не для всех написано?
Добавил установку режима, изменилось главное окно но не sub_window=1. Смотрел примеры в документаций но там как всегда нечего внятного не нашёл.
Print:
Для окна индикатора нельзя использовать функции ChartSet и ChartGet. Ведь они для чарта. Чтобы установить масштаб подокна используются директивы препроцессора:
#property indicator_minimum -1.0 #property indicator_maximum 1.0
Если же нужно установить масштаб во время выполнения программы, то используйте функцию IndicatorSetDouble:
IndicatorSetDouble(INDICATOR_MINIMUM, -1.0); IndicatorSetDouble(INDICATOR_MAXIMUM, 1.0);
Для окна индикатора нельзя использовать функции ChartSet и ChartGet. Ведь они для чарта. Чтобы установить масштаб подокна используются директивы препроцессора:
Если же нужно установить масштаб во время выполнения программы, то используйте функцию IndicatorSetDouble:
CHART_HEIGHT_IN_PIXELS | Высота графика в пикселях | int модификатор - номер подокна |
Судя по документации, можно…
CHART_HEIGHT_IN_PIXELS | Высота графика в пикселях | int модификатор - номер подокна |
Судя по документации, можно…
Получить можно, установить нельзя.
Получить можно, установить нельзя.
Я проверил, ставит. Только после этого высота окна даже руками не меняется. В чём причина мне лениво искать.
Из документации
//+------------------------------------------------------------------+ //| Функция устанавливает значение высоты графика в пикселях. | //+------------------------------------------------------------------+ bool ChartHeightInPixelsSet(const int value,const long chart_ID=0,const int sub_window=0) { //--- сбросим значение ошибки ResetLastError(); //--- установим значение свойства if(!ChartSetInteger(chart_ID,CHART_HEIGHT_IN_PIXELS,sub_window,value)) { //--- выведем сообщение об ошибке в журнал "Эксперты" Print(__FUNCTION__+", Error Code = ",GetLastError()); return(false); } //--- успешное выполнение return(true); }
Если же нужно установить масштаб во время выполнения программы, то используйте функцию IndicatorSetDouble:
Большое спасибо всё чудесно работает. Не знаю почему вертикальный масштаб всегда изменялся если 0 бар был виден на графике, но сейчас с IndicatorSetDouble(INDICATOR_MAXIMUM, 1.0) решил проблему. :)
if(getVerticalScale+corRegLine[0]/_Point*0.2!=corRegLine[0]/_Point) IndicatorSetDouble(INDICATOR_MAXIMUM, corRegLine[0]/_Point+corRegLine[0]/_Point*0.2);
Я проверил, ставит. Только после этого высота окна даже руками не меняется. В чём причина мне лениво искать.
Из документации
Речь шла про CHART_PRICE_MAX и CHART_PRICE_MIN. А они, как в справке указано, r/o (только для чтения). О высоте графика в пикселах речь не шла.
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
но после проверки (Print) вижу что не чего не поменялось. Как изменить вертикальный масштаб?
Часть кода и проверка: