トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング - ページ 3243

 
fxsaber #:

標準的なMAのパターンをティックのみでチェック。

...

作業パターン。

onnx-signalはどのようにこの作業テンプレートに入るのでしょうか?

 
blef #:

onnx-signalがこの作業テンプレートにどのように取り込まれるのか?

この関数のボディのあなたのバリアントを通して。

各ティックは、入力に来る - 出力は取引信号に関するONNX-決定である。

そのような関数の本体のバリアントは、上に示した。ONNXの場合には、独自のmodel.onnxが接続されています。


EAテンプレートは変更されません。

 
fxsaber #:

この機能のボディバリエーションを通して。


各ティックは入力に来る - 出力は取引シグナルに関するONNX-決定である。

このような関数のボディのバリアントは、上記のとおりです。ONNXの場合、独自のmodel.onnxが接続されている。


EAテンプレートは変更されていない。

すなわち、この関数の本体は、このページのMQL5ヘルプで指定されている関数を実装する必要があります -https://www.mql5.com/ru/docs/onnx?

Документация по MQL5: ONNX модели
Документация по MQL5: ONNX модели
  • www.mql5.com
ONNX модели - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
blef #:

すなわち、この関数の本体は、このページのMQL5ヘルプで指定されている関数を実装する必要があります -https://www.mql5.com/ru/docs/onnx?

ONNXセッションの作成と削除を担当する最初の3つを除いて。
 
MoDについては、何とかしてみます。
 
blef #:

すなわち、この関数の本体は、このページのMQL5ヘルプで指定されている関数を実装する必要があります -https://www.mql5.com/ru/docs/onnx?

このようになります。

// Торговый сигнал.
double SignalONNX( const MqlTick &Tick )
{
  struct ONNX
  {
  public:
    const long Handle;
    
    ONNX( const string FileName ) : Handle(::OnnxCreate(FileName, ONNX_DATA_TYPE_DOUBLE)) {}
    ~ONNX() { ::OnnxRelease(this.Handle); }
  } static const Model("model.onnx"); // Подключили модель с автоматическим отключением.
  
  OnnxRun(Model.Handle, ONNX_DATA_TYPE_DOUBLE, ...); // Прогоняем данные через модель, получаем результат.
  
  // .... Обрабатываем результат вычислений.
  
  return(0); // Возвращаем торговый сигнал.
}
 
fxsaber #:

それぐらいがちょうどいい。


全体としては問題ない。
しかし、なぜ関数が返す値はdoubleなのでしょうか?
 

なぜかニューラルネットワークの話が続いている。

しかし、ここに コンバーターが掲載されている

Microsoftの ONNXMLToolsはモデルをONNXフォーマットに変換 することができます。

以下のモデルを変換できます。

ONNXフォーマットへの変換(ONNXMLTools)

ONNXMLToolsは、様々な機械学習ツールキットのモデルをONNX 形式に変換することができます。

インストール方法と使い方はGitHubの ONNXMLToolsリポジトリに あります。

サポート

現在、以下のツールキットがサポートされています:

  • Keras(keras2onnxコンバータ シェル);
  • Tensorflow(tf2onnx transducer shell);
  • scikit-learn(skl2onnx converter shell);
  • Apple Core ML;
  • Spark ML(実験モード);
  • LightGBM
  • libscm;
  • XGBoost;
  • H2O
  • CatBoost

このリストには、ニューラルネットワークよりも多くのNOTニューラルネットワークが含まれている。

Документация по MQL5: ONNX модели
Документация по MQL5: ONNX модели
  • www.mql5.com
ONNX модели - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5
 
Andrey Dik #:

全体としては問題ない。
しかし、なぜ関数が返す値はdoubleなのでしょうか?

なぜなら、最終的なテンプレート自体が、受信した取引シグナルを元のものより処理するのが難しい可能性があるからです。

ー "テンプレート "についてー様の様の様のシャトー

 

ONNXでは、入力データはベクトルと行列です。

既製のモデルからの予測では、これらの特徴で何とかできるかもしれません(行列はデータ型が1つなので、予測子のオプションが制限されます)が、µlモデルのトレーニングは不可能です:どんな原始的なモデルでも、はるかに多くの多様な入力パラメータを持ちます。

例えば,RFを行列に打ち込むことは不可能である.

randomForest( x, y=NULL, xtest=NULL, ytest=NULL

ntree=500

mtry=if (! is.null( y) && ! is.factor(y)) max( floor( ncol( x)/3), 1) else floor( sqrt( ncol( x)))

weights=NULL

replace=TRUE

classwt=NULL

cutoff

sampsize= if ( replace) nrow( x) else ceiling(.632*nrow( x))

nodesize= if (! is.null( y) && ! is.factor( y)) 5 else 1

maxnodes= NULL

importance=FALSE

localImp=FALSE

nPerm=1

proximity

oob.prox=proximity

norm.votes=TRUE

do.trace=FALSE

keep.forest=! is.null( y) && is.null(xtest), c

orr.bias=FALSE, keep.inbag=FALSE, ...)

したがって、python でのトレーニングのみ、テスト、その他の喜び、そして µl へのロードとテスターによるEA でのチェックの ための変換。µlでテストするための予測子をどこでどのように準備するのか、µlでコードを書くのか、それともpythonに変えてそこから予測用の予測子を取得するのか......、さらにそれがモデルがトレーニングされたものと同じであるのか、明確ではない。

理由: