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

 
블라디미르 페레르벤코 :

다른 사람의 코드를 구문 분석하는 것은 여전히 직업입니다. custom_tester() 함수와 강조 표시된 부분만 봅니다.

결과 계산의 오류는 무엇입니까? result += testpr[i] - lastpr을 이전 값에 추가하여 각 반복에서 결과를 계산합니다. 이것은 현재 막대의 닫기와 이전 막대의 차이입니다. 이론상으로 Close - Open을 사용하는 것이 더 낫지만 상관없습니다. 또 다른 것이 중요합니다. 현재 막대가 닫힐 때 신호를 수신하면 신호 프리미엄을 동일한 막대의 diff(닫기)로 간주합니다. 이것은 사실이 아닙니다. 현재 막대의 신호 보너스는 다음 막대의 diff(닫기)입니다 . 결과를 올바르게 계산하려면 p = model.predict_proba(X) 를 오른쪽으로 1 bar 이동해야 합니다. 나는 R에서 더 많은 계산을 할 것입니다. 그것은 나에게 더 쉽습니다.

첫 번째 줄에서 - 우리는 예측을 명목(1,-1)으로 변환하고, 오른쪽 으로 한 막대만큼 이동하고, NA를 제거하고, 신호 벡터를 얻습니다. 두 번째 줄에서 신호 벡터와 diff(Close) 벡터의 곱을 누적 합산하여 미리 길이를 신호 벡터와 정렬합니다. 우리는 올바른 결과를 얻습니다.

행운을 빕니다

거래를 열 때 현재 가격이 저장됩니다. 사이클에서 신호가 변경되지 않은 경우 계속해서 가격을 유지하면서 공개 거래를 유지합니다.

신호가 다음 막대에서 변경된 경우 거래를 취소(최종 거래)하고 현재 가격에서 거래 시작 가격을 빼면 차액 = 손익, 잔액의 총 누적 금액에 추가

구매의 경우 현재 가격에서 시가를 뺍니다. 판매의 경우 그 반대의 경우도 마찬가지입니다. 오류가 없는 것 같습니다

현재 막대에 대한 신호를 받기 때문에 이동할 필요가 없습니다.

1 - 매도, 0 - 매수. 기존 지정. 테스터는 매우 간단합니다.

아마도 코드가 단축 될 수 있지만 귀찮게하지 않았습니다.

 
막심 드미트리예프스키 :

거래를 열 때 현재 가격이 저장됩니다. 사이클에서 신호가 변경되지 않은 경우 계속해서 가격을 유지하면서 공개 거래를 유지합니다.

신호가 다음 막대에서 변경된 경우 거래를 취소(최종 거래)하고 현재 가격에서 거래 시작 가격을 빼면 차액 = 손익, 잔액의 총 누적 금액에 추가

구매의 경우 현재 가격에서 시가를 뺍니다. 판매의 경우 그 반대의 경우도 마찬가지입니다. 오류가 없는 것 같습니다

현재 막대에 대한 신호를 받기 때문에 이동할 필요가 없습니다.

1 - 매도, 0 - 매수. 기존 지정. 테스터는 매우 간단합니다.

아마도 코드가 단축 될 수 있지만 귀찮게하지 않았습니다.

이것은 다른 접근 방식입니다. 이 옵션을 사용하면 모든 것이 올바른 것 같습니다. 내 의견을 철회합니다.

행운을 빕니다

 

반품에 관심이 있는 사람 - 의견의 일부 정보

https://smart-lab.ru/blog/569692.php#comments

Тестирование модели на машинном обучении. Часть четвертая.
Тестирование модели на машинном обучении. Часть четвертая.
  • smart-lab.ru
Тестирование модели на машинном обучении. Часть четвертая.
 
막심 드미트리예프스키 :

반품에 관심이 있는 사람 - 의견의 일부 정보

https://smart-lab.ru/blog/569692.php#comments

이름만 들어도 무섭다 :-)

 
젠장, 언제나처럼 쉬었다. Java에서 배열을 고유하게 만드는 것이 그렇게 번거롭다고 누가 생각이나 했겠습니까? :-(
 
그리고리 쇼닌 :

Python을 MT5에 연결하기 위한 라이브러리의 새 버전이 출시되었습니다. https://github.com/RandomKori/Py36MT5 링크를 상기시켜드리지만 문제가 있습니다. Visual Studio에서는 테스트 프로젝트가 제대로 작동하지만 MT에서는 이해할 수 없는 문제가 있습니다. 이제 라이브러리는 Python 스크립트가 있는 디렉토리에서 제대로 작동합니다. MT로 무리를 디버깅하는 방법을 상상할 수 없습니다. MT는 디버거로부터 보호됩니다. 누군가 디버깅하는 방법을 알고 있습니까?

안녕하세요,

라이브러리를 포함하는 방법을 알려주세요.

스크립트는 모든 디렉토리에 위치할 수 있습니까? 코드는 하드코딩되어 있습니다 - "C:\local\Scripts\"

dll이 "MQL5\ Libraries " 폴더에 있으면 라이브러리는 연결되지만 다른 모든 라이브러리 "python36.dll, kernell32 .dll 등"은 표시되지 않습니다.

Path 폴더에 python에 대한 경로를 등록했습니다.

pymt.dll을 올바르게 연결하는 방법은 무엇입니까?

 
 
 
 
 
막심 드미트리예프스키 :

확실한 재교육을 앞두고 있습니다. 오늘은 어제와 같은 것이 분명했다. 그래서 그들이 학습 과정에서 얻은 200년의 경험은 당신이 필요로 하는 것과는 거리가 멀다, 아아 :-(

 
마이클 마르쿠카이테스 :

확실한 재교육을 앞두고 있습니다. 오늘은 어제와 같은 것이 분명했다. 그래서 그들이 학습 과정에서 얻은 200년의 경험은 당신이 필요로 하는 것과는 거리가 멀다, 아아 :-(

그래, 지능이 제로
사유: