다른 사람의 코드를 구문 분석하는 것은 여전히 직업입니다. custom_tester() 함수와 강조 표시된 부분만 봅니다.
결과 계산의 오류는 무엇입니까? result += testpr[i] - lastpr을 이전 값에 추가하여 각 반복에서 결과를 계산합니다.이것은 현재 막대의 닫기와 이전 막대의 차이입니다. 이론상으로 Close - Open을 사용하는 것이 더 낫지만 상관없습니다. 또 다른 것이 중요합니다. 현재 막대가 닫힐 때 신호를 수신하면 신호 프리미엄을 동일한 막대의 diff(닫기)로 간주합니다. 이것은 사실이 아닙니다. 현재 막대의 신호 보너스는 다음 막대의 diff(닫기)입니다 . 결과를 올바르게 계산하려면p = model.predict_proba(X)를 오른쪽으로 1 bar 이동해야 합니다. 나는 R에서 더 많은 계산을 할 것입니다. 그것은 나에게 더 쉽습니다.
첫 번째 줄에서 - 우리는 예측을 명목(1,-1)으로 변환하고, 오른쪽 으로 한 막대만큼 이동하고, NA를 제거하고, 신호 벡터를 얻습니다. 두 번째 줄에서 신호 벡터와 diff(Close) 벡터의 곱을 누적 합산하여 미리 길이를 신호 벡터와 정렬합니다. 우리는 올바른 결과를 얻습니다.
행운을 빕니다
거래를 열 때 현재 가격이 저장됩니다. 사이클에서 신호가 변경되지 않은 경우 계속해서 가격을 유지하면서 공개 거래를 유지합니다.
신호가 다음 막대에서 변경된 경우 거래를 취소(최종 거래)하고 현재 가격에서 거래 시작 가격을 빼면 차액 = 손익, 잔액의 총 누적 금액에 추가
구매의 경우 현재 가격에서 시가를 뺍니다. 판매의 경우 그 반대의 경우도 마찬가지입니다. 오류가 없는 것 같습니다
Python을 MT5에 연결하기 위한 라이브러리의 새 버전이 출시되었습니다. https://github.com/RandomKori/Py36MT5 링크를 상기시켜드리지만 문제가 있습니다. Visual Studio에서는 테스트 프로젝트가 제대로 작동하지만 MT에서는 이해할 수 없는 문제가 있습니다. 이제 라이브러리는 Python 스크립트가 있는 디렉토리에서 제대로 작동합니다. MT로 무리를 디버깅하는 방법을 상상할 수 없습니다. MT는 디버거로부터 보호됩니다. 누군가 디버깅하는 방법을 알고 있습니까?
안녕하세요,
라이브러리를 포함하는 방법을 알려주세요.
스크립트는 모든 디렉토리에 위치할 수 있습니까? 코드는 하드코딩되어 있습니다 - "C:\local\Scripts\"
dll이 "MQL5\ Libraries " 폴더에 있으면 라이브러리는 연결되지만 다른 모든 라이브러리 "python36.dll, kernell32 .dll 등"은 표시되지 않습니다.
다른 사람의 코드를 구문 분석하는 것은 여전히 직업입니다. 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
반품에 관심이 있는 사람 - 의견의 일부 정보
https://smart-lab.ru/blog/569692.php#comments
이름만 들어도 무섭다 :-)
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년의 경험은 당신이 필요로 하는 것과는 거리가 멀다, 아아 :-(