Experts: Download all ticks of a symbol's history

 

Download all ticks of a symbol's history:

마켓 워치의 모든 심볼에 대해 브로커에서 모든 틱을 다운로드합니다. 모든 기록 또는 가능한 경우 과거의 특정 날짜까지 다운로드합니다.

Author: Lorentzos Roussos

 

데이터 분석, 데이터 과학 및 데이터 시각화를 위한 기능

Библиотеки: 멀티테스터

fxsaber, 2020.01.25 12:39

틱 기록을 다운로드하는 가장 편리한 방법 ( 터미널에서 어드바이저 실행).

#property description "Закачивает тики через Тестер."

sinput datetime inFromDate = D'2019.01.01'; // С какой даты закачать тики
sinput bool inAllSymbols = 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();
  }
}


그런 다음 터미널에서 틱과 함께 작동하는 스크립트를 실행할 수 있으며 생명의 징후없이 오래 기다리지 않아도됩니다.

 
fxsaber #:

좋은, 감사합니다

때때로 다운로드가 중단되고 차트 주변의 "배치"및 "희망"이 서버에 대한 요청이 너무 커서 문제를 해결하는 것 같습니다.