Стилизация графика

 
Добрый день. Подскажите пожалуйста как в советнике прописать стилизацию графика?
 
Aleksandr Kazmirchuk:
Добрый день. Подскажите пожалуйста как в советнике прописать стилизацию графика?
ChartApplyTemplate

Посмотрите в справке следующие функции:

ChartApplyTemplate - загрузка шаблона для графика

https://www.mql5.com/ru/docs/chart_operations/chartapplytemplate

ChartSetInteger - задаёт свойства графика ( ENUM_CHART_PROPERTY_INTEGER - там много чего можно задать )

https://www.mql5.com/ru/docs/constants/chartconstants/charts_samples


Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
  • www.mql5.com
Примеры работы с графиком - Константы графиков - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 

Для текущего графика (там где запущен советник) ТОЛЬКО НЕ ChartApplyTemplate - при применении шаблона он перезапустит советник, на ровном можете получить бесконечный цикл перезапусков

Используйте ChartSetXXX и настраивайте опции чарта по отдельности

 
А именно в самом сове, можно цвета баров, сетки, фона прописать? Чтоб не применять .tpl, а кинул сов на график, и все цвета отображаются как прописано...
 
Aleksandr Kazmirchuk #:
А именно в самом сове, можно цвета баров, сетки, фона прописать? Чтоб не применять .tpl, а кинул сов на график, и все цвета отображаются как прописано...

https://www.mql5.com/ru/docs/chart_operations/chartsetinteger

https://www.mql5.com/ru/docs/constants/chartconstants/enum_chart_property#enum_chart_property_integer

Конкретно по Вашему вопросу:

https://www.mql5.com/ru/docs/constants/chartconstants/charts_samples#chart_show_grid

https://www.mql5.com/ru/docs/constants/chartconstants/charts_samples#chart_color_candle_bull

https://www.mql5.com/ru/docs/constants/chartconstants/charts_samples#chart_color_candle_bear

https://www.mql5.com/ru/docs/constants/chartconstants/charts_samples#chart_color_background

...

Документация по MQL5: Операции с графиками / ChartSetInteger
Документация по MQL5: Операции с графиками / ChartSetInteger
  • www.mql5.com
ChartSetInteger - Операции с графиками - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Maxim Kuznetsov #:

Для текущего графика (там где запущен советник) ТОЛЬКО НЕ ChartApplyTemplate - при применении шаблона он перезапустит советник, на ровном можете получить бесконечный цикл перезапусков

Используйте ChartSetXXX и настраивайте опции чарта по отдельности

Ну да, не подумал. Из советника будет не хорошо. Из скрипта можно.

 
Как же все сложно, блин. Я думал как на примере CSS, указал оператора, задал цвет и вуаля. Тут я понимаю, что ничего не понимаю(

Нашел такую таблицу, а как в код реализовать не представляю. Вот я про что.

CHART_COLOR_BACKGROUND

Цвет фона графика

color

CHART_COLOR_FOREGROUND

Цвет осей, шкалы и строки OHLC

color

CHART_COLOR_GRID

Цвет сетки

color

CHART_COLOR_VOLUME

Цвет объемов и уровней открытия позиций

color

CHART_COLOR_CHART_UP

Цвет бара вверх, тени и окантовки тела бычьей свечи

color

CHART_COLOR_CHART_DOWN

Цвет бара вниз, тени и окантовки тела медвежьей свечи

color

CHART_COLOR_CHART_LINE

Цвет линии графика и японских свечей "Доджи"

color

CHART_COLOR_CANDLE_BULL

Цвет тела бычьей свечи

color

CHART_COLOR_CANDLE_BEAR

Цвет тела медвежьей свечи

color

CHART_COLOR_BID

Цвет линии Bid-цены

color

CHART_COLOR_ASK

Цвет линии Ask-цены

color

CHART_COLOR_LAST

Цвет линии цены последней совершенной сделки (Last)

color

CHART_COLOR_STOP_LEVEL

Цвет уровней стоп-ордеров (Stop Loss и Take Profit)

color

 
Aleksandr Kazmirchuk:
Добрый день. Подскажите пожалуйста как в советнике прописать стилизацию графика?

настраивайте график при инициализации

Примеры работы с графиком - Константы графиков - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5

Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
Документация по MQL5: Константы, перечисления и структуры / Константы графиков / Примеры работы с графиком
  • www.mql5.com
Примеры работы с графиком - Константы графиков - Константы, перечисления и структуры - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Вот (например) код стилизации медвежьей свечи

//+------------------------------------------------------------------+
//| Функция получает цвет тела медвежьей свечи. |
//+------------------------------------------------------------------+
color ChartBearColorGet(const long chart_ID=0)
  {
//--- подготовим переменную для получения цвета
   long result=clrNONE;
//--- сбросим значение ошибки
   ResetLastError();
//--- получим цвет тела медвежьей свечи
   if(!ChartGetInteger(chart_ID,CHART_COLOR_CANDLE_BEAR,0,result))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__+", Error Code = ",GetLastError());
     }
//--- вернем значение свойства графика
   return((color)result);
  }
//+------------------------------------------------------------------+
//| Функция устанавливает цвет тела медвежьей свечи. |
//+------------------------------------------------------------------+
bool ChartBearColorSet(const color clr,const long chart_ID=0)
  {
//--- сбросим значение ошибки
   ResetLastError();
//--- установим цвет тела медвежьей свечи
   if(!ChartSetInteger(chart_ID,CHART_COLOR_CANDLE_BEAR,clr))
     {
      //--- выведем сообщение об ошибке в журнал "Эксперты"
      Print(__FUNCTION__+", Error Code = ",GetLastError());
      return(false);
     }
//--- успешное выполнение
   return(true);
  }


А где собственно цвет?
И этот код нужно для каждого объекта прописывать?
 
Aleksandr Kazmirchuk #:
//+------------------------------------------------------------------+
//| Функция устанавливает цвет тела медвежьей свечи. |
//+------------------------------------------------------------------+
bool ChartBearColorSet(const color clr,const long chart_ID=0)
//+------------------------------------------------------------------+
//| Функция устанавливает цвет тела медвежьей свечи. |
//+------------------------------------------------------------------+
bool ChartBearColorSet(const color clr,const long chart_ID=0)
 
Aleksandr Kazmirchuk #:
А где собственно цвет?
И этот код нужно для каждого объекта прописывать?
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
int OnStart(void)
{
   ChartSetInteger(0,   CHART_COLOR_CANDLE_BEAR,  clrRed);
   ChartSetInteger(0,   CHART_COLOR_CANDLE_BULL,  clrGreen);
   ChartSetInteger(0,   CHART_COLOR_BACKGROUND,   clrYellow);
   ChartSetInteger(0,   CHART_COLOR_GRID,         clrBlue);
   return(0);
}

Вот вам готовый скрипт. Сохраните в папку MQL5\Scripts, меняйте, запускайте.

Файлы:
ChartSet.mq5  1 kb