記事「制約付きCustom Maxを実装するための一般的な最適化定式化(GOF)」についてのディスカッション

 

新しい記事「制約付きCustom Maxを実装するための一般的な最適化定式化(GOF)」はパブリッシュされました:

この記事では、MetaTrader 5端末の設定タブでCustom Maxを選択する際に、複数の目的と制約条件を持つ最適化問題を実装する方法を紹介します。最適化問題の例は、ドローダウンが10%未満、連敗回数が5回未満、1週間の取引回数が5回以上となるように、プロフィットファクター、ネットプロフィット、リカバリーファクターを最大化するといったものです。

一般的に、最適化アルゴリズムには大きく分けて2つのタイプがあります。最初のタイプは、最適化問題に関与するすべての関数の勾配の計算に基づく、より古典的なものです(これはアイザックニュートンの時代にさかのぼる)。2つ目のタイプは、より最近のもの(~1970年代)で、勾配情報をまったく使用しません。その中間に、前述の2つのアプローチを組み合わせたアルゴリズムがあるかもしれませんが、ここで取り上げる必要はありません。MetaTrader 5の端末設定タブにある[高速遺伝的アルゴリズム]と呼ばれるアルゴリズムは、2番目のタイプに属します。これにより、目的関数と制約関数の勾配計算を省略することができます。さらに、MetaTrader 5アルゴリズムの勾配なしの性質のおかげで、勾配ベースのアルゴリズムでは適切でなかった制約関数を考慮することができました。これについては後述します。

1つ重要な点は、[完全アルゴリズム(遅い)]と呼ばれるMetaTrader 5のアルゴリズムは、実際には最適化アルゴリズムではなく、side constraintの範囲内で、すべての入力変数の値のすべての可能な組み合わせを総当たり的に評価するということです。

作者: better.trader every.day

 
まず第一に、このような重要で興味深い mql5 の記事とそれに対応する mql5 ライブラリを書いていただきありがとうございます。もし可能であれば、既存の汎用最適化定式化(GOF)mql5ライブラリに2つの小さな改善や変更を加えていただけると大変ありがたいです。1つ目は、GOF mql5 mqh ライブラリに新しい目的関数として、エクイティ・ドローダウンの相対的なパーセンテージを 含める方法です。そして最後になりますが、もし実現可能で、2つ目の要望として可能であれば、以下のことをお願いします:すでに定義されたターゲットは、ある種の「正規化された」目的関数をエミュレートするために採用することができますが、個々のXi値の正しい正規化(すなわちZ変換)を得ることは本当に可能でしょうか?事前に計算したサンプルの平均を個々のXi値から差し引き、この特定のパフォーマンス指標に対するサンプルの標準偏差で 前の個々の結果を割ることで、個々のXi値の正しい正規化(つまりZ変換)を行うことは可能でしょうか?もちろん、Generic Optimization Formulation mql5ライブラリの入力として、パフォーマンス指標ごとに提供する必要があります(つまり、採用したい個々の目的関数ごとに計算したサンプルの平均と標準偏差)。迅速なフィードバックとサポートに感謝します。