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

 
Mikhail Mishanin #:

2023.02.28 05:27:35.269 Storage 'ONNX.Price.Prediction' 프로젝트에 성공적으로 참여했습니다.

2023.02.28 05:27:56.191 Storage MQL5 스토리지 활성화됨

2023.02.28 05:27:56.191 Storage MQL5에 대한 체크아웃 시작

2023.02.28 05:27:56.635 Storage 요청된 SVN 파일시스템(720003)을 찾을 수 없습니다.

2023.02.28 05:28:32.432 Storage 소유자 MQL5 스토리지가 'dinpae@gmail.com', MQL5 계정을 변경합니다.

무슨 뜻인가요? 연결할 수 없습니다.

2023.02.28 05:36:25.147 Storage 소유자 MQL5 저장소가 'dinpae@gmail.com'입니다, MQL5 계정을 변경하세요.


어떤 계정으로 MQL5 Storage에 로그인하셨나요?

이메일 또는 대소문자를 구분하는 정확한 로그인을 지정하셨나요?

이메일은 허용되지 않습니다.

 
Aleksey Nikolayev #:

프로젝트 이름을 마우스 오른쪽 버튼으로 클릭합니다. 다음과 같이 표시되어야 합니다:


예, 그런 것이 있지만 오류를 기록합니다
2023.02.28 13:05:45.151 Storage checkout started for MQL5\Shared Projects\ONNX.Price.Prediction
2023.02.28 13:05:45.667 Storage Not authorized to open root of edit operation  (220000)
어딘가에 어떤 종류의 권한이 있습니다.
 
Evgeny Dyuka #:
예, 그런 것이 있지만 오류가 발생합니다
어딘가에 일종의 권한이 있습니다.

글쎄요, 모르겠네요. 프로젝트를 탈퇴하고 삭제한 다음 다시 참여한 다음 리포지토리에서 업데이트를 받아 보세요.

프로젝트를 탈퇴하면 로그에 기록됩니다:

2023.02.28 16:31:47.481 Storage successfully left the project 'ONNX.Price.Prediction'

삭제하면 아무것도 기록되지 않습니다. 프로젝트에 참여할 때:

2023.02.28 16:31:59.970 Storage successfully joined to the project 'ONNX.Price.Prediction'

업데이트를 받을 때:

2023.02.28 16:41:43.985 Storage checkout started for MQL5\Shared Projects\ONNX.Price.Prediction
2023.02.28 16:41:44.750 Storage added MQL5\Shared Projects\ONNX.Price.Prediction\Python
2023.02.28 16:41:44.750 Storage added MQL5\Shared Projects\ONNX.Price.Prediction\Python\PricePredictionTraining.py
2023.02.28 16:41:44.750 Storage added MQL5\Shared Projects\ONNX.Price.Prediction\Python\PricePrediction.py
2023.02.28 16:41:44.750 Storage added MQL5\Shared Projects\ONNX.Price.Prediction\Python\model.onnx
2023.02.28 16:41:44.750 Storage added MQL5\Shared Projects\ONNX.Price.Prediction\ONNX.Price.Prediction.mq5
2023.02.28 16:41:44.750 Storage added MQL5\Shared Projects\ONNX.Price.Prediction\ONNX.Price.Prediction.mqproj
2023.02.28 16:41:44.784 Storage checkout completed successfully in 797 ms

리포지토리에 연결할 때만 권한이 부여되며, 권한이 없으면 프로젝트에 참여할 수 없습니다.

더 이상 도와드릴 수 없습니다. 이전 버전이 없다면 최신 버전 (베타 및 릴리스)에서 수행했습니다.

 
Aleksey Nikolayev #:

글쎄요. 프로젝트를 탈퇴하고 삭제한 다음 다시 참여한 다음 리포지토리에서 업데이트를 받아 보세요.

프로젝트를 로그에 남기면

삭제하면 아무것도 기록되지 않습니다. 프로젝트에 참여할 때:

업데이트를 받을 때:

리포지토리에 연결할 때만 권한이 부여되며, 권한이 없으면 기본적으로 프로젝트에 참여할 수 없습니다.

