Стилизация графика - страница 2

 
OlegYu #:

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

не надо такое делать на каждом тике/скритом

правильнее выполнить при инициализации

 
Renat Akhtyamov #:

не надо такое делать на каждом тике/скритом

правильнее выполнить при инициализации

События

Я же не написал что это советник или индикатор. Это скрипт. Он отрабатывает только один раз по событию OnStart

https://www.mql5.com/ru/docs/event_handlers/onstart

Документация по MQL5: Обработка событий / OnStart
Документация по MQL5: Обработка событий / OnStart
  • www.mql5.com
OnStart - Обработка событий - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Неужели в самом советнике этот код не реализовать? Просто я видел множество примеров, кидаешь ЕА на график и тема меняется.
 
Aleksandr Kazmirchuk #:
Неужели в самом советнике этот код не реализовать? Просто я видел множество примеров, кидаешь ЕА на график и тема меняется.

В советнике тоже можно. Только нужно отслеживать, чтобы это было однократное действие. Например, в OnInit() разместить.

 
Ihor Herasko #:

В советнике тоже можно. Только нужно отслеживать, чтобы это было однократное действие. Например, в OnInit() разместить.

Добрый человек, а можно пример хотя бы как фон поменять?

Кусочек кода который я вставлю в ЕА, где бэкграунд поменяет цвет, ну например - желтый?

 
Aleksandr Kazmirchuk #:

Добрый человек, а можно пример хотя бы как фон поменять?

Кусочек кода который я вставлю в ЕА, где бэкграунд поменяет цвет, ну например - желтый?

Так ведь выше уже был пример кода...

Как раз изменение фона на желтый цвет:

ChartSetInteger(0, CHART_COLOR_BACKGROUND, clrYellow);
Стилизация графика - Попробуйте прописать стилизацию графика ChartApplyTemplate.
Стилизация графика - Попробуйте прописать стилизацию графика ChartApplyTemplate.
  • 2024.02.23
  • www.mql5.com
Посмотрите в справке следующие функции ChartApplyTemplate - загрузка шаблона для графика. ChartSetInteger - задает свойства графика INTEGER - там много чего можно задать ТОЛЬКО НЕ ChartApplyTemplate - при применении шаблона он перезапустит советник
 
Разобрался, всем спасибо.
 
Меня до сих пор волнует вопрос: можно развернуть окно графика программно?
 
Renat Akhtyamov #:
Меня до сих пор волнует вопрос: можно развернуть окно графика программно?

Если речь об MQL-способе, то нет. Можно лишь получить статус развернутости окна.

При помощи WinAPI - можно (проверял в МТ5):

#import "user32.dll"
  long         GetParent(long hWnd);
  int          ShowWindow(long hWnd, int nCmdShow);
#import


#define  SW_HIDE                   0    // Скрывает окно и активирует другое окно.
#define  SW_SHOWNORMAL             1   // Активирует и отображает окно. Если окно свернуто, развернуто или упорядочено, система восстанавливает его исходный размер и положение. Приложение должно указать этот флаг при первом отображении окна.
#define  SW_SHOWMINIMIZED          2    // Активирует окно и отображает его как свернутое окно.
#define  SW_SHOWMAXIMIZED          3   //       Активирует окно и отображает его в виде развернутого окна.
#define  SW_SHOWNOACTIVATE         4    // Отображает окно с последним размером и положением. Это значение похоже на SW_SHOWNORMAL, за исключением того, что окно не активировано.
#define  SW_SHOW                   5    // Активирует окно и отображает его в текущем размере и положении.
#define  SW_MINIMIZE               6    // Свертывание указанного окна и активация следующего окна верхнего уровня в порядке Z.
#define  SW_SHOWMINNOACTIVE        7    // Отображает окно в виде свернутого окна. Это значение похоже на SW_SHOWMINIMIZED, за исключением того, что окно не активировано.
#define  SW_SHOWNA                 8    // Отображает окно в его текущем размере и положении. Это значение похоже на SW_SHOW, за исключением того, что окно не активировано.
#define  SW_RESTORE                9    // Активирует и отображает окно. Если окно свернуто, развернуто или упорядочено, система восстанавливает его исходный размер и положение. Приложение должно указать этот флаг при восстановлении свернутого окна.
#define  SW_SHOWDEFAULT            10   // Задает состояние отображения на основе значения SW_ , указанного в структуре STARTUPINFO , переданной в функцию CreateProcess программой, которая запустила приложение.
#define  SW_FORCEMINIMIZE          11   // Свертывание окна, даже если поток, которому принадлежит окно, не отвечает. Этот флаг следует использовать только при минимизации окон из другого потока.

void OnStart()
{
   long hChartParent = GetParent((int)ChartGetInteger(ChartID(), CHART_WINDOW_HANDLE));    
   if (hChartParent > 0)
      ShowWindow(hChartParent, SW_SHOWMAXIMIZED);   
}
 
Ihor Herasko #:

Если речь об MQL-способе, то нет. Можно лишь получить статус развернутости окна.

При помощи WinAPI - можно (проверял в МТ5):

+++

Работает!

Спасибо!