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

 
마이클 마르쿠카이테스 :

제가 그런 프로그래머입니다. 끝내기 전에는 아무도 정말 설명하지 않습니다 ... 일반적으로 사람들 !!!!! 여기 들어봐. 이제 중요한 긴 게시물이있을 것입니다 ......


그래서 그것은 일종의 진화입니다. do or die라고 합니다 :) 저는 정확히 같은 프로그래머입니다

 
마이클 마르쿠카이테스 :

기본적으로 사람!!!!! 여기 들어봐. 이제 중요한 긴 게시물이있을 것입니다 ......

선생님, 불타라!

 

미결제약정(OI)은 거래량의 성격을 결정하는 핵심 연결고리이기 때문에 제가 미결제약정(OI)에 대해 열광적인 감정을 갖고 있다는 것을 여러분 모두 잘 알고 있습니다. 델타와의 조합으로 ... ㅋㅋㅋㅋㅋ .... 손가락만 핥아줘 .... OI는 확실히 만병통치약은 아니지만, 10%만 올려도 모델의 퀄리티가 높아져도 이미 가중률이 높다!!!! 그리고 기적에 대해!!!! 나는 마침내 한낮에 그것에 도달했지만 불행히도 MT5에만 그러한 기능이 있으며 MT4에서 5로 전환하는 데 결정적인 요인이 되었습니다. 많은 시간을 절약하고 전환을 잘 시작하게 해 준 Rafil에게 깊은 감사를 드립니다. OG는 이미 작성 중이며 해당 주의 통계가 있습니다. 물론 이것은 여전히 충분하지 않지만 M5 TF에서 이미 시도를 시작할 수 있습니다. 특히 이 TF에서 Si에 대한 스프레드 효과는 전체 상품의 변동성에 비해 미미하기 때문입니다. 음 .. 데이터가 있습니다. 문제는 내가 생각한대로 작습니다. 모델을 훈련시키고 Delta+Volume+OI 조합이 무엇을 할 수 있는지 확인하십시오. 하지만 이건 작업이 아니라 모델에 대한 지표를 만들기 시작하자마자 Mkul5를 몰라서 많은 문제에 부딪혔지만, 이를 이겨내고 이미 결승선에 도달했다고 생각하고 그 아름답고 강력한 언어가 얼마나 오해의 벽에 걸려 넘어졌는지. 차량의 일반적인 개념은 다음과 같습니다.

Delta + AD(볼륨 대신 이것을 사용) + ROI를 지표로 사용합니다. ROI가 halyard에서 흔들리고 이상하게도 문제가 없지만 AD에는 실제로 문제가 있고 할 수 없습니다. 이유를 이해합니다.

교육 세트를 준비하기 위해 아래의 애플리케이션 스크립트를 사용하고 있습니다. 이 스크립트는 기본 전략 신호를 csv 파일에 업로드합니다. 다음으로, 우리는 모델을 만들고 그것을 다른 지표에 푸시합니다. 나는 2개를 가지고 있다. BuySi 및 SellSi는 AI를 포함하는 동일한 지표입니다. 입력을 제공하기 위해 이러한 표시기는 Delta+AD+OI 표시기 세트를 참조합니다. 지표의 지표, 특히 하나의 첨부 파일에 ... 글쎄, 어떤 문제가있을 수 있습니까 ... 그러나 아니오 ... 존재합니다 .... 그리고 나는 그러한 아름답고에 대한 지식을 염두에두고 있다고 생각합니다 훌륭한 언어 프로그래밍.... 그래서... 내가 무슨 말을 하는 겁니까... 오 예.... 문제는 이것입니다:

스크립트는 일부 데이터를 파일에 업로드하고 테스트 중에 신호가 나타나는 순간 다른 값이 인쇄물에 표시됩니다. 즉, 동일한 신호가 파일에 한 가지를 기록하지만 실제로 테스트 시에는 완전히 다른 신호가 입력에 공급됩니다. 그리고 여기에 역설이 있습니다. 핸들의 초기화와 버퍼 자체에 대한 호출은 스크립트에서 탄소 복사되었습니다. BUT BuySi는 제가 직접 확인했기 때문에 테스트 당시에 적절한 데이터를 다운로드 했습니다. 그리고 가장 흥미로운 점은 IO가 파일과 AI의 입력 모두에 동일하게 로드하지만 AD는 표준 터미널이라는 것입니다. 파일에는 실제로 다른 값이 있습니다. 테스트한 기기와 다른 기기의 인디케이터를 호출하려고 할 때 이 파라미터와 정확히 연결되어 있다고 생각합니다. 문제는 칠면조의 따옴표와 가치의 동기화에 있다고 생각합니다. 그런 결정을 내리기 위해서는 어떤 사전 준비가 필요하지 않을까? 그래서 사실 사람들에게 도움을 청합니다. 스크립트가 일부 iAD 값을 언로드하는 이유와 테스트 시 이러한 값이 다르므로 신호가 춤을 추기 시작합니다. 칠면조가 차트에있을 때, 즉 초기화 과정에서 계산되는 그림은 다음과 같습니다.

제 생각에는 멋집니다. OI의 영향은 바로 느껴지지만 테스터에서 실행하면 그림이 바뀌고.. 더 좋아지지는 않음

또한 테스터는 어떤 이유로 신호도 다른 두 번 실행합니다. 칠면조가 버퍼를 펌핑 할 시간을 갖기 위해. 지연으로 AI 계산을 해보니 4806은 더 이상 뜨지 않지만, 춤추는 신호와 STANDARD iAD 표시기가 있는 코드와 완전히 동일한 데이터의 차이가 너무 없어서 꽤 지쳐버렸습니다 도움이 되기를 바라는 마음으로 이 긴 글을 쓰게 되었습니다. 터키가 현재 악기가 아닌 다른 악기에서 호출될 때 문제가 정확히 iCustom에 있다고 생각합니다. 방금 OI가 이슬비를 내리기 시작했는데 특정 파일에서 강제로 로드하고 모든 것이 사라졌습니다. 하지만 iAD는 어떻게 해야 합니까 ???