그 외에는 도와드릴 수 없습니다. 이전 버전이 없다면 최신 버전 (베타 및 릴리스)에서 수행했습니다.

알겠습니다, 감사합니다
 
Evgeny Dyuka #:
알겠습니다, 감사합니다.

혹시 모르니 아카이브에 프로젝트를 게시하겠습니다.

파일:
 
Renat Fatkhullin #:

MQL5 스토리지에 어떤 계정으로 로그인하셨나요?

이메일 또는 대소문자를 구분하는 정확한 로그인을 지정하셨나요?

이메일은 허용되지 않습니다.

로그인 시 처음에 내 로그인만 삐뚤어져 있고, 점으로 된 닥터맘, 오래 전에 로그인했는데 로그인을 변경할 수 있나요?

 

ONNX 모델의 작동을 테스트할 수 있는 베타 3589를 출시했습니다.

단계:

  1. 도움말 -> 데스크톱 업데이트 확인 -> 최신 베타 버전을 통해 3589로 업데이트하세요.

  2. 대소문자를 구분하는 형식으로 올바른 MQL5 로그인(이메일이 아님)을 지정하여 MQL5 스토리지를 활성화합니다:






  3. 구성이 손상되어 MQL5 저장소가 작동하지 않는 경우, 파일 -> 데이터 폴더 열기를 통해 탐색기를 열고 MQL5 디렉토리로 이동하여 다음 파일을 삭제합니다:


    . 그런 다음 2단계로 이동합니다.

  4. 컨텍스트 메뉴에서 조인 명령을 사용하여 ONNX.Price.Prediction 프로젝트에 조인합니다.



  5. 내비게이터를 열고 공유 프로젝트 섹션을 열고 ONNX.Price.Prediction 프로젝트의 컨텍스트 메뉴에서 저장소에서 업데이트를 호출합니다:



    프로젝트가 MQL5 저장소(Subversion)에서 다운로드됩니다.

  6. 프로젝트를 열고 ONNX.Price.Prediction.mqproj - 프로젝트 파일을 클릭합니다.



  7. 프로젝트를 복사하고 EURUSD, H1에서 실행합니다.

  8. 결과 보기:
    2023.02.28 21:54:43.316 Scripts script ONNX.Price.Prediction (EURUSD,H1) loaded successfully
    2023.02.28 21:54:43.348 ONNX    initialized [API version 1.14.0]
    
    в журнале Experts: важны две последние строки, а остальное - специально включенные отладочные логи по флагу ONNX_DEBUG_LOGS
    
    2023.02.28 22:11:53.441 ONNX.Price.Prediction (EURUSD,H1)       ONNX: Creating and using per session threadpools since use_per_session_threads_ is true
    2023.02.28 22:11:53.441 ONNX.Price.Prediction (EURUSD,H1)       ONNX: Dynamic block base set to 0
    2023.02.28 22:11:53.442 ONNX.Price.Prediction (EURUSD,H1)       ONNX: Initializing session.
    2023.02.28 22:11:53.442 ONNX.Price.Prediction (EURUSD,H1)       ONNX: Adding default CPU execution provider.
    2023.02.28 22:11:53.442 ONNX.Price.Prediction (EURUSD,H1)       ONNX: Total shared scalar initializer count: 0
    2023.02.28 22:11:53.443 ONNX.Price.Prediction (EURUSD,H1)       ONNX: Total fused reshape node count: 0
    2023.02.28 22:11:53.443 ONNX.Price.Prediction (EURUSD,H1)       ONNX: Total shared scalar initializer count: 0
    2023.02.28 22:11:53.443 ONNX.Price.Prediction (EURUSD,H1)       ONNX: Total fused reshape node count: 0
    2023.02.28 22:11:53.444 ONNX.Price.Prediction (EURUSD,H1)       ONNX: Use DeviceBasedPartition as default
    2023.02.28 22:11:53.444 ONNX.Price.Prediction (EURUSD,H1)       ONNX: Saving initialized tensors.
    2023.02.28 22:11:53.444 ONNX.Price.Prediction (EURUSD,H1)       ONNX: Done saving initialized tensors
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: Session successfully initialized.
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: Number of streams: 1
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: Begin execution
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: stream 0 launch kernel with idx 0
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: ort value 1 released
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: stream 0 launch kernel with idx 1
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: ort value 2 released
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: stream 0 launch kernel with idx 3
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: ort value 6 released
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: stream 0 launch kernel with idx 4
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: ort value 8 released
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: stream 0 launch kernel with idx 5
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: ort value 9 released
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: stream 0 launch kernel with idx 6
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: stream 0 launch kernel with idx 7
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: stream 0 launch kernel with idx 2
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: ort value 3 released
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: ort value 11 released
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: stream 0 launch kernel with idx 8
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: stream 0 launch kernel with idx 9
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: ort value 16 released
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: stream 0 launch kernel with idx 10
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: stream 0 launch kernel with idx 11
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: ort value 22 released
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: stream 0 launch kernel with idx 12
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: ort value 25 released
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: stream 0 launch kernel with idx 13
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: ort value 27 released
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: stream 0 launch kernel with idx 27
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: stream 0 launch kernel with idx 17
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: stream 0 launch kernel with idx 18
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: ort value 28 released
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: stream 0 launch kernel with idx 28
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: ort value 30 released
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       ONNX: stream 0 launch kernel with idx 26
    
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       [-1.5921557]
    2023.02.28 22:11:53.445 ONNX.Price.Prediction (EURUSD,H1)       predicted 1.0591759612759748
    
  9. 작동하지 않는다면 이전 버전의 ONNX 런타임이 있거나 누락된 것입니다

    이 경우 Microsoft에서 서명한 ONNX 런타임 1.14 아카이브를 다운로드하여 터미널의 루트 디렉터리인 terminal64.exe 옆에 확장한 다음 터미널을 다시 시작하세요:

