Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий
fxsaber, 2020.01.25 12:39
最方便的方法是下载勾选历史记录(在终端 运行顾问)。
#property description "Закачивает тики через Тестер。" sinput datetime inFromDate = D'2019.01.01'; // С какой даты закачать тики sinput bool inAllSymbols = false; // По всем символам (true) или текущему (false) #include <fxsaber\MultiTester\MTTester.mqh> //https://www.mql5.com/ru/code/26132 string PrevTesterSettings = NULL; string GetMyName( void ) { return(StringSubstr(MQLInfoString(MQL_PROGRAM_PATH), StringLen(TerminalInfoString(TERMINAL_DATA_PATH) + "\\MQL5\\Experts\\"))); } bool RunMe( const datetime FromDate, const bool AllSymbols = false ) { const string Str = "[Tester]" + "\nExpert=" + GetMyName() + "\nSymbol=" + _Symbol + "\nOptimization=" + (AllSymbols ? "3" : "0") + "\nModel=4" + "\nFromDate=" + TimeToString(FromDate, TIME_DATE) + "\nToDate=" + TimeToString(TimeCurrent(), TIME_DATE) + "\nForwardMode=0" + "\nProfitInPips=1" + "\nOptimizationCriterion=0" + "\nVisual=0"; return(MTTESTER::SetSettings2(Str) && MTTESTER::ClickStart()); } int OnInit() { bool Res = !MQLInfoInteger(MQL_TESTER) && EventSetTimer(1); if (Res = Res && MTTESTER::GetSettings(PrevTesterSettings)) if (!(Res = RunMe(inFromDate, inAllSymbols))) MTTESTER::SetSettings2(PrevTesterSettings); return(Res ? INIT_SUCCEEDED : INIT_FAILED); } void OnTimer() { if (MTTESTER::IsReady()) { MTTESTER::SetSettings2(PrevTesterSettings); if (inAllSymbols) MTTESTER::CloseNotChart(); ExpertRemove(); } }
在此之后,您可以在终端中运行脚本来处理刻度,而不必长时间等待而没有生命迹象。
Download all ticks of a symbol's history:
从经纪商处下载市场观察中所有符号的所有刻度线。 下载所有历史记录或直至过去某个特定日期的历史记录(如果有)。
Author: Lorentzos Roussos