트레이딩의 머신러닝: 이론, 모델, 실전 및 알고리즘 트레이딩 - 페이지 1849

 
마이클 마르쿠카이테스 :
표준적으로는 hictom을 통해... 각 틱 이 기록된 파일에서 데이터를 읽고, 새로운 막대가 나타날 때 인디케이터를 읽고, 약간 잘못된 값을 취하는 것으로 나타났습니다. 기억...

모든 틱이 쓰여지는 것은 아니라는 사실부터 시작합시다.

   if ((interest!=inter))
  {

   MqlTick last_tick;
   if ( SymbolInfoTick (Name_instrFS,last_tick)) 
    StartDate=last_tick.time;
     else StartDate= TimeCurrent ();
     for ( int i= 0 ;i< 100 && ! IsStopped ();i++)
    { 
      h= FileOpen ( "OpenI\\" +Name_instr+ "_OI.csv" , FILE_WRITE | FILE_READ | FILE_ANSI | FILE_CSV | FILE_COMMON | FILE_SHARE_READ , "," );
       if (h!= INVALID_HANDLE )                                                         
       {  
         
         FileSeek (h, 0 , SEEK_END );
         FileWrite (h,StartDate, DoubleToString (interest, 0 )); 
         FileClose (h); 
         Sleep ( 100 );
         break ; 
       }
    }   
    inter=interest;
   // byOR=byORD;
   // sellOR=sellORD;
  }

OI는 변경되고 10초 이상(동일한 라인의 쓰기 주기 100회 곱하기 각 쓰기 후 대기 시간 0.1초)초 이상 변경된 경우에만 기록됩니다. 실제로 많은 틱을 건너 뛰기 때문에 재생 중에 더 이상 정확한 동기화가 불가능합니다. 나는 틱으로 작업하지 않지만 테스터의 모든 틱을 확인하거나 악기(자산)를 구매/판매한 틱만 확인합니까?

닫힌 분의 결과에 따라 OI를 작성하는 것이 좋습니다. 정크 데이터가 적고 표시기의 동기화가 더 편리합니다.


지표에 따르면-역사에 무언가가 그려졌습니다-정확히 말합시다.

