기고글 토론 "Python과 MQL5로 로봇 개발하기(1부): 데이터 전처리" - 페이지 6

 
그건 그렇고, 고정 표지판에 대한 또 다른 관찰입니다.

테스트에서 XGBoost 모델은 다른 날짜에 몇 번 실행하든 상관없이 현재 징후가있는 다른 날짜에 수십 번 수익성있는 포워드를 차례로 보여줍니다. 나는 초보자이지만 바보는 아니지만 2007-2016 년 훈련을 중단 한 다음 순수 포워드 테스트를 중단했습니다. 위험 보상 거래가 1 : 8 인 태그의 정확도는 선물 거래에서 평균 66 %이며 때로는 XGB가 72-74 %를 쫓아냅니다. 다른 모든 모델, 신경망, 다른 모든 부스팅, 무작위 숲 - 불경스럽게 쏟아집니다.

10년 이상 중고 모델을 포워드에 쏟아 부었다면 현재 특성이 있는 사이클의 첫 번째 기사도 게시하지 않았을 것입니다.

XGB 모델이 수많은 예측 및 데이터 과학 경연 대회에서 우승하는 데에는 이유가 있습니다. 원시 데이터로 작업하는 방법을 잘 알고 있기 때문입니다. 그리고 교차 유효성 검사 기능도 내장되어 있습니다. 나는 지인 과학자, 과학 박사로부터 그것에 대해 들었고, 그는 그것을 예측에 사용하고, 음, 거래도하고, 그는 나에게 이익 계수가 55 인 거래 보고서를 던졌지 만 인터넷에서 사라졌고, 그는 많은 발전을 이루었고, 그에게 무슨 일이 일어날 수 있었는지 분명하지 않습니다. 사실 몇 년 전에 저를 MO로 데려온 것은 그와 Maxim Dmitrievsky의 슈퍼 기사였습니다.

그러나 XGB는 배우는 데 매우 오랜 시간이 걸립니다. 마지막 모델은 이틀 동안 훈련을 받았는데 이미 기다리는 데 지쳤고 일반 부울은 일반적으로 서버에서 몇 분 안에 배우는 반면, 나는 이미 기다리는 데 지쳤습니다. 그러나 저에게 이것은 알고리즘의 복잡성과 효율성을 어느 정도 나타내는 지표입니다. 연구를 위해 더 강력한 서버를 빌리러 갈 것입니다.

ONNX 버전의 무게가 너무 무겁지 않고 줄이 너무 많지 않기를 바랍니다. MQL5에서는 ONNX 모델 데이터의 행 수에 제한이 있습니다. 나는 한때 1 억 행으로 모델을 훈련 시켰는데 그것에 대해 매우 화가 났고, mcl은 그것을 사용하지 못하게합니다) 나는 그것이 많은 무게를 가질 것이라고 생각하고 이것을 예상하고 파이썬을 통해 직접 온라인 거래를위한 모델을 만들었고, 월요일에 테스트 할 다음 기사에서 나타날 것입니다. 시리즈의 초안은 이미 완성되었습니다. 처음에는 모든 것을 한 장에 게시하고 싶었지만 행정부가 허락하지 않았고 아마도 그런 엉망진창을 읽는 것이 지루할 것입니다).

파이썬 라이브러리 mkle에 가격 스택의 내역을 가져 오는 함수가 있다는 점, 모델을 훈련시키고 스택에서 프로파 크 거래를하는 사람들을 스캘핑하면 어떻게 될까요, 그리고 꽤 성공적으로. 소품 트레이더의 경험으로 판단하면 제가 그런 아이디어를 가진 최초의 사람은 아니며 MO에는 오랫동안 이러한 스캘핑 알고리즘이 많이있었습니다. 스캘핑은 수익성을 매일매일 커버할 수 있기 때문에 매력적입니다. 저는 러시아에 외국인 투자자로서 Finam 계좌를 가지고 있습니다.) 따라서 시리즈의 마지막 기사는 Finam 또는 AMP Futures Europe을 통해 모스크바 거래소 또는 CME에서 이러한 스캘퍼에 전념 할 것입니다.

또한 파이썬에 대한 컴퓨터 비전 초안이 있으며 현재주기 후에 이에 대한 기사를 작성할 것입니다.

아이디어가 정말 많아서 매일 새로운 아이디어가 나타나고 코드를 작성하고 있습니다. 아내는 이미 돈을 벌자고 말하지만, 당신이 가진 것을 가지고 미국 Prop USA를 가져 가서 돈을 벌자고 말합니다. 이미 수십 명의 훈련된 모델이 있습니다. 하지만 저는 연구에 더 관심이 많아요. 사실인 것 같으니 계정을 만들고 진정해야겠어요. 2 월에 계정을 만들었는데 메타 쿼터가있는 소품에 문제가있어서 안타깝게도 소품이 라이선스를 구매하고 싶지 않았고 화학을하고 싶지 않았다는 것을 이해합니다. 운 좋게도 제 소품이 MT 5를 제거했고, MT 5 대신에 다른 터미널을 통해 손으로 거래하곤했는데 결국 잃었습니다. MT 5가있는 다른 소품에 새 계정을 만들고 거래가 어떻게 진행되고 있는지에 대한 뉴스를 작성하겠습니다.

최고의 예측자의 선택이 FORWARD 날짜로 제한되어야한다는 사실에 대해서는 매우 좋은 생각이며 어떻게 든이 점을 놓쳤습니다).
 

2010년 이전의 훈련, 2010년의 포워드 샘플.

예를 들어, 모델을 별도로 테스트하기 위해 EXAMWARD 샘플도 구현했는데, 그 결과는 다음과 같습니다. 다른 모든 모델과 신경망은 첫날부터 이러한 기능에 쏟아져 나왔습니다.

 

그리고 이것이 단순한 포워드와 다른 점입니다:

그리고 교차 유효성 검사, 모델 배깅(예, 이 모든 것이 기본적으로 XGB에 포함되어 있지만 제가 구현하기로 결정했습니다), 그리드 하이퍼파라미터 열거 등과 같은 칩이 포함된 포워드입니다:


 
Yevgeniy Koshtenko #:
클래스 레이블이 재설정되지 않는다면 레이블을 예측하는 가장 좋은 기능은 레이블 자체가 될 것 같지 않나요?

레이블을 재설정하지 않고(동의어로 재설정-지우기를 의미) 레이블이 포함된 열을 제외하고 레이블 자체를 모델에 대상으로 별도로 공급하는 것, 즉 레이블에 대한 정보가 재설정되지 않고 취소 불가능하게 사라지지 않고 모델 학습 시 사용되는 것입니다.

 
Yevgeniy Koshtenko #:
테스트에서 XGBoost 모델은 다른 날짜에 아무리 많이 실행해도 현재 징후가있는 다른 날짜에 수십 번 수익성있는 포워드를 차례로 보여줍니다. 나는 초보자이지만 바보는 아니지만 2007-2016 년 훈련을 중단 한 다음 순수 포워드 테스트를 중단했습니다. 위험 보상 거래가 1 : 8 인 태그의 정확도는 선물 거래에서 평균 66 %이며 때로는 XGB가 72-74 %를 쫓아냅니다. 다른 모든 모델, 신경망, 다른 모든 부스팅, 무작위 숲 - 불경스럽게 쏟아집니다.

이 기사에는 많은 신인 실수가 있습니다 - 이전에 쓴 것처럼 동일한 코드를 사용하면 기적이있을 수 있습니다.

데모에서 한 달 동안 솔루션을 거래 한 다음 샘플을 추가하여 모델을 테스트하여 진입 점을 비교해보십시오.

XGB의 기적, 특히 하이퍼파라미터를 발견한 방법에 대해 읽은 것은 확실히 흥미로웠습니다 - 저는 그것에 매우 민감하다는 것을 읽었습니다.

 
Rashid Umarov #:

기분을 상하게 하지 않으려고 그런 가정을 하려던 건 아닙니다 :)

따라서 앞으로는 질책하기 전에 출처를 확인하세요.

터미널이 휴대용 모드로 설치되어 있는데 어떤 식으로든 "휴대용" 키를 작성해야 하나요?

터미널이 실행 중이면 코드가 작동하지 않고 전원을 끄면 키 없이도 부팅을 시도하지만 작동하지 않습니다.

 
Aleksey Vyazmikin #:

단말기가 휴대용 모드로 설치되어 있는데 어떤 식으로든 "휴대용" 키를 작성해야 하나요?

터미널이 실행 중이면 코드가 작동하지 않고 전원을 끄면 키가 없어도 부팅을 시도하지만 이 역시 작동하지 않습니다.

터미널에서 직접 실행해 보세요. 차트에 스크립트를 던지기만 하면 '전문가' 탭에 결과가 인쇄됩니다.

메타 편집기에서 파이썬 폴더의 경로를 지정해야 할 수도 있습니다.

저에게는 그렇게 작동합니다. 하지만 많은 춤 끝에))))

 
Aleksandr Slavskii #:

터미널에서 직접 실행해 보세요. 차트에 스크립트를 던지기만 하면 '전문가' 탭에 결과가 인쇄됩니다.

메타 편집기에서 파이썬 폴더의 경로를 지정해야 할 수도 있습니다.

저에게는 그렇게 작동합니다. 하지만 많은 춤 끝에))))

휴대용 모드에서 터미널을 사용하고 있나요?

ME에서는 경로가 지정되어 있습니다(자동으로 표시됨).

 
Aleksey Vyazmikin #:

단말기를 휴대용 모드로 사용 중이신가요?

ME에서는 경로가 지정되어 있습니다(자동으로 표시됨).

휴대용 버전에서 확인했는데 모든 것이 작동합니다.

두 개의 터미널이 실행 중이고 터미널 경로가 스크립트에 지정되지 않은 경우 컴파일을 시도할 때 터미널 중 하나에서 오류가 발생합니다.

 
Aleksandr Slavskii #:

휴대용 버전에서 확인하면 모든 것이 작동합니다.

두 개의 터미널이 실행 중이고 터미널 경로가 스크립트에 지정되지 않은 경우 컴파일을 시도할 때 터미널 중 하나에서 오류가 발생합니다.

터미널에서 실행했습니다.

2024.04.01 17:22:57.397 synergy_ml_bot (EURUSD,Monthly) Number of instruments in the terminal: 140
2024.04.01 17:22:57.397 synergy_ml_bot (EURUSD,Monthly) Data for EURUSD not available (attempt 1)
2024.04.01 17:22:58.416 synergy_ml_bot (EURUSD,Monthly) Number of instruments in the terminal: 140
2024.04.01 17:22:58.416 synergy_ml_bot (EURUSD,Monthly) Data for EURUSD not available (attempt 2)
2024.04.01 17:22:59.416 synergy_ml_bot (EURUSD,Monthly) Number of instruments in the terminal: 140
2024.04.01 17:22:59.416 synergy_ml_bot (EURUSD,Monthly) Data for EURUSD not available (attempt 3)
2024.04.01 17:23:00.418 synergy_ml_bot (EURUSD,Monthly) Number of instruments in the terminal: 140
2024.04.01 17:23:00.418 synergy_ml_bot (EURUSD,Monthly) Data for EURUSD not available (attempt 4)
2024.04.01 17:23:01.421 synergy_ml_bot (EURUSD,Monthly) Number of instruments in the terminal: 140
2024.04.01 17:23:01.421 synergy_ml_bot (EURUSD,Monthly) Data for EURUSD not available (attempt 5)

터미널에 대한 경로가 양방향으로 지정되었습니다.

terminal_path = "C:/FX/MT5_02/terminal64.exe"
#terminal_path = "C:\\FX\\MT5_02\\terminal64.exe"

어딘가 잘못된 곳을 찾고 있습니다 - 터미널에 기록이 있습니다.