есть один способ, правда я его не пробовал на практике :)
назначаете хот-кей на индикатор а в скрипте эмулируете нажатие соответствующих клавиш через DLL
есть один способ, правда я его не пробовал на практике :)
назначаете хот-кей на индикатор а в скрипте эмулируете нажатие соответствующих клавиш через DLL
Интересный вариант, правда несколько неудобный :) Но все равно
спасибо, если уж совсем некуда будет деваться - попробую.
Средствами MQL эту задачу решить нельзя. Но вам дело сказали, какие тут неудобства. Только не совсем понятно зачем это вам надо.
Теперь как то можно?
Ато удалить и посчитать можно, а добавить нельзя.
у меня вроде, получилось !!!
//+------------------------------------------------------------------+ //| AddChartIndicatorAdd.mq5 | //| Copyright 2020, MetaQuotes Software Corp. | //| https://www.mql5.com | //+------------------------------------------------------------------+ #property copyright "Copyright 2020, MetaQuotes Software Corp." #property link "https://www.mql5.com" #property version "1.00" #property script_show_inputs //--- input string Inpshort_name = "Obj LeM Brain"; // INDICATOR_SHORTNAME //--- int indicator_handle=INVALID_HANDLE; //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- AddIndicator(); } //+------------------------------------------------------------------+ //| Функция проверки и добавления индикатора на график | //+------------------------------------------------------------------+ bool AddIndicator() { //--- выводимое сообщение string message; //--- проверим на совпадение символ индикатора и символ графика if(_Symbol!=_Symbol) { message="Демонстрация использования функции Demo_ChartIndicatorAdd():"; message=message+"\r\n"; message=message+"Нельзя на график добавить индикатор, рассчитанный на другом символе."; message=message+"\r\n"; message=message+"Укажите в свойствах эксперта символ графика - "+_Symbol+"."; Alert(message); //--- досрочный выход, не будем добавлять индикатор на график return false; } //--- проверим на совпадение таймфрейм индикатора и таймфрейм графика if(_Period!=_Period) { message="Нельзя на график добавить индикатор, рассчитанный на другом таймфрейме."; message=message+"\r\n"; message=message+"Укажите в свойствах эксперта таймфрейм графика - "+EnumToString(_Period)+"."; Alert(message); //--- досрочный выход, не будем добавлять индикатор на график return false; } //--- все проверки прошли, символ и период индикатора соответствуют графику if(indicator_handle==INVALID_HANDLE) { Print(__FUNCTION__," Создаем индикатор MACD"); indicator_handle=iCustom(_Symbol,_Period,Inpshort_name); if(indicator_handle==INVALID_HANDLE) { Print("Не удалось создать индикатор MACD. Код ошибки ",GetLastError()); } } //--- сбросим код ошибки ResetLastError(); //--- накладываем индикатор на график Print(__FUNCTION__," Добавляем индикатор MACD на график"); Print("MACD построен на ",_Symbol,"/",EnumToString(_Period)); //--- получим номер нового подокна, в которое добавим индикатор MACD int subwindow=(int)ChartGetInteger(0,0); PrintFormat("Добавляем индикатор MACD на окно %d графика",subwindow); if(!ChartIndicatorAdd(0,subwindow,indicator_handle)) { PrintFormat("Не удалось добавить индикатор MACD на окно %d графика. Код ошибки %d", subwindow,GetLastError()); } //--- добавление индикатора на график прошло успешно return(true); } //+------------------------------------------------------------------+
Подскажите, пожалуйста, как программно из скрипта на график добавить индикатор?
ChartApplyTemplate() может помочь

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Подскажите, пожалуйста, как программно из скрипта на график добавить индикатор?