프로젝트에서 데모를 볼 수 있도록 예제를 위해 가장 간단하게 훈련된 model.onnx가 즉시 첨부됩니다.



모델을 직접 훈련하려면 프로젝트에 포함된 파이썬 스크립트를 사용해야 합니다:

  1. 파이썬 3(예: 파이썬 3.10)을 설치하고 패키지를 전달/업데이트하세요:
    python.exe -m pip install --upgrade pip
    pip install --upgrade tensorflow
    pip install --upgrade pandas
    pip install --upgrade scikit-learn
    pip install --upgrade matplotlib
    pip install --upgrade tqdm
    pip install --upgrade metatrader5
    pip install --upgrade onnx==1.12
    pip install --upgrade tf2onnx
    텐서플로 요구 사항과 충돌하지 않도록 명시적으로 버전 1.12가 명시된 onnx 패키지를 사용하세요.

  2. 메타에디터를 실행하고 도구 -> 옵션 -> 컴파일러에서 파이썬이 인식되는지 확인합니다:



    필요한 경우 에디터가 스스로 경로를 감지할 수 없는 경우 직접 경로를 지정하세요.

  3. 트레이딩 터미널은 EURUSD가 설치된 서버에 연결해야 합니다(예: MetaQuotes-Demo)

    터미널 설정에서 Python과의 통합이 활성화되어 있는지 확인합니다. 꺼져 있으면 켜고 터미널을 다시 시작하세요:




  4. 내비게이터에서 ONNX.Price.Prediction 프로젝트로 이동하여 PricePredictionTraning.py 파일을 엽니다.


  5. 컴파일을 위해 스크립트를 실행합니다(파이썬 스크립트의 경우 시작을 의미합니다).

    스크립트는 MetaTrader5 패키지의 도움으로 터미널에 연결하고(꺼져 있으면 자동으로 시작됨) EURUSD, H1에 대한 교육을 시작합니다:


    완료되면 저널 편집기에
    이 포함됩니다.
    2023.02.28 22:24:16.876 Python  107/107 [==============================] - 0 s 1 ms/step - loss: 1.9167 - mae: 0.8553
    2023.02.28 22:24:16.876 Python  test_loss=1.917
    2023.02.28 22:24:16.876 Python  test_mae=0.855
    2023.02.28 22:24:17.179 Python  saved model to C:\Users\sys\AppData\Roaming\MetaQuotes\Terminal\8 D1E0A7047FFD62A8C00B09AEC1F3004\MQL5\Shared Projects\ONNX.Price.Prediction\Python\model.onnx
    2023.02.28 22:24:17.291 Storage modify MQL5\Shared Projects\ONNX.Price.Prediction\Python\model.onnx to base
    
    새 model.onnx가 프로젝트에 저장/업데이트됩니다. 이미 사용할 수 있습니다.

  6. PricePrediction.py 스크립트를 실행하여 모델이 작동하는지 확인합니다:
    .
    2023.02.28 22:27:46.078 Python  data path to load onnx model C:\Users\sys\AppData\Roaming\MetaQuotes\Terminal\8 D1E0A7047FFD62A8C00B09AEC1F3004\MQL5\Shared Projects\ONNX.Price.Prediction\Python\
    2023.02.28 22:27:46.078 Python  [[[1.061412 1.062328 1.060358 1.061169]]]
    2023.02.28 22:27:46.078 Python  [[[0.00105361 0.00119785 0.00074662 0.00125179]]]
    2023.02.28 22:27:46.078 Python  [[[ 0.18792516  0.17698306  0.01607251 -0.45455042]
    2023.02.28 22:27:46.078 Python    [-0.77068297 -0.50757406  0.2839477   0.36827372]
    2023.02.28 22:27:46.078 Python    [ 0.21639867 -0.3823502   0.48485409 -0.19891574]
    2023.02.28 22:27:46.078 Python    [-0.46696554 -0.31556414  0.33752274  0.48011389]
    2023.02.28 22:27:46.078 Python    [ 0.3302927   0.7196198   1.36884221  1.56656129]
    2023.02.28 22:27:46.078 Python    [ 1.63058293  1.46261473  1.39562973  1.74231014]
    2023.02.28 22:27:46.078 Python    [ 1.82040632  1.84663458 -0.26519644 -0.52644768]
    2023.02.28 22:27:46.078 Python    [-0.84661232 -0.50757406 -0.45270907 -0.86995678]
    2023.02.28 22:27:46.078 Python    [-1.27371495 -1.11699687 -1.10900328 -0.48650476]
    2023.02.28 22:27:46.078 Python    [-0.82762998 -1.37579285 -2.0599602  -1.62088366]]]
    2023.02.28 22:27:46.094 Python  [[-1.6349795]]
    2023.02.28 22:27:46.094 Python  predict:  [1.05912]
    
  7. 테스트 예제가 작동했습니다!


