最適化結果についてのヘルプが必要

 

最適化の結果から最適な設定を決めるのが難しいと感じています。

ドローダウンの 少なさ、プロフィットファクター 、その他考慮すべき点など、最適化の 結果からどれを選択するのがベストなのか、どなたか教えていただけませんでしょうか。

よろしくお願いします。

 

最適化したパラメータで、別の時間軸(最適化した期間外)でEAをテストしてください。

利益は良い最適化パラメータではありません、利益係数とドローダウンは戦略についてより多くを語っています。

私の2セント

 
Invalid:

最適化の結果から最適な設定を決めるのが難しいと感じています。

ドローダウンの 少なさ、プロフィットファクター 、その他考慮すべき点など、最適化の結果からどれを選択するのがベストなのか、どなたか教えていただけませんでしょうか。

よろしくお願いします。


短い答えは、それらのNONEは何も良いということです。 まず、「それ」について考えてみてください...それは投資の業界であることですが、あなたが最適化レポートで見るような言葉で実績を報告しているプロの投資会社やファンドマネージャーを見かけることはありますか? 最大ドローダウンを報告するところはあっても、プロフィットファクターや期待収益、総収益を語るところはないでしょう。(誰もいないとは言いません。ほとんどは、これらの同じタイプの数字を報告する詐欺師たちです。「私はたった7週間で3000ドルを3000万ドルに変えた!」という理由で本を買わせようとする人たちです)。 だから、周りを見渡して、「なぜプロはこれを使わないのか」と自問自答してほしい。

第二に、これらの出力が使われないのには正当な理由があります。報告されているように、これらは関係する統計(標準偏差が 見えますか)を語っておらず、そのため、将来予想されるパフォーマンスについて何かを伝える数字を生成するために使用することはできません。

まず、シャープレシオと破滅のリスクを計算するために、収益率(毎日、取引ごと、週ごとなど)の標準偏差が必要です。 これらの数値があれば、テストパラメータのパフォーマンスを、業界の他の企業と同じようにランク分けすることができ、また、過去の結果を活用して将来の結果を予測する際に、実際の統計的基盤を持つことができます。
 
zzuegg:

最適化したパラメータで、別の時間軸(最適化した期間外)でEAをテストしてください。

利益は良い最適化パラメータではありません、利益係数とドローダウンは戦略についてより多くを語っています。

私の2セント。

ありがとうございます、期間フィルタリングに取り組んでいます。

1005phillip

短い答えは、それらのどれも良いものではありませんということです。まず、「それ」について考えてみてください。投資の業界ですが、あなたが最適化レポートで見るような言葉で実績を報告しているプロの投資会社やファンドマネージャーを見かけませんか?最大ドローダウンを報告するところはあっても、プロフィットファクターや期待収益、総収益を語るところはないでしょう。(誰もいないとは言いません。ほとんどは、これらの同じタイプの数字を報告する詐欺師たちです。「私はたった7週間で3000ドルを3000万ドルに変えた!」という理由で本を買わせようとする人たちです)。だから、周りを見渡して、「なぜプロはこれを使わないのか」と自問自答してほしい。

第二に、これらの出力が使われないのには正当な理由があります。報告されているように、これらは関係する統計(標準偏差が見えますか)を語っておらず、そのため、将来予想されるパフォーマンスについて何かを伝える数字を生成するために使用することはできません。

まず、シャープレシオと破滅のリスクを計算するために、収益率(毎日、取引ごと、週ごとなど)の標準偏差が必要です。これらの数字があれば、テストパラメータのパフォーマンスを、業界の他の企業と同じようにランク分けすることができ、また、過去の結果を活用して将来の結果を予測する際に、実際の統計的基盤を持つことができます。


すごいですね。これは私にとって新しいことであり、さらにステップアップするのが待ち遠しいです。また、"Sharpe Ratio" と "Risk of Ruin" から検索して、貴社の統計アナライザーを 偶然発見し、ダウンロードさせていただきました。

本当にありがとうございます、これからたくさん勉強します。

 
Invalid:

ありがとうございます!ピリオドフィルタリングに取り組んでいます。


うわー、素晴らしい!これは私にとって新しいものです。これは私にとって新しいもので、さらにステップアップするのを待つことができません。私も「シャープレシオ」と「破滅のリスク」で検索して、あなたの静的アナライザーを 偶然見つけ、ダウンロードしました。

ありがとうございます、これからたくさん勉強します。


えーと...失礼しました(笑)

この静的アナライザーをEAにどのように適用するのですか? どのようにそれを開くのですか??

 
sergeyrar:


ええと...すみません、親切な方:)

このスタティックアナライザーをEAにどのように適用するのですか? どうやって開くのですか? どこかに操作マニュアルがあるのでしょうか??


もしあなたがコード自体が何をするのか、あるいは統計が何を目指しているのかを理解できないのであれば、そのコードを使うことによってあなたが得る価値はないでしょう。

これは、単に魚を渡されるのではなく、自分で釣りに行く必要がある状況の一つである、と言っているのです。 私はあなたに釣竿と餌を渡し、湖の方角を示した。 もし、あなたが何か釣ったり、私の釣具を使って面白い話をしたりしたら、ぜひ聞かせてください。 それでは、よい釣りを)
 

1005phillip:

It is intentionally NOT blackbox...if you can't comprehend what the code itself does, or the statistics themselves are aimed at accomplishing, then there really isn't any value for you to gain by using the codes.

Not trying to be a prick, just saying this is one of those circumstances where you need to go and fish for yourself and not merely be handed a fish. I've given you the fishing pole, the bait, and pointed you in the direction of the lake. I'm always interested in talking about the fish though, so if you catch something or have an interesting tale to regail me with after having used my fishing gear then I'd love to hear it and engage with you then. Until then, best of luck fishing :)

笑)この例えが好きです。

ありがとうございます

もし、金色の魚が手に入ったら、ぜひ教えてあげよう。

 

私はT.p.が350pipsのロボットを定義しました。

そしてS.Lが20pips

上記の出力に従います。

トレードあたり0.5%の一定のリスクで (20 pips = 0,5%)

この計算は意味があるのでしょうか?

(計算を簡単にするために現在の値を丸めたものです)

x P(x)

350 8%

-20 92%

E(x²)= 350² (0.08) - 20²(0.92) = 9432

E(x) = 350 (0.08) - 20(0.92) = 9.6

σ = sqrt ( E(x²) - (E(x)) ² ) = 96.64

E(x)% = 9.6/20 * 0.5% = 0.24% (= 0.0024)

σ% = 96.64/20 * 0.5% = 2.416% (=0.02416)

50%負ける確率 :

R = e^[(-2a/d)*(ln(1-z)/ln(1-d))] = e^[-0.1986*(-0.6931/-0.0244)] = 3.5 * 10^-3 | ここで、 a=0.0024 ; d=0.02416 ; z=0.5 ( 50%)の場合。

つまり、私の口座残高の50%になる確率は0.35%ということです。

 

私はあなたのxとP(x)の数字の起源を理解しようとしています。たぶん英語があなたの第一言語ではないと思うので、私が結論を出したり混乱させる発言をする前に、あなたが使っている用語の意味を理解することを確認したいのです。

"取引あたり0.5%の一定のリスクで"

取引あたり0.5%のリスクとは何でしょうか? これは、市場が自分のポジションに対して不利に動き、ポジションがストップロス価格で決済された場合、口座残高の 0.5%のリスクを負うということですか?

"つまり、私は口座残高の50%になる可能性が0.35%ある "ということです。

破滅のリスクは時間要因の計算で、つまり計算した数字で作る明細書の単位は、「1トレードあたり」「1週間あたり」「1ヶ月あたり」を意図しています。

今のところ、xとP(x)がどこから来たのか分かりませんが、それがここに関わる単位を決定しています。

あなたがしたことを理解するのを助けてください。あなたが計算を正しく適用しているかどうかを判断するために時間を投資することができれば、私はもっと嬉しく思います。

 
// 0.5% risk per trade @ 20 pip SL
double maxRisk = 0.005 * AccountBalance(),
       spread  = Ask-Bid,
       risk    = 20 * pips2dbl + spread,
       minLot  = MarketInfo(Symbol(), MODE_MINLOT),
       lotStep = MarketInfo(Symbol(), MODE_LOTSTEP),
       perLotPerPoint  = PointValuePerLot(),
       maxLossPerLot   = (risk+Slippage.Pips*pips2dbl) * perLotPerPoint,
       size = maxRisk / maxLossPerLot;  // Must still round to lotStep.
       size = MathFloor(size/lotStep)*lotStep;
       at.risk.new = size * maxLossPerLot;                 // Export for Comment
       if (size < minLot){     /*at.risk.new=0;*/                  return(0); }
...
double  PointValuePerLot() { // Value in account currency of a Point of Symbol.
    /* In tester I had a sale: open=1.35883 close=1.35736 (0.00147)
     * gain$=97.32/6.62 lots/147 points=$0.10/point or $1.00/pip.
     * IBFX demo/mini       EURUSD TICKVALUE=0.1 MAXLOT=50 LOTSIZE=10,000
     * IBFX demo/standard   EURUSD TICKVALUE=1.0 MAXLOT=50 LOTSIZE=100,000
     *                                  $1.00/point or $10.00/pip.
     *
     * https://www.mql5.com/en/forum/127584 CB: MODE_TICKSIZE will usually return the
     * same value as MODE_POINT (or Point for the current symbol), however, an
     * example of where to use MODE_TICKSIZE would be as part of a ratio with
     * MODE_TICKVALUE when performing money management calculations which need
     * to take account of the pair and the account currency. The reason I use
     * this ratio is that although TV and TS may constantly be returned as
     * something like 7.00 and 0.00001 respectively, I've seen this
     * (intermittently) change to 14.00 and 0.00002 respectively (just example
     * tick values to illustrate). */
    return(  MarketInfo(Symbol(), MODE_TICKVALUE)
           / MarketInfo(Symbol(), MODE_TICKSIZE) ); // Not Point.
}