А откуда такая уверенность, что в документации об этом кто-то написал?
уверенности нет - ну должно быть такое, что то, на подобие
-------------------------
вроде что то накопал - надо теперь вникнуть в это дело
- www.mql5.com
- www.mql5.com
https://www.mql5.com/ru/code/19003
Огромное Спасибо! Здоровья и Всех Благ!
Огромное Спасибо! Здоровья и Всех Благ!
Alexey Viktorov - Огромное Спасибо! Здоровья и Всех Благ!
нашёл Ваш скрипт https://www.mql5.com/ru/forum/326047/page3#comment_13826046
- www.mql5.com
Думал на думал - не нужная эта функция.- Потому что, у меня лучше вариант, уже и заложен в эксперте.
смена шаблона - Надо просто сохранить шаблон с Экспертом с уже заданными настройками.
Думал на думал - не нужная эта функция.- Потому что, у меня лучше вариант, уже и заложен в эксперте.
смена шаблона - Надо просто сохранить шаблон с Экспертом с уже заданными настройками.
скрипт слепил - для смены шаблона, на текущем графике.
//+------------------------------------------------------------------+ //| settings automatically.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 Template_1 = "Momentum"; // Имя шаблона(without '.tpl') //--- ENUM_TIMEFRAMES TimeFrame; // Change TimeFrame - Current = dont changed //+------------------------------------------------------------------+ //| Script program start function | //+------------------------------------------------------------------+ void OnStart() { //--- DeleteChart_1(); } //+------------------------------------------------------------------+ //| start function | //+------------------------------------------------------------------+ void DeleteChart_1(void) { long prevChart=0; bool errTemplate; if(TimeFrame!=PERIOD_CURRENT) { ChartSetSymbolPeriod(prevChart,ChartSymbol(prevChart),TimeFrame); } errTemplate=ChartApplyTemplate(prevChart,Template_1+".tpl"); if(!errTemplate) { Print("Error ",ChartSymbol(prevChart),"-> ",GetLastError()); } } //+------------------------------------------------------------------+
-------------
осталось долепить - запуск по времени.
осталось долепить - запуск по времени.
2020.10.03 16:49:56.344 2020.02.19 01:01:58 Error EURUSD-> 5019
- значит всё работает
//+------------------------------------------------------------------+ //| settings automatically.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" //--- #define InpMagic 131749285 //--- #include <Trade\PositionInfo.mqh> #include <Trade\Trade.mqh> #include <Trade\SymbolInfo.mqh> CPositionInfo m_position; // trade position object CTrade m_trade; // trading object CSymbolInfo m_symbol; // symbol info object //--- input string Template_1 = "Momentum"; // Имя шаблона(without '.tpl') input datetime InpMonday_1 = D'1970.01.01'; // without '.tpl' Time (00::00->off) //--- double m_adjusted_point; // point value adjusted for 3 or 5 points long m_monday_1=0; // uint SLEEPTIME=1; // Время паузы между повторами в секундах ENUM_TIMEFRAMES TimeFrame; // Change TimeFrame - Current = dont changed //+------------------------------------------------------------------+ //| Expert initialization function | //+------------------------------------------------------------------+ int OnInit() { //--- if(!m_symbol.Name(Symbol())) // sets symbol name return(INIT_FAILED);; //--- m_trade.SetExpertMagicNumber(InpMagic); m_trade.SetMarginMode(); m_trade.SetTypeFillingBySymbol(m_symbol.Name()); //--- tuning for 3 or 5 digits int digits_adjust=1; if(m_symbol.Digits()==3 || m_symbol.Digits()==5) digits_adjust=10; m_adjusted_point=m_symbol.Point()*digits_adjust; //--- set default deviation for trading in adjusted points m_trade.SetDeviationInPoints(3*digits_adjust); //--- MqlDateTime STime; //--- Monday TimeToStruct(InpMonday_1,STime); m_monday_1=STime.hour*60*60+STime.min*60; //--- return(INIT_SUCCEEDED); } //+------------------------------------------------------------------+ //| Expert deinitialization function | //+------------------------------------------------------------------+ void OnDeinit(const int reason) { //--- Print(TimeCurrent(),": ",__FUNCTION__," reason code = ",reason); } //+------------------------------------------------------------------+ //| Expert tick function | //+------------------------------------------------------------------+ void OnTick() { //--- if(m_symbol.Name(Symbol())) { SessionTime_1(); } } //+------------------------------------------------------------------+ //| Search trading signals | //+------------------------------------------------------------------+ bool SessionTime_1(void) { //--- bool res=false; //--- MqlDateTime STimeCurrent; TimeToStruct(TimeCurrent(),STimeCurrent); long time_current=STimeCurrent.hour*60*60+STimeCurrent.min*60+STimeCurrent.sec; if(m_monday_1==0) return(res); //--- Monday time 1 if(m_monday_1!=0 && (time_current>=m_monday_1 && time_current<m_monday_1+60)) { datetime last_setup=0; MqlDateTime SLastSetup; TimeToStruct(last_setup,SLastSetup); long time_last_setup=SLastSetup.hour*60*60+SLastSetup.min*60+SLastSetup.sec; if(SLastSetup.day_of_week==1 && (time_last_setup>=m_monday_1 && time_last_setup<m_monday_1+60)) return(true); if(1>0) { Sleep(SLEEPTIME+59*1000); { DeleteChart_1(); PlaySound("request.wav"); } res=true; } } //--- return(res); } //+------------------------------------------------------------------+ //| start function | //+------------------------------------------------------------------+ void DeleteChart_1(void) { long prevChart=0; bool errTemplate; if(TimeFrame!=PERIOD_CURRENT) { ChartSetSymbolPeriod(prevChart,ChartSymbol(prevChart),TimeFrame); } errTemplate=ChartApplyTemplate(prevChart,Template_1+".tpl"); if(!errTemplate) { Print("Error ",ChartSymbol(prevChart),"-> ",GetLastError()); } } //+------------------------------------------------------------------+
----------------------------------
осталось - в своего эксперта вписать этот код
------------------------------
не, нужно ещё проверить - что то он кажись два раз чего то там пытается
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования
Может кто направит на страничку Документации - как это можно реализовать?
что то нашёл - пока не пойму что это, но слово ".set" присутствует