이것이 데이터가 있는 파일을 생성하는 스크립트에서 호출하는 방법입니다.

AD_H = iAD ( "BR-12.17" ,   0 , VOLUME_REAL );   Sleep ( 1500 );

다음으로 버퍼에 이렇게 접근합니다...

   double AD( int index)
  {
   double MA[ 1 ];
   ResetLastError ();
   if ( CopyBuffer (AD_H, 0 ,index, 1 ,MA)< 0 )
     {
       PrintFormat ("Failed to copy data from the iMA indicator, error code %d", GetLastError ());
       return ( 0.0 );
     }
   return NormalizeDouble (MA[ 0 ], Digits ());
  }

그리고 나중에 이런 식으로 입력을 계산합니다.

       double AD=(AD(i+ 1 )-AD(i+PNT+ 1 ))*Cont;

모든 것이 스크립트에 있지만 핸들이 다음과 같이 형식이 지정되는 AI 표시기에서 어떻게 보이는지 보여줍니다.

AD_H = iAD ( "BR-12.17" ,   0 , VOLUME_REAL );  

이렇게 버퍼에 접근하는 중...

   double AD( int index)
  {
   double MA[ 1 ];
   ResetLastError ();
   if ( CopyBuffer (AD_H, 0 ,index, 1 ,MA)< 0 )
     {
       PrintFormat ("Failed to copy data from the iMA indicator, error code %d", GetLastError ());
       return ( 0.0 );
     }
   return NormalizeDouble (MA[ 0 ], Digits ());
  }

입장계산은...

       double AD=(AD(i+ 1 )-AD(i+PNT+ 1 ))*Cont;

모든 것이 어리석게 복사되었기 때문에 이것은 이해할 수 있습니다. 그러나 왜 최종 결과에 그러한 차이가 있습니까? 나는 여전히 이것이 다른 악기에 대한 칠면조의 부름 때문이라고 생각합니다. 다른 기기에서 표시기를 호출하기 전에 동기화 또는 일부 확인과 같은 실수로 아무것도 준비할 필요가 없습니다. 누가 이것을 생각합니까????

 
마법사_ :

선생님, 불타라!


(주).. 진지한 청중이 스스로 끌어올린 것을 바로 볼 수 있습니다. 뜨거운 논쟁이 될 것 같아요 :-)

 

이제 칠면조가 컴파일되어 파일에 쓰는 데이터를 정확히 인쇄했습니다. 그러나 테스트 중에는 동일한 입력 신호가 다른 값을 갖습니다. 어때요???

 

나는 키나가 없을 것이라고 본다 ???? 슬픔 :-(

 

추측이지만 -

AD는 볼륨에 따라 달라지며, 이는 제로 바의 값이 지속적으로 변경됨을 의미합니다. 미리 형성된 AD 값으로 파일을 채운 후 이 파일을 읽어서 테스트용으로 사용한다면, 이미 형성된 제로 바의 값을 그대로 유지하고 있는 시점에서 미래를 내다보는 것은 충분히 가능하다. EA 자체에는 알려지지 않았습니다.

 
박사 상인 :

추측이지만 -

AD는 볼륨에 따라 달라지며, 이는 제로 바의 값이 지속적으로 변경됨을 의미합니다. 미리 형성된 AD 값으로 파일을 채운 후 이 파일을 읽어서 테스트용으로 사용한다면, 이미 형성된 제로 바의 값을 그대로 유지하고 있는 시점에서 미래를 내다보는 것은 충분히 가능하다. EA 자체에는 알려지지 않았습니다.


아니요. 파일은 AD에 기록되지 않으며 모든 것은 기호에서 직접 가져옵니다. 이것은 동기화 확인이 부족하기 때문이라고 생각합니다. 그리고 또 다른 오류 4806이 지속적으로 발생했습니다. 메인터키 계산에 딜레이를 도입해서 오류가 사라졌는데 문제는 여전하네요... :-(

 

다음은 컴파일 후 터미널에서 출력한 것입니다.

2017.11.27 20:59:17.625 Buy_Si (Si-12.17,M5) 2017.11.23 11:05:00 1.0 -116.0 64.0 2292.0 -206.0 413 4

하지만 에이전트로부터.

2017.11.27 20:59:38.318 2017.11.23 11:10:40 2017.11.23 11:05:00 1.0 -116.0 140.0 -1889.0 -993.0 14

이것은 동일한 신호입니다. 시간 11:05 -116은 파일에서 가져온 ROI이며 동일합니다. 그런 다음 다른 문자의 세 가지 혈압 값이 있습니다. 다음으로 i bar, 매개변수 pont.

혈압 데이터가 다른 이유는 무엇입니까? 동기화 확인을 삽입했습니다 ....?

 

코드 없이는 아무것도 명확하지 않습니다.

단순히 지표 값을 읽고 로그(또는 나중에 비교하기 쉽게 하기 위해 csv 파일에 더 잘)에 쓰려면 최소한의 기능 세트로 간단한 Expert Advisor를 만들어야 합니다. 결과가 다른 두 번의 출시를 만들고 전문가 코드와 함께 서비스 데스크에 모두 보내고 터미널을 수정하게하십시오.
https://www.mql5.com/ru/forum/1111/page2096 에 코드를 첨부할 수도 있습니다. 지식이 있는 사람들이 무엇이 잘못되었는지 확인하고 설명할 것입니다.

사유: