プロフェッショナルの検討のために。 - ページ 3

 
khorosh:
投稿の目的は、ドローダウンを正しくカウントする方法を示すことですか?EAをありがとうございました。あなたのコードが実際のEAに含まれている場合、1つまたは複数のオープントレードについて、これらのトレードの開始時点から終了時点までのドローダウンを決定しますが、EAが動作している全体の時間の最大ドローダウンを検索しないように私には思えるのですが、いかがですか?それとも私が勘違いしていたのでしょうか?私のコードを批判できますか?最大ドローダウンを求めるというタスクが正しく実行されているか?


この(私の)コードは正確にExpert Advisorの作業の全体の時間のための 最大のドローダウンを保存します、すなわち、それは、資本がバランスに等しく、全体の時間のための最小値がないときに、取引を閉じるときに最大および最小変数をリセットしていません。

純粋に例として、そしてシンプルに、テスターとの比較として書きました。

あなたのコードについては、なぜここでそれを使うのかが不明です。

  if(AccountEquity()>MaxEquity) 
    {MaxEquity=AccountEquity();MinEquity=AccountEquity();}

MinEquityがリセットされます。

MinEquity=AccountEquity();

AccountEquity()>MaxEquityの場合、MinEquity=AccountEquity()のリセットはおろか、様々な理由で注文(または複数の注文)を閉じることも開くこともできない。

一般に、同じものをさまざまな方法でプログラムすることは可能で、主なものは正しいアルゴリズムである。

実際のEAに挿入する場合は、変数をファイルに書き込む(チェックを入れる)のがよいでしょう。

私の意見 では、テスターでは最大ドローダウンと相対ドローダウンが考慮されていません。

 
serferrer:


この(私の)コードは、EAの全期間にわたって 最大ドローダウンを正確に保存します。つまり、取引を閉じるときに最大と最小の変数をリセットせず、資本がバランスに等しく、全期間にわたって最小がないときにリセットします。

純粋に例として、そしてシンプルに、テスターとの比較として書きました。

あなたのコードについては、なぜここでそれを使うのかが不明です。

MinEquityがリセットされます。

AccountEquity()>MaxEquityの場合、MinEquity=AccountEquity()のリセットはおろか、様々な理由で注文(orオーダー)のクローズやオープンができない可能性があります。

一般に、同じものをさまざまな方法でプログラムすることは可能で、主なものは正しいアルゴリズムである。

実際のEAに挿入する場合は、変数をファイルに書き込む(チェックを入れる)のがよいでしょう。

私の意見 では、テスターは最大ドローダウンと相対ドローダウンを間違って考慮しています、先にあげた例へのリンクです。

MinEquityは、新しい最大値が更新された瞬間にリセットされます。これは、以前の最小値を通過し、新しい最大値が形成された後、新しい最大値に対して以前に見つけたドローダウンより高いドローダウンを与えることができる新しい低値を見つける必要があることを意味します。なお,最後の最大値に対するドローダウンは,その最大値の後に形成された最小値で計算し,その中から最大値を選択する必要があります.Integerさんの書き込みで確認、彼もこれが正しいと考えています。テスターとの齟齬があるのは、これが原因だと思います。

 
Serferrer、あなたのバリアントは、負け注文の連続の場合、間違ったドローダウンを表示します。100ずつ負ける注文を10回連続で出して、1000負けるのに最大ドローダウンが100にしかならないのは間違いです。
 
Integer:
Serferrer、あなたのバリアントは、一連の負け注文の場合、不正確なドローダウンを表示します。100回ずつ負け注文を10回連続で出して1000回排水しても、最大ドローダウンは100回にしかならない、これは間違いです。


繰り返しますが、私は純粋に例として、そして(わかりやすくするために)よりシンプルに、テスターとの比較として書き ました。

そして、それは決して最終的なものではありません。

最終的なコードを作るとなると、他にもいろいろと機能を追加する必要があります。

 
serferrer:


繰り返しになりますが、私は純粋に例として、またわかりやすくするために、テスターとの比較として書き ました。

そして、それは決して最終的なものではありません。

最終的なコードを作るとなると、他にもいろいろと機能を追加する必要があります。


テスターで何を例に、何と比較するのか?お客様のコードはアカウントのドローダウンを計算しておらず、アカウントのドローダウンの計算例として使用できないため、テスターでアカウントのドローダウンの計算を比較するために使用することはできません。
 
khorosh:

MinEquityは、新しい最大値が更新された瞬間にリセットされます。これは、以前の最小値を通過し、新しい最大値が形成された後、新しい最大値 に対して以前に見つけたドローダウンより高いドローダウンを与えることができる新しい低値を見つける 必要があることを意味します。なお,最後の最大値に対するドローダウンは,その最大値の後に形成された最小値で計算し,その中から最大値を選択する必要があります.Integerさんの書き込みで確認、彼もこれが正しいと考えています。テスターとの齟齬があるのは、これが原因だと思います。


これはあなたの意見であり、私はそれを理解し、私自身は正しくなく、ドローダウンは株式の最大値ではなく、オープン オーダー(s)の価格に基づいて 計算されるべきだと考えています、私は繰り返します。

例えば、AccountEquity()>MaxEquityの場合、様々な理由で注文をクローズしたりオープンしたりすることができない場合。

 
Integer:

テスターで何を例に、何と比較するのか?お客様のコードはアカウントのドローダウンを計算していないため、アカウントのドローダウンの計算例として使用できず、テスターでのアカウントのドローダウンの計算を比較するために使用することはできません。


比較のためと、テスターがドローダウンを正しく計算しないことをノンプログラマーにもわかるように、わかりやすい例で説明します。

Absolute Drawdown - 初期残高のドローダウンで、初期値に対してどれだけ残高が減少したかを示す。
最大ドローダウン - 貨幣単位で固定された最大ドローダウン(最後の最大値と現在の最小値の差)を示すドローダウンで、絶対ドローダウンを超えることがあり、取引がプラスであっても損失の可能性がある量を示します。
Relative Drawdown - 相対的なドローダウン、最初の入金に対する最大ドローダウンの割合を示して います。

http://www.onix-trade.net/forum/index.php?showtopic=82146&st=0&p=342915&#entry342915

整数

私の例では - 最大ドローダウン 1013.00 (50.85%) 相対ドローダウン 50.85% (1013.00) で、これは正しいということに同意しますか?

 
serferrer:


比較・実例として、テスターが正しく計算できないことは、プログラマーでなくても理解できる。

Absolute Drawdown - 初期残高に対するドローダウンで、残高が初期値に対してどの程度減少したかを示す。
最大ドローダウン - 貨幣単位で固定された最大ドローダウン(最後の最大値と現在の最小値の差)を示すドローダウンで、絶対ドローダウンを超えることがあり、取引がプラスであっても損失の可能性がある量を示します。
Relative Drawdown - 相対的なドローダウン、最初の入金に対する最大ドローダウンの割合を示して います。

http://www.onix-trade.net/forum/index.php?showtopic=82146&st=0&p=342915&#entry342915

整数

私の例では - 最大ドローダウン 1013.00 (50.85%) 相対ドローダウン 50.85% (1013.00) で、これは正しいということに同意しますか?


いや、全く、何一つ同意できない。
 
khorosh:

最小ドローダウンというパラメータは、どのレポートで見つけたのか、説明してください。テスト実行で判明した最大エクイティの下落は、実際の取引でも繰り返されると思いますので、最大値からカウントするのが正しいかと思います。

最小ドローダウンの件、申し訳ございませんでした - 私のミスです。投稿を修正しました。フリーフライトのオープンオーダーでエクイティの最大ドローダウンを計算しても意味がないのは なぜですか?
 
Reshetov:

まあ、必要ない、あるいは何のためにあるのか理解できないなら、なぜ会話に参加し、さらに自分の意見を押し付けるのか?
よく読んでみてください。自分ではなく、なぜ他の人が必要としているのかを問うたのです。私は自分の意見を押し付けているのではなく、論理を説明しただけです。