[警告は閉鎖されました!】フォーラムを乱雑にしないために、どんな初心者の質問でも。プロフェッショナルは、通り過ぎないでください。あなたなしでは、どこにも行けない。 - ページ 1070 1...106310641065106610671068106910701071107210731074107510761077...1145 新しいコメント Yury Reshetov 2010.12.23 18:35 #10691 dzhini: でも、うまくいかない :( そのため、他の場所では動作しないか、私が何か見落としているのか dzhini 2010.12.23 18:48 #10692 Reshetov: そのため、他の場所では動作しないか、私が何か見落としているのか 直接ドアを叩いてもいいですか? Yury Reshetov 2010.12.23 18:51 #10693 dzhini: 直接ドアを叩いてもいいですか? いいえ。プライベートメッセージは、個人的な連絡のためにのみ使用されます。また、コードのエラーは、他の人が同じ間違いをしないように、公に議論されなければなりませんし、誰かが既成の解決策へのリンクを共有することもできます。 Alexey Zhuravlev 2010.12.23 20:20 #10694 こんにちは。この簡単なコードは、エラーで動作します。自分でも理由がわからない。 最初の命令で開き、修正し、2番目の命令で開き...修正しない。故障するまで保管する。 ログにはこう書かれている。 "01:23:22 MarkTradeがテストのために開始されました。 01:23:22 2010.01.29 00:00 MarkTrade EURUSD,H1: open #1 buy 1.00 EURUSD at 1.3965 ok 01:23:22 2010.01.29 00:00 MarkTrade EURUSD,H1: modify #1 buy 1.00 EURUSD at 1.3965 sl: 1.3935 tp: 0.0000 ok 01:23:22 2010.01.29 00:28 テスター:ストップロス#1@1.3935 (1.3935 / 1.3937) 01:23:22 2010.02.01 00:00 MarkTrade EURUSD,H1: open #2 buy 1.00 EURUSD at 1.3877 ok 01:23:22 2010.05.05 13:17 MarkTrade: Stop Outのため停止しました。 01:23:22 2010.05.05 13:17 テスター:注文2番が終了しました。 間違えた!OrderSend はブール 値でない 値を返す! int start() { int total=OrdersTotal(); if (total==0) { if (TimeHour(TimeCurrent())==00&&TimeMinute(TimeCurrent())==00) { Buy(); } } return(0); } ////////////////////////// void Buy() { RefreshRates(); if (OrderSend(Symbol(), OP_BUY, 1, NormalizeDouble(Ask,Digits), 0,0,0,"",123321,0,Blue)==true) { Modify(); } } ///////////////////////////// void Modify() { int total = OrdersTotal(); for(int i=total-1;i>=0;i--) { OrderSelect(i, SELECT_BY_POS,MODE_TRADES); if (OrderModify (OrderTicket(),OrderOpenPrice(),OrderOpenPrice()-NormalizeDouble(30*Point,Digits),OrderTakeProfit(),0,CLR_NONE)== false) Modify(); } } [WARNING CLOSED!] Any newbie Ordermodify error 130 how much does a ivn 2010.12.23 20:24 #10695 グッドアフターヌーン 異なるフレームで動作するテスターの作り方。 を、歴史の中に走らせる。 volshebnik 2010.12.24 09:06 #10696 おはようございます。 明確にしてください。Expert Advisor を最適化する際、遺伝的アルゴリズムを有効にして異なる TP を設定すると、異なる結果が得られることに気づきました。例えば、TP=400 に設定すると、1 から 400 までのステップで最適化し、次に 350 に設定すると、1 から 350 までのステップで最適化して、TP=50 まで続けます。つまり、TR=400の時だけ走ると、TPが低くても良い 結果を「飛ばす」ことが判明したのです 遺伝のせい?(記事https://www.mql5.com/ru/articles/1347(Created:25.12.2009 Author:Rider) に書いてあります。"...遺伝は確かに便利なものですが、合理的な範囲内で。つまり、そのアルゴリズムが残酷な冗談を言うかもしれないということです。その視点から見て有利なパラメータのセットが特定され、それ以降の最適化は最後の最後まで「その周り」で行われます。その結果がどうなるかは明らかだと思います。最適化領域の外で機能する本当に良い バリアントのほとんどは「外」のままとなり、「最適化結果」の表には表示されなくなります。 出口はいくつかある。根本的な解決策として、遺伝的アルゴリズムによる最適化を拒否することが挙げられます。しかし、これはある理由から、必ずしも良い解決策とは言えません。次の2つは中途半端なものですが、少なくとも何かはあります。 - 最適化は一度だけでなく、二度以上行い、一度目は「バランス」、次は「最大ドローダウン」等とする."). つまり、最良の結果を得られないためには、異なるTPで+異なる「最適化可能なパラメータ」によって実行し、さらに、例えば、信頼性のために各テストについて9つの最適化で9つのフォワードテストを行うべきなのでしょうか。 volshebnik 2010.12.24 09:19 #10697 eddy: 何らかの理由で周期が中断されない この場合のBreakは、条件が満たされたときにのみ、ループをトリガーして中断させます。条件を満たさない場合、ループは無限大となる。この方法で試してみてください。 int sec=Seconds(); while(true) {if(sec!=Seconds()) // new sec { int ms=GetTickCount(); } break; } Roma 2010.12.24 09:27 #10698 volshebnik: この場合のbreakは 、条件を満たした場合のみ機能します。 だからif()の中なんですね。 prom18 2010.12.24 09:33 #10699 こんにちは!ターミナルでシンボルのプロパティを 変更するにはどうすればよいですか?最低停止レベルは300と書かれています。EAをテストできない。 T-G 2010.12.24 09:47 #10700 Pro 例えばスプレッドを変更するためにTakeMySpreadというプログラムがありますが、どのように、あるいは何を使って「ストップレベル」を変更すれば、様々な条件でEAをテスト することができます。助けて 1...106310641065106610671068106910701071107210731074107510761077...1145 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
でも、うまくいかない :(
そのため、他の場所では動作しないか、私が何か見落としているのか
直接ドアを叩いてもいいですか?
こんにちは。この簡単なコードは、エラーで動作します。自分でも理由がわからない。
最初の命令で開き、修正し、2番目の命令で開き...修正しない。故障するまで保管する。
ログにはこう書かれている。
"01:23:22 MarkTradeがテストのために開始されました。
01:23:22 2010.01.29 00:00 MarkTrade EURUSD,H1: open #1 buy 1.00 EURUSD at 1.3965 ok
01:23:22 2010.01.29 00:00 MarkTrade EURUSD,H1: modify #1 buy 1.00 EURUSD at 1.3965 sl: 1.3935 tp: 0.0000 ok
01:23:22 2010.01.29 00:28 テスター:ストップロス#1@1.3935 (1.3935 / 1.3937)
01:23:22 2010.02.01 00:00 MarkTrade EURUSD,H1: open #2 buy 1.00 EURUSD at 1.3877 ok
01:23:22 2010.05.05 13:17 MarkTrade: Stop Outのため停止しました。
01:23:22 2010.05.05 13:17 テスター:注文2番が終了しました。
間違えた!OrderSend はブール 値でない 値を返す!
グッドアフターヌーン
異なるフレームで動作するテスターの作り方。
を、歴史の中に走らせる。
おはようございます。
明確にしてください。Expert Advisor を最適化する際、遺伝的アルゴリズムを有効にして異なる TP を設定すると、異なる結果が得られることに気づきました。例えば、TP=400 に設定すると、1 から 400 までのステップで最適化し、次に 350 に設定すると、1 から 350 までのステップで最適化して、TP=50 まで続けます。つまり、TR=400の時だけ走ると、TPが低くても良い 結果を「飛ばす」ことが判明したのです 遺伝のせい?(記事https://www.mql5.com/ru/articles/1347(Created:25.12.2009 Author:Rider) に書いてあります。"...遺伝は確かに便利なものですが、合理的な範囲内で。つまり、そのアルゴリズムが残酷な冗談を言うかもしれないということです。その視点から見て有利なパラメータのセットが特定され、それ以降の最適化は最後の最後まで「その周り」で行われます。その結果がどうなるかは明らかだと思います。最適化領域の外で機能する本当に良い バリアントのほとんどは「外」のままとなり、「最適化結果」の表には表示されなくなります。
出口はいくつかある。根本的な解決策として、遺伝的アルゴリズムによる最適化を拒否することが挙げられます。しかし、これはある理由から、必ずしも良い解決策とは言えません。次の2つは中途半端なものですが、少なくとも何かはあります。
- 最適化は一度だけでなく、二度以上行い、一度目は「バランス」、次は「最大ドローダウン」等とする."). つまり、最良の結果を得られないためには、異なるTPで+異なる「最適化可能なパラメータ」によって実行し、さらに、例えば、信頼性のために各テストについて9つの最適化で9つのフォワードテストを行うべきなのでしょうか。
何らかの理由で周期が中断されない
この場合のBreakは、条件が満たされたときにのみ、ループをトリガーして中断させます。条件を満たさない場合、ループは無限大となる。この方法で試してみてください。
この場合のbreakは 、条件を満たした場合のみ機能します。
例えばスプレッドを変更するためにTakeMySpreadというプログラムがありますが、どのように、あるいは何を使って「ストップレベル」を変更すれば、様々な条件でEAをテスト することができます。助けて