記事「PythonとMQL5でロボットを開発する(第1回):データ前処理」についてのディスカッション - ページ 6

 
ところで、定常的なサインについて、もう一つの観察がある。

XGBoostのテストモデルは、何度実行しても、異なる日付で、何十回も、現在のサインで、次々と有益なフォワードを示す。私は初心者だが、馬鹿ではないので、2007年から2016年までのトレーニングを中断し、純粋なフォワード・テストを行った。リスクリワード取引1:8のタグの精度は、フォワードで66%が平均で、XGBが72-74%を出すこともある。他のすべてのモデル、ニューラルネット、他のすべてのブスティング、ランダムフォレスト - は、とんでもないを注ぎます。

10年以上もフォワードに中古のモデルを投入しているのであれば、私は現在の特徴を持つサイクルの最初の記事を発表することさえしない。

XGBモデルが多くの予測コンテストやデータサイエンス・コンテストで優勝しているのには理由がある。どうやらXGBモデルは生データの扱い方を熟知しているようだ。クロス検証も組み込まれている。知人の科学者、理学博士からこのモデルのことを教えてもらった。彼はXGBモデルを予測に使っていて、トレードにも使っている。実際、数年前に私をMOに導いたのは彼であり、マキシム・ドミトリエフスキーのスーパー記事でもありました。

しかし、XGBは習得にとても時間がかかる。最後のモデルは2日間も訓練され、もう待ちくたびれたよ。普通のブーリアンならサーバーで2、3分で学習するのに。しかし私にとっては、これはある程度アルゴリズムの複雑さと効率の指標になる。研究のためにもっと強力なサーバーを借りに行くつもりだ。

ONNXバージョンは重くなりすぎず、行数も多くならないことを願っています。MQL5では、ONNXモデルのデータ行数に制限があります。以前、1億行のモデルをトレーニングしたことがあるのだが、mclはそれを使わせてくれず、非常に憤慨した。連載の草稿はすでに完成している。最初はすべてを一枚のシートにまとめて公開したかったのだが、管理部門が許可してくれなかった。)

Finam MT 5のSber用スキャルパーというアイデアが登場した。ポイントは、mclのPythonライブラリに価格スタックの履歴を取得する関数があることで、それをモデルに訓練してスキャルピングさせたらどうなるか、ということだ。プロップトレーダーの経験から判断すると、このようなアイデアを持つのは私が初めてではない。スキャルピングが魅力的なのは、収益性を連日カバーできるからだ。私はロシアの外国人投資家として、Finamの口座を持っている。

また、Pythonを使ったコンピュータ・ビジョンの草稿もあるので、このサイクルが終わったら記事にするつもりだ。

アイデアはたくさんある。本当にたくさんある。毎日新しいアイデアが現れて、私はコードを書く。妻は、もうお金を稼ごうよ、あなたが持っているもので、アメリカのプロップUSAを取ろうよ、お金を稼ごうよ、と言うけれど。訓練されたモデルはすでに何十人もいる。でも、私は研究の方に興味がある。確かに、口座を開設して落ち着くべきですね。私は2月にアカウントを取ったのですが、運良くメタクォータで小道具に問題がありました。運良く、私のプロップはMT 5を削除し、私は彼らがMT 5の代わりに置いた別の端末を介して私の手で取引していましたが、私は結局負けました。私はMT 5のある別のプロップに新しい口座を持ち、それについてニュースを書くつもりです。

ベスト・プレディクターの選択はフォワード・デートに限定されるべきであるという事実について、それは非常に良いアイデアです。)
 

2010年からのフォワード・サンプル、2010年以前のトレーニング。

例として、私はEXAMWARDサンプルも実装し、それとは別にモデルをテストしました。他のすべてのモデルやニューラルネットワークは、初日からこれらの特徴を注いでいる。

 

そして、これが単純なフォワードとの違いだ:

そして、クロスバリデーション、モデルバギング(これはデフォルトでXGBに組み込まれていると思うが、私はそれを実装することにした)、グリッドハイパーパラメータの列挙などのようなチップを備えたフォワード:


 
Yevgeniy Koshtenko #:
もしクラスラベルがリセットされないのであれば、ラベルを予測するための最良の特徴はラベルそのものになるのではないでしょうか?

ラベルをリセットするのではなく(同義語としてリセット - クリア - を意味する)、ラベルを含む列を除外し、ラベル自体をターゲットとして別途モデルに投入する、つまり、ラベルに関する情報はリセットされず、取り消し不能に消えることもなく、モデルのトレーニング時に使用される。

 
Yevgeniy Koshtenko #:
XGBoostのテストモデルは、何度実行しても、異なる日付で、現在の兆候で、異なる日付で数十回、次々と有益なフォワードを示す。私は初心者ですが、馬鹿ではありませんが、私は2007年から2016年の訓練を切断し、その後、純粋なフォワードテスト。リスクリワード取引1:8のタグの精度は、フォワードで66%が平均で、XGBが72-74%を出すこともある。他のすべてのモデル、ニューラルネットワーク、他のすべてのブスティング、ランダムフォレスト - 信じられないほど注ぎます。

同じコードを使えば、奇跡が起こるかもしれない。

その後、モデルをテストするためにサンプルを追加することにより、エントリーポイントを比較し、デモで一ヶ月間あなたのソリューションを取引してみてください。

XGBの奇跡、特にハイパーパラメータをどのように見つけたかについては興味深いです。

 
Rashid Umarov #:

あなたの気分を害さないように、そんな推測をするつもりはなかったんだけど......)

今後は、叱責する前にソースをチェックするようにしよう。

ポータブルモードのターミナルをインストールしているのですが、何らかの方法で "portable "キーを書く必要がありますか?

ターミナルが起動している場合、コードは機能しません。ターミナルをオフにすると、キーなしで起動しようとしますが、それも機能しません。

 
Aleksey Vyazmikin #:

ポータブルモードのターミナルをインストールしているのですが、何らかの方法で "portable "キーを書かなければならないのでしょうか?

ターミナルが起動していると、コードは機能しません。ターミナルをオフにすると、キーなしで起動しようとしますが、それも機能しません。

ターミナルから直接実行してみてください。チャート上にスクリプトを投げれば、"Experts "タブに結果が表示される。

おそらく、メタエディターでpythonフォルダのパスを指定する必要があるのでしょう。

私の場合はそのように動作します。しかし、何度も踊った後に))))

 
Aleksandr Slavskii #:

ターミナルから直接実行してみよう。チャート上にスクリプトを投げれば、「Experts」タブに結果が表示される。

メタエディターでpythonフォルダのパスを指定する必要があるかもしれません。

私の場合はそのように動きました。しかし、何度も踊った後に))))

ターミナルをポータブルモードで使っていますか?

MEではパスは規定されています(自動的に表示されます)。

 
Aleksey Vyazmikin #:

ターミナルをポータブルモードにしていますか?

MEではパスが規定されています(自動的に表示されます)。

ポータブル版で確認したところ、すべてうまくいきました。

2つのターミナルが動作していて、スクリプトにターミナルへのパスが指定されていない場合、コンパイルしようとすると片方のターミナルでエラーが発生します。

 
Aleksandr Slavskii #:

ポータブル版でチェックしたところ、すべてうまくいった。

2つのターミナルが動作していて、スクリプトにターミナルへのパスが指定されていない場合、コンパイルしようとすると片方のターミナルでエラーが発生します。

ターミナルから実行したところ

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"

どこか間違った場所を探している - ターミナルに履歴がある。