エラー、バグ、質問 - ページ 2319 1...231223132314231523162317231823192320232123222323232423252326...3185 新しいコメント gianarhi 2018.11.05 22:59 #23181 こんにちは!価格が正しく表示されないエラーの修正方法を教えてください。インジケータを全部捨てている。 Igor Semyonov 2018.11.06 04:18 #23182 Slava:グラフィックではなく、シンボルの設定。 マーケット概観で、シンボルコンテキストメニューから「シンボル指定」を選択する Slava 2018.11.06 05:42 #23183 Igor Semyonov: ありがとうございます。 問題が発生した時の端末ログを最初から表示してください Igor Semyonov 2018.11.06 06:15 #23184 Slava:ありがとうございます。 問題が発生した時の端末ログを最初から表示してくださいログファイルをプライベートメッセージで 送りました。 Slava 2018.11.06 06:40 #23185 Igor Semyonov:ログファイルをプライベートメッセージで 送りました。はい、ありがとうございます。 ログはすべてクリアしています。 教えてください、あなたが言った状況は続いているのでしょうか? fxsaber 2018.11.06 09:33 #23186 VolumeをDoubleToString(Volume, 2)無しで表示します。スクリーンショットはEURUSDです。 Igor Semyonov 2018.11.06 10:25 #23187 Slava:はい、ありがとうございます。 ログを見ればすべてがわかる。 教えてください、あなたが言ったような状況は続いているのですか?端末を再起動したところ、今のところ問題ありません。 fxsaber 2018.11.06 12:23 #23188 トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム バグ、バグ、質問 パントゥラル さん 2018.11.01 16:03 親愛なるMT開発者の皆様、こんにちは。シャープレシオの計算アルゴリズムにバグがあることを報告させていただきます。アレクセイVyazmikin 氏による付録レポートではSR=0.29ですが、私の計算によると、それは約3.7〜3.8(ゼロPnLかどうかに応じて)平均リターンがシリーズの長さに依存しないため、標準偏差(sqrt(長さ))のスケーリング係数の不在でエラーがあることを示唆している、それが収束し、RMSはsqrt(長さ)として増加します。 C++ double SharpRatio(vector<double> pnl){ double avret = 0; for (int i = 0; i < pnl.size(); ++i) avret += pnl[i]; avret /= pnl.size(); double var = 0; for (int i = 0; i < pnl.size(); ++i) var += pow(pnl[i] - avret, 2); var = sqrt(var / pnl.size()) / sqrt(pnl.size()); return avret / var;} 同じTCが2つあるとしよう。同時にスタートさせるのです。1日後、両者ともpnl配列が表示される。1枚目は止められたが、2枚目は止められなかった。さらに1日後、2人目もまったく同じpnlを見せてくれました。 つまり、1枚目はpnl[]、2枚目はpnl[]+pnl[]である。つまり、2日目の取引は1日目の取引と同じであった。 その後、提案された式によると、2番目のTSのシャープ比は、最初の1の1よりもsqrt(2)(2のルート)小さくなります。でも、同じような取引をしていたんですよ Errors, bugs, questions トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング [警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 Rashid Umarov 2018.11.06 16:56 #23189 fxsaber: 同じTCを2台用意する。同時に実行する。24時間後には、どちらもpnlの配列が確認できた。最初の1枚は止められたが、2枚目は止められなかった。さらに1日後、2台目もまったく同じpnlを示しました。 つまり、1枚目はpnl[]、2枚目はpnl[]+pnl[]である。つまり、2日目の取引は1日目の取引と同じであった。 その後、提案された式によると、2番目のTSのシャープ比は、最初のもののそれよりもsqrt(2)(2のルート)小さくなります。でも、同じような取引をしていたんですよジョークはどうする?"小さいうちに殺しておくべきだ" . では、#11396 に添付されたファイルから例を見てみましょう。何事も理屈では怖くても、手で感じるまでは怖いものですからね。 そのファイルには 144の取引が あり、そのシャープ値は0.29です(サイトでは小数点以下2桁の精度で表示されていますが、それは大丈夫です - 誰も小数点以下5桁は必要ありません、この場合、2つの戦略を比較するための良い尺度として小数点以下2桁で十分です)。 シャープは K/STD レシオとして計算されます。 K- 取引履歴の平均成長率STDは 取引履歴における利益の標準偏差仮に、以前の取引のコピーである取引が2倍に増えたとします。これで288回の取引=144*2ということになります。同時にKは 変わりません。つまり、STDを変えることで、初めてSharpeを変えることができるのです。 初期STD=MathSqrt(X2/(n-1)), ここで: X2 は平均値からの偏差の二乗和 X_aver n - ティードの数 == 144つまり、Sharpe=MathSqrt(X2/(144-1)) です。= MathSqrt(X2/143) 取引回数が2倍になったので、2倍の履歴の場合、新しいSharpeは次のように計算されます。 SharpeNew=MathSqrt(X2_new/(2*144-1)) ここで、X2_new=2*X2である。したがって、SharpeNew/Sharpe ratio = MathSqrt(X2/(144-1)) / MathSqrt(X2_new/(2*144-1)) = となる。 MathSqrt(X2/(144-1)) / MathSqrt(2* X2/(2*144-1)) = MathSqrt(X2/(143)) / MathSqrt(2* X2/(283))= MathSqrt(X2*283/(2*143*X2))= MathSqrt(283/286)= 0.994741 分母と分子を取り違えても、SharpeNewは0.292919~0.296025の 範囲となる。 つまり、3桁目のどこかに差が出る。 でも、10倍から20倍は違う。どこが間違いなのか、ご自身で確認してください。 Errors, bugs, questions fxsaber 2018.11.06 17:16 #23190 Rashid Umarov:何の冗談だ?"小さいうちに殺すべき"あなたは誤解している。 トレーディング、自動売買システム、ストラテジーテストに関するフォーラム バグ、バグ、質問 fxsaber さん 2018.11.06 13:23 そうすると、提案した式 によれば、2番目のTSのシャープ比 は、1番目のTSよりもsqrt(2)(2の根)小さくなることになります。でも、同じような取引をしていたんですよC++から引用した式のことです。 そして、MTで使われる計算式では、もちろん1が引かれることはない。そうすると、提案された例では、144の間隔をいくつ観測しても、Sharpeは常に同じになるのである。 1...231223132314231523162317231823192320232123222323232423252326...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
グラフィックではなく、シンボルの設定。
マーケット概観で、シンボルコンテキストメニューから「シンボル指定」を選択する
ありがとうございます。
問題が発生した時の端末ログを最初から表示してください
ありがとうございます。
問題が発生した時の端末ログを最初から表示してください
ログファイルをプライベートメッセージで 送りました。
ログファイルをプライベートメッセージで 送りました。
はい、ありがとうございます。
ログはすべてクリアしています。
教えてください、あなたが言った状況は続いているのでしょうか?
VolumeをDoubleToString(Volume, 2)無しで表示します。スクリーンショットはEURUSDです。
はい、ありがとうございます。
ログを見ればすべてがわかる。
教えてください、あなたが言ったような状況は続いているのですか?
端末を再起動したところ、今のところ問題ありません。
トレーディング、自動売買システム、トレーディング戦略のテストに関するフォーラム
バグ、バグ、質問
パントゥラル さん 2018.11.01 16:03
親愛なるMT開発者の皆様、こんにちは。シャープレシオの計算アルゴリズムにバグがあることを報告させていただきます。アレクセイVyazmikin 氏による付録レポートではSR=0.29ですが、私の計算によると、それは約3.7〜3.8(ゼロPnLかどうかに応じて)平均リターンがシリーズの長さに依存しないため、標準偏差(sqrt(長さ))のスケーリング係数の不在でエラーがあることを示唆している、それが収束し、RMSはsqrt(長さ)として増加します。
C++
double SharpRatio(vector<double> pnl)
{
double avret = 0;
for (int i = 0; i < pnl.size(); ++i) avret += pnl[i];
avret /= pnl.size();
double var = 0;
for (int i = 0; i < pnl.size(); ++i) var += pow(pnl[i] - avret, 2);
var = sqrt(var / pnl.size()) / sqrt(pnl.size());
return avret / var;
}
同じTCが2つあるとしよう。同時にスタートさせるのです。1日後、両者ともpnl配列が表示される。1枚目は止められたが、2枚目は止められなかった。さらに1日後、2人目もまったく同じpnlを見せてくれました。
つまり、1枚目はpnl[]、2枚目はpnl[]+pnl[]である。つまり、2日目の取引は1日目の取引と同じであった。
その後、提案された式によると、2番目のTSのシャープ比は、最初の1の1よりもsqrt(2)(2のルート)小さくなります。でも、同じような取引をしていたんですよ
同じTCを2台用意する。同時に実行する。24時間後には、どちらもpnlの配列が確認できた。最初の1枚は止められたが、2枚目は止められなかった。さらに1日後、2台目もまったく同じpnlを示しました。
つまり、1枚目はpnl[]、2枚目はpnl[]+pnl[]である。つまり、2日目の取引は1日目の取引と同じであった。
その後、提案された式によると、2番目のTSのシャープ比は、最初のもののそれよりもsqrt(2)(2のルート)小さくなります。でも、同じような取引をしていたんですよ
ジョークはどうする?"小さいうちに殺しておくべきだ" .
では、#11396 に添付されたファイルから例を見てみましょう。何事も理屈では怖くても、手で感じるまでは怖いものですからね。
そのファイルには 144の取引が あり、そのシャープ値は0.29です(サイトでは小数点以下2桁の精度で表示されていますが、それは大丈夫です - 誰も小数点以下5桁は必要ありません、この場合、2つの戦略を比較するための良い尺度として小数点以下2桁で十分です)。
シャープは K/STD レシオとして計算されます。
仮に、以前の取引のコピーである取引が2倍に増えたとします。これで288回の取引=144*2ということになります。同時にKは 変わりません。つまり、STDを変えることで、初めてSharpeを変えることができるのです。
初期STD=MathSqrt(X2/(n-1)), ここで:
つまり、Sharpe=MathSqrt(X2/(144-1)) です。= MathSqrt(X2/143)
取引回数が2倍になったので、2倍の履歴の場合、新しいSharpeは次のように計算されます。
ここで、X2_new=2*X2である。したがって、SharpeNew/Sharpe ratio = MathSqrt(X2/(144-1)) / MathSqrt(X2_new/(2*144-1)) = となる。
分母と分子を取り違えても、SharpeNewは0.292919~0.296025の 範囲となる。 つまり、3桁目のどこかに差が出る。
でも、10倍から20倍は違う。どこが間違いなのか、ご自身で確認してください。
何の冗談だ?"小さいうちに殺すべき"
あなたは誤解している。
トレーディング、自動売買システム、ストラテジーテストに関するフォーラム
バグ、バグ、質問
fxsaber さん 2018.11.06 13:23
そうすると、提案した式 によれば、2番目のTSのシャープ比 は、1番目のTSよりもsqrt(2)(2の根)小さくなることになります。でも、同じような取引をしていたんですよ
C++から引用した式のことです。
そして、MTで使われる計算式では、もちろん1が引かれることはない。そうすると、提案された例では、144の間隔をいくつ観測しても、Sharpeは常に同じになるのである。