그런 다음 0 막대에서 그러한 파슬리는 간다

  BufOI[ 0 ]= SymbolInfoDouble ( Symbol (), SYMBOL_SESSION_INTEREST );
 LastUPdate= FileGetInteger ( "OpenI\\" +FileName1, FILE_MODIFY_DATE , true );
   if ((LastUPdate!=UPdate))
     {
       int h= FileOpen ( "OpenI\\" +FileName1, FILE_READ | FILE_ANSI | FILE_CSV | FILE_COMMON , "," );
       string str= FileReadString (h);                             // читаем очередную строку из файла

    BufOI[ 1 ]= StringToDouble (str);
       FileClose (h);
   BufOI[ 0 ]=BufOI[ 1 ];

 UPdate=LastUPdate;   

우리는 서버에서 틱 데이터를 가져오고 테스터에 없으며 사용되지 않습니다.

그런 다음 라이브 15분마다 업데이트되지만 테스터에서는 업데이트되지 않는 새 파일 수정 날짜가 나타나면 파일에서 데이터를 읽습니다(마지막 줄) FileName1=_Symbol+FileNames+"_TMP.csv"; 수신된 데이터의 값을 첫 번째 막대에 할당하고 파일을 닫고 값을 0 막대에도 할당합니다. 글쎄, 테스터의 그러한 옵션은 어떤 식 으로든 작동하지 않을 것이 분명합니다.

기록 작업과 실시간 작업을 위해 두 가지 표시기 모드가 필요합니다.


기록에서 데이터의 정확성을 확인했습니다. 그렇지 않으면 파일의 데이터를 이상하게 읽습니다 ...

         while (! FileIsEnding (h))
           {
             ArrayResize (oi,ct+ 2 , 1000 );
             string str= FileReadString (h);                             // читаем очередную строку из файла
             if (cnt== 0 ) oi[ct].time= StringToTime (str);                 //если запись первая, т.е. дата, то конвертируем из стринга в дататайм
             else if (cnt== 2 ) oi[ct].oi= StringToDouble (str);   //если запсиь вторая, т.е. ОИ, то конвертируем в инт и 

            cnt++; // увеличиваем счетчик прочитанных строк
             if ( FileIsLineEnding (h)) {cnt= 0 ; ct++;}
           }

데이터를 고려한 것으로 나타났다.

 
알렉세이 비아즈미킨 :

모든 틱이 쓰여지는 것은 아니라는 사실부터 시작합시다.

OI는 변경되고 10초 이상(동일한 라인의 쓰기 주기 100회 곱하기 각 쓰기 후 대기 시간 0.1초)초 이상 변경된 경우에만 기록됩니다. 실제로 많은 틱을 건너 뛰기 때문에 재생 중에 더 이상 정확한 동기화가 불가능합니다. 나는 틱으로 작업하지 않지만 테스터의 모든 틱을 확인하거나 악기(자산)를 구매/판매한 틱만 확인합니까?

닫힌 분의 결과에 따라 OI를 작성하는 것이 좋습니다. 정크 데이터가 적고 표시기의 동기화가 더 편리합니다.


지표에 따르면-역사에 무언가가 그려졌습니다-정확히 말합시다.

그런 다음 0 막대에서 그러한 파슬리는 간다

우리는 서버에서 틱 데이터를 가져오고 테스터에 없으며 사용되지 않습니다.

그런 다음 라이브 15분마다 업데이트되지만 테스터에서는 업데이트되지 않는 새 파일 수정 날짜가 나타나면 파일에서 데이터를 읽습니다(마지막 줄) FileName1=_Symbol+FileNames+"_TMP.csv"; 수신된 데이터의 값을 첫 번째 막대에 할당하고 파일을 닫고 값을 0 막대에도 할당합니다. 글쎄, 테스터의 그러한 옵션은 어떤 식 으로든 작동하지 않을 것이 분명합니다.

기록 작업과 실시간 작업을 위해 두 가지 표시기 모드가 필요합니다.


기록에서 데이터의 정확성을 확인했습니다. 그렇지 않으면 파일의 데이터를 이상하게 읽습니다 ...

데이터를 고려한 것으로 나타났다.

여기에서 나는 당신에게 절대적으로 동의합니다. 그리고 그는 분 안에 여러 값을 데이터에 기록합니다. 이것은 모든 틱 이 아니지만 여전히 그렇습니다. 그런 다음 이 데이터에서 모든 TF를 빌드합니다.

TMP 파일에 대해 이것은 이미 내 글이었습니다. 새 양초가 도착했을 때 칠면조가 업데이트되도록 만들었는데 거기에서 나온 것이 실제 생활에서 사실인 것 같습니다. 그러나 어느 시점에서 이전 양초의 마지막 값이나 이미 열려 있는 양초의 첫 번째 값을 캡처합니다. 저자에게 몇 분 동안 다시 해달라고 요청했지만 결과는 나오지 않았습니다.

결과적으로 국회의 입력에서 실제 결과를 얻으려면 지표가 올바르게 초기화되고 올바른 결과를 제공하도록 각 신호에서 Expert Advisor를 다시 컴파일해야한다는 것을 기억했습니다. 이로부터 현재 신호가 변경될 수 있습니다. 이거 진짜 스트레스였음...

Основы тестирования в MetaTrader 5
Основы тестирования в MetaTrader 5
  • www.mql5.com
Идея автоматической торговли привлекательна тем, что торговый робот может без устали работать 24 часа в сутки и семь дней в неделю. Робот не знает усталости, сомнений и страха,  ему не ведомы психологические проблемы. Достаточно четко формализовать торговые правила и реализовать их в виде алгоритмов, и робот готов неустанно трудиться. Но прежде...
 
마이클 마르쿠카이테스 :

여기에서 나는 당신과 절대적으로 동의합니다. 그리고 그는 분 안에 여러 값을 데이터에 기록합니다. 이것은 모든 틱 이 아니지만 여전히 그렇습니다. 그런 다음 이 데이터에서 TF를 빌드합니다.

그래서 1분 안에 OI를 여러 번 쓰는 게 무슨 소용인가, 지표에서 데이터를 가져오면 TF가 더 적을 것입니다. 그리고 예, 제가 틀렸습니다. 성공적으로 기록되었다면 사이클에서 빠져나온 것입니다. 그러나 여전히 최소 간격은 0.1초입니다. 당신은 진드기에 모델을 구축하고 있습니까?

마이클 마르쿠카이테스 :

TMP 파일에 대해 이것은 이미 내 글이었습니다. 새 양초가 도착했을 때 칠면조가 업데이트되도록 만들었는데 거기에서 나온 것이 실제 생활에서 사실인 것 같습니다. 그러나 어느 시점에서 이전 양초의 마지막 값이나 이미 열려 있는 양초의 첫 번째 값을 캡처합니다. 저자에게 몇 분 동안 다시 해달라고 요청했지만 결과는 나오지 않았습니다.

따라서 실제로 이 줄의 표시기에서는 매우 간단합니다. 시장에서 가져올 수 있다면 파일에서 데이터를 읽는 이유는 무엇입니까?

BufOI[ rates_total-1 ]= SymbolInfoDouble ( Symbol (), SYMBOL_SESSION_INTEREST );

테스터에서는 이력이 비주얼라이저에서 제대로 그려지는데 확인하셨나요?

 
마이클 마르쿠카이테스 :

결과적으로 국회의 입력에서 실제 결과를 얻으려면 지표가 올바르게 초기화되고 올바른 결과를 제공하도록 각 신호에서 Expert Advisor를 다시 컴파일해야한다는 것을 기억했습니다. 이로부터 현재 신호가 변경될 수 있습니다. 이거 진짜 스트레스였음...

기이한. 그러나 그는 Advisor에 대한 표시기를 완전히 포기하고 즉시 파일에서 구조로 읽고 배열 구조에 이미 있는 값을 검색할 수 있습니까?

며칠 안에 Si에 대한 OI 아카이브를 재설정합니다. 그렇게 추론하는 것은 추상적으로 어렵습니다.
 
도서관 :

나도 비슷한 생각이 있었지만 지금까지는 다른 생각으로 바빴습니다. 나는 이것을 곧 실험하기를 바랍니다.
또한 모델이 10개의 더 작은 데이터 영역에서 학습한다는 단점도 있습니다. 이 경우 일반화 능력이 떨어질 것 같습니다.

9/10에 연구하고 샘플의 나머지 1/10을 잘라내는 다른 방법이 가능합니다.

 
알렉세이 비아즈미킨 :

9/10에 연구하고 샘플의 나머지 1/10을 잘라내는 다른 방법이 가능합니다.

알렉세이 비아즈미킨 :

그래서 1분 안에 OI를 여러 번 쓰는 게 무슨 소용인가, 지표에서 데이터를 가져오면 TF가 더 적을 것입니다. 그리고 예, 제가 틀렸습니다. 성공적으로 기록되었다면 사이클에서 빠져나온 것입니다. 그러나 여전히 최소 간격은 0.1초입니다. 당신은 진드기에 모델을 구축하고 있습니까?

따라서 실제로 이 줄의 표시기에서는 매우 간단합니다. 시장에서 가져올 수 있다면 파일에서 데이터를 읽는 이유는 무엇입니까?

테스터에서는 이력이 비주얼라이저에서 제대로 그려지는데 확인하셨나요?

예, 하지만 연결이 끊어지면 구멍이 생깁니다. 역사의 완전성에 대한 점검은 없습니다. 그리고 분 단위로, 나는 완전히 동의합니다.

올림픽 아카이브

http://fayloobmennik.cloud/7399404

 
마이클 마르쿠카이테스 :

예, 하지만 연결이 끊어지면 구멍이 생깁니다. 역사의 완전성에 대한 점검은 없습니다. 그리고 분 단위로, 나는 완전히 동의합니다.

올림픽 아카이브

http://fayloobmennik.cloud/7399404

그러면 연결이 끊어졌을 때 파일에 데이터가 어떻게 기록됩니까?

 
로만 :

기본 데이터에는 디지털 가치를 제공하는 많은 지표가 있습니다.
여기 사이트에서도 뉴스 캘린더 는 이벤트에 대한 통계를 제공합니다.
예, 동의합니다. 연설문에는 숫자 값이 없습니다.
따라서 그러한 데이터는 아마도 0 1로 분류되어야 합니다.
가장 중요한 것은 긍정적 인 말과 부정적인 것을 구별하는 법을 배우는 것입니다))
그러나 지금, 이것은 또한 생각해야 할 아이디어입니다! ))

기초를 사용하기 위해 일부 숫자가 누락되었습니다.

내가 기억하는 한, 나는 어떤 금전적 집계도 찾지 못했다.

그래서 그들 중 일부는 약 2010년 이후로 공개 도메인에 배치되지 않았습니다.

 
마이클 마르쿠카이테스 :

예, 하지만 연결이 끊어지면 구멍이 생깁니다. 역사의 완전성에 대한 점검은 없습니다. 그리고 분 단위로, 나는 완전히 동의합니다.

올림픽 아카이브

http://fayloobmennik.cloud/7399404

분봉이 열릴 때 OI를 종전 기록으로 받아들여야 한다는 점에 동의하는가? 예를 들어, 23:49:55에 대해 10:00분에 시작합니다.

내가 이해하는 한 M1의 표시기를 사용하고 0 막대에서 필요한 모든 정보를 가져오고 원하는 시프트가 있는 표시기 버퍼의 정보 요청을 고려하여 EA에서 다른 비교를 수행하는 것이 좋습니다.

파일의 세 번째 값(첫 번째 날짜, 두 번째 OI 및 세 번째)에 대해 무엇을 가지고 있습니까? 델타를 생각했지만 작동하지 않습니다.

일반적으로 표시기 를 다시 수정했습니다. 위에서 쓴 대로 정확히 OI를 읽고 표시하며 작업 속도가 크게 증가했습니다. 테스트해 보세요.

예, 파일에 데이터가 있고 중단된 경우 파일에서 읽기가 작동해야 하지만 시장이 닫혀 확인하지 않았습니다.

파일:
OI_Test.mq5  16 kb
 
알렉세이 비아즈미킨 :

그러면 연결이 끊어졌을 때 파일에 데이터가 어떻게 기록됩니까?

중단이 브로커 측에서 전역적으로 발생하면 아무 것도 수행할 수 없습니다. 데이터 절약 조언자는 VPS 서버 에 있으며 데이터는 손실 없이 작성되었다고 말할 것입니다.
사유: