[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 1069 1...106210631064106510661067106810691070107110721073107410751076...1145 新しいコメント volshebnik 2010.12.23 14:19 #10681 goldtrader: では、個別の(それぞれの)取引におけるドローダウンが、バランス/エクイティのグラフに表示されないことを証明する簡単な実験をしてみましょう。 2行のコードでExpert Advisorを書いてみましょう。 2010年5月1日から2010年8月1日までのEURUSD D1チャートで実行してみましょう。1.2200でユーロをストップなしで買い、1.3000で利食いする必要があります。バランス/エクイティチャートと可視化チャートでドローダウンを確認できます。 ご覧のように、可視化チャート(スクリーンショットの上)ではドローダウンが表示され、バランス/エクイティ・チャートでは表示されません。そこにあるのは、たった一つのトレード。テスターレポートを見てみよう。 テスターレポートでは、ドローダウンはFIGURINGとなっています。 これで疑問は晴れたでしょうか? . おそらく、「なぜそのようにするのか」という疑問があると思いますが、これは私たちユーザーではなく、MT4の開発者に向けた質問です。私の意見では、バランス・エクイティ・チャートはオーバーベットを表示しないので、これは間違っています。 アレクサンダーさん、ありがとうございました。とても詳しくて丁寧な仕事ぶり、本当にありがとうございました。MT4の開発者はここに答えないのですか? 削除済み 2010.12.23 17:07 #10682 同僚よ、もしかしたら誰かがこれに出くわしたかもしれない。 同時に開くファイルの数に制限はありますか?4はOK、5は開いているが書き込まない。何が問題なのかがわからない。 dzhini 2010.12.23 17:09 #10683 問題があるのです。指標となるコリドーの上限(買い)または下限(売り)を通過したら、取引を開始する必要があります。 double barier = 0.08; // 回廊の境界線. R() - インジケータ関数 上下限の境界を 越えた状態を確認する機能。 int RFilter() { if ( R(2)> -barier && R(1) < -barier ) return (-1); if ( R(2)< barier && R(1)> barier ) return (1); } インジケータが境界線を通過すると、エキスパートアドバイザーは直ちにポジションをオープンします(どの境界線であっても)。上がれば買い、下がれば売り。 Yury Reshetov 2010.12.23 17:56 #10684 dzhini: 問題があるのです。取引は、インジケータのコリドーの上限(買い)または下限(売り)を通過するときに開始される必要があります。 ... 実際には、インジケータが境界線を通過すると、EAが直ちにポジションを開くことが起こります(どれでもかまいません)。上がれば買い、下がれば売り。 バリアブル変数の値を少し増やす Виктор 2010.12.23 18:00 #10685 costy_: 目利きの方に質問です テスター用に独自の取引ツールを作成することはできますか? EURUSD30_2.fxtを私のに置き換えるなどしてください。 metaquotes ╱╱2.fxt simple_csv2fxtを作成しようとしましたが、testerが独自のファイルに置き換えてしまいました。 もしかしたら、どなたか作成経験のある方がいらっしゃるかもしれませんね、ありがとうございます。 あるある、あるある。そして、良い 記事があります。 dzhini 2010.12.23 18:17 #10686 Reshetov: バリアブル変数の値を少し増やす 役に立たなかった。符号の割り当てミスが原因ではないか? Yury Reshetov 2010.12.23 18:37 #10687 dzhini: 参考にならない。符号の割り当てミスが原因ではないか?明らかに情報量が少ないので、コーヒーのカスでも読んでください。 1. インジケータまたはオシレータ。 2.オシレーターの場合、リミットがあるのかないのか?もしそうなら、その高みと低みは何なのか? 3.おそらく問題は、上記の関数のコードではなく、その解釈のコードにあるのではないでしょうか? ここにはテレパスはいないし、あなたが持っている必要な情報はすべて分類されているので、質問が答えになります。つまり、提供された情報に基づけば、変数を増やせば問題は解決したはずです。 dzhini 2010.12.23 19:03 #10688 Reshetov:明らかに情報不足なので、コーヒーのカスでも読んでください。1. インジケータまたはオシレータ。2.発振器であれば、制限されているのかいないのか?もしそうなら、その最大値と最小値は?3.おそらく問題は、上記の関数のコードではなく、その解釈のコードにあるのではないでしょうか?ここにはテレパスはいないし、必要な情報はすべて秘密とマークされているので、質問が答えになるのです。I.e. 一見して、提供された情報から判断すると、変数を増やせば問題が解決するはずです。これは、次のような式を持つ指標です。 double R(int shift){double coef1 = 100.0 * (iMA(NULL, 0, perfast, 0,MODE_LWMA, PRICE_CLOSE, shift) - iMA(NULL, 0, perslow, 0, MODE_LWMA, PRICE_CLOSE, shift)))* iATR(NULL, 0, perslow, shift);double coef2 = coef1 / iMA(NULL, 0, perslow, 0, MODE_LWMA, PRICE_CLOSE, shift) / iATR(NULL, 0, perslow, shift)です。double main =(MathExp(2.0 * coef2) - 1.0) / (MathExp(2.0 * coef2) + 1.0); を返します(main)。} 制約がある。(-1;1) Yury Reshetov 2010.12.23 19:14 #10689 dzhini: この数式を使ったインジケーターです。 double R(int shift){double coef1 = 100.0 * (iMA(NULL, 0, perfast, 0,MODE_LWMA, PRICE_CLOSE, shift) - iMA(NULL, 0, perslow, 0, MODE_LWMA, PRICE_CLOSE, shift)))* iATR(NULL, 0, perslow, shift);double coef2 = coef1 / iMA(NULL, 0, perslow, 0, MODE_LWMA, PRICE_CLOSE, shift) / iATR(NULL, 0, perslow, shift)です。double main = (MathExp(2.0 * coef2) - 1.0) / (MathExp(2.0 * coef2) + 1.0); を返します(main)。} 制約がある。(-1;1) コメントに記載されている条件に従って、機能が正しく動作することが必要です。 int RFilter() { if ( R(2)> -barier && R(1)< -barier ) return (-1); // 前のバーの指標値が下のバーより高く、現在のものがこのバーより低い場合、ショートポーズをとる。 if ( R(2)< barier && R(1)> barier ) return (1); // インディケータ値が前のバーで上限バリアの下にあり、現在のバーでその上にある場合、ロングポーズをとる。 return(0); // それ以外の場合は何もしない。 } dzhini 2010.12.23 19:31 #10690 Reshetov: そうすれば、コメントにある条件に対して、あなたの関数が正しく動作するはずです。 int RFilter() { if ( R(2)> -barier && R(1) < -barier ) return (-1); // 前のバーの指標値が下のバーより高く、現在の指標がこのバーより低い場合、ショートポーズをとる。 if ( R(2)< barier && R(1)> barier ) return (1); // インディケータ値が前のバーで上限バリアの下にあり、現在のバーでその上にある場合、ロングポーズをとる。 return(0); // それ以外の場合は何もしない。 } でも、うまくいかない :( 1...106210631064106510661067106810691070107110721073107410751076...1145 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
では、個別の(それぞれの)取引におけるドローダウンが、バランス/エクイティのグラフに表示されないことを証明する簡単な実験をしてみましょう。
2行のコードでExpert Advisorを書いてみましょう。
2010年5月1日から2010年8月1日までのEURUSD D1チャートで実行してみましょう。1.2200でユーロをストップなしで買い、1.3000で利食いする必要があります。バランス/エクイティチャートと可視化チャートでドローダウンを確認できます。
ご覧のように、可視化チャート(スクリーンショットの上)ではドローダウンが表示され、バランス/エクイティ・チャートでは表示されません。そこにあるのは、たった一つのトレード。テスターレポートを見てみよう。
テスターレポートでは、ドローダウンはFIGURINGとなっています。
これで疑問は晴れたでしょうか?
.
おそらく、「なぜそのようにするのか」という疑問があると思いますが、これは私たちユーザーではなく、MT4の開発者に向けた質問です。私の意見では、バランス・エクイティ・チャートはオーバーベットを表示しないので、これは間違っています。
同僚よ、もしかしたら誰かがこれに出くわしたかもしれない。
同時に開くファイルの数に制限はありますか?4はOK、5は開いているが書き込まない。何が問題なのかがわからない。
問題があるのです。指標となるコリドーの上限(買い)または下限(売り)を通過したら、取引を開始する必要があります。
double barier = 0.08; // 回廊の境界線.
R() - インジケータ関数
上下限の境界を 越えた状態を確認する機能。
int RFilter()
{
if ( R(2)> -barier && R(1) < -barier ) return (-1);
if ( R(2)< barier && R(1)> barier ) return (1);
}
インジケータが境界線を通過すると、エキスパートアドバイザーは直ちにポジションをオープンします(どの境界線であっても)。上がれば買い、下がれば売り。
問題があるのです。取引は、インジケータのコリドーの上限(買い)または下限(売り)を通過するときに開始される必要があります。
...
実際には、インジケータが境界線を通過すると、EAが直ちにポジションを開くことが起こります(どれでもかまいません)。上がれば買い、下がれば売り。
目利きの方に質問です
テスター用に独自の取引ツールを作成することはできますか?
EURUSD30_2.fxtを私のに置き換えるなどしてください。
metaquotes ╱╱2.fxt
simple_csv2fxtを作成しようとしましたが、testerが独自のファイルに置き換えてしまいました。
もしかしたら、どなたか作成経験のある方がいらっしゃるかもしれませんね、ありがとうございます。
バリアブル変数の値を少し増やす
参考にならない。符号の割り当てミスが原因ではないか?
明らかに情報量が少ないので、コーヒーのカスでも読んでください。
1. インジケータまたはオシレータ。
2.オシレーターの場合、リミットがあるのかないのか?もしそうなら、その高みと低みは何なのか?
3.おそらく問題は、上記の関数のコードではなく、その解釈のコードにあるのではないでしょうか?
ここにはテレパスはいないし、あなたが持っている必要な情報はすべて分類されているので、質問が答えになります。つまり、提供された情報に基づけば、変数を増やせば問題は解決したはずです。
明らかに情報不足なので、コーヒーのカスでも読んでください。
1. インジケータまたはオシレータ。
2.発振器であれば、制限されているのかいないのか?もしそうなら、その最大値と最小値は?
3.おそらく問題は、上記の関数のコードではなく、その解釈のコードにあるのではないでしょうか?
ここにはテレパスはいないし、必要な情報はすべて秘密とマークされているので、質問が答えになるのです。I.e. 一見して、提供された情報から判断すると、変数を増やせば問題が解決するはずです。
これは、次のような式を持つ指標です。
double R(int shift)}
制約がある。(-1;1)
この数式を使ったインジケーターです。
double R(int shift)}
制約がある。(-1;1)
コメントに記載されている条件に従って、機能が正しく動作することが必要です。
int RFilter()
{
if ( R(2)> -barier && R(1)< -barier ) return (-1); // 前のバーの指標値が下のバーより高く、現在のものがこのバーより低い場合、ショートポーズをとる。
if ( R(2)< barier && R(1)> barier ) return (1); // インディケータ値が前のバーで上限バリアの下にあり、現在のバーでその上にある場合、ロングポーズをとる。
return(0); // それ以外の場合は何もしない。
}
そうすれば、コメントにある条件に対して、あなたの関数が正しく動作するはずです。
int RFilter()
{
if ( R(2)> -barier && R(1) < -barier ) return (-1); // 前のバーの指標値が下のバーより高く、現在の指標がこのバーより低い場合、ショートポーズをとる。
if ( R(2)< barier && R(1)> barier ) return (1); // インディケータ値が前のバーで上限バリアの下にあり、現在のバーでその上にある場合、ロングポーズをとる。
return(0); // それ以外の場合は何もしない。
}