이 예제는 모델 훈련과 실행을 모두 보여주기 위해 특별히 만든 예제입니다.

파이썬 패키지 onnx 및 tf2onnx를 사용하여 자체 TensorFlow 모델을 ONNX 형식으로 변환할 수 있습니다:

import tf2onnx
...
onnx_model = tf2onnx.convert.from_keras(model, output_path=output_path)

추신: 이전 버전에서는 함수 프로토타입이 변경되었으므로 최신 버전의 프로젝트를 사용하세요.
 

성공했습니다.

2023.03.01 06:54:34.987 ONNX.Price.Prediction (EURUSD,H1)       [-0.20001383]
2023.03.01 06:54:34.988 ONNX.Price.Prediction (EURUSD,H1)       predicted 1.0581684510582798
 
Renat Fatkhullin #:
  1. 파이썬 3(예: 파이썬 3.10)을 설치하고 패키지를 전달/업데이트합니다:
    텐서플로 요구 사항과 충돌하지 않도록 버전 1.12에 대한 명시적인 언급이 있는 패키지 onnx를 제공합니다.

이 패키지를 설치할 수 없습니다. 먼저 CMake를 설치해야 했습니다. 이제 Visual Studio를 설치해야 하나요?

CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
 
Aleksey Nikolayev #:

이 패키지를 설치할 수 없습니다. 처음에는 CMake를 설치하라고 요구했습니다. 이제는 Visual Studio를 설치해야 한다고요?

여러분은 아직 상호 비호환성의 지옥과 싸우고 파이썬에서 작업을 위한 별도의 환경을 만드는 길의 시작 단계에 있습니다.

일부 패키지는 대상 빌드에 컴파일러가 필요합니다.

사유: