エラー、バグ、質問 - ページ 1564 1...155715581559156015611562156315641565156615671568156915701571...3185 新しいコメント Slava 2016.04.26 18:14 #15631 Anton Zverev:iCustom+IndicatorRelease。複雑な実体をその場で作り出すのは、松葉づえのような解決策ではないのでしょう。味については議論の余地はありません。問題は、多数のエージェントにこのような松葉杖をつくことが、どれだけ資源の浪費につながるかだ。まあほとんど全部が5でカッコいいんですけどね。スピードは一級品です。そして、ここで、すみません、予想もしないところで総毛立つことがあります。なぜリリースインジケータを作るのか?新しいティックごとに、テスト対象のエキスパートにチャートイベントを送信するようにします。ティックごとにインジケータを作成 し、その後リリースを行う - そこに無駄なリソースが存在する Slava 2016.04.26 18:15 #15632 Anton Zverev:Vasiliyは、FORTSでは(テスターではなく)サブスクリプションとBookEventを介してメカニズムが動作することを述べました。これにより、EAを任意のチャートにリンクさせる必要が全くなくなります。 BookEventはテスターでは未実装です 削除済み 2016.04.26 18:16 #15633 Slawa:なぜインジケーターへのリリースを行うのか?新しいティックごとに、テスト対象のエキスパートにチャートイベントを送信するようにします。ティック毎にインジケータを 作成してリリースするのは、リソースの無駄遣いになる表現が下手だから、わからないんですね。詳細はこちら https://www.mql5.com/ru/code/280そして、こんな簡単なことを実現するために、このソリューションはどれだけのリソースを消費するのだろうか!? Мультивалютный обработчик событий OnTick(string symbol) 投票: 272011.02.01Konstantin Gruzdevwww.mql5.com Упрощенная реализация полноценного мультивалютного режима в MetaTrader 5. Нет необходимости вникать в то, как это работает. Минимум простых настроек. Максимум удобства для пользователей. Работает в тестере. 削除済み 2016.04.26 18:17 #15634 Slawa: BookEventはテスターではまだ実装されていません では、FXでも使えないのにテスターで使う意味があるのでしょうか?Vasiliyは、上記のように賢明な提案をしたと思う。 削除済み 2016.04.26 18:42 #15635 Slawa:そして、1秒たりともループさせず、1時間弱の間、ループさせてください。IsStopped()のチェックは必須です。ちなみに、睡眠は必須です。そうしないと、テスターがハングアップしてしまいます。そして、Expert Advisorの正常な動作中にシステムのリソースが荒らされることになります。バリアントのテストもしないでください2016.04.26 19:39:05 Core 1 2016.04.25 00:16:48 infinite Sleep loop detected while testing 2016.04.26 19:39:05 Core 1 EURUSD : 2016.04.25 00:00 - 2016.04.26 00:00 1439 minute bars absent in total while real ticks present 2016.04.26 19:39:05 Core 1 EURUSD : real ticks begin from 2016.01.04 00:00:00 2016.04.26 19:39:05 Core 1 SleepPause=10 2016.04.26 19:39:05 Core 1 TimerInterval=1000コードsinput uint TimerInterval = 1000; // Через сколько секунд вызывать OnTimer sinput uint SleepPause = 10; // На сколько милисекунд делать Sleep //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnInit() { EventSetTimer(TimerInterval); } //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ void OnTimer() { const uint Amount=TimerInterval*1000/SleepPause; for(uint i=0;(i<Amount) && (!IsStopped()); i++) Sleep(SleepPause); } //+------------------------------------------------------------------+ Slava 2016.04.27 08:43 #15636 Anton Zverev: オプションのテストもしないコード ここで何を試したんですか? 削除済み 2016.04.27 11:41 #15637 Slawa: ここで何を試したんですか? そのコードをテスターで走らせる。 テスト中に無限Sleep ループが検出され、ハングアップしてしまいます。 Slava 2016.04.27 12:09 #15638 Anton Zverev: そのコードをテスターで立ち上げる。 テスト中に無限Sleepループが検出 され、ハングアップしてしまうのですが。何度も言われていることですが、「ドキュメントを読め」ということです。ドキュメントを全部読みました」って言ってなかったっけ?数回」?これを 読んだことがありますか?まだのようですね...。Sleep()関数実行時にテスターの現在時刻がテスト期間の終了時刻を超えると、「Sleepで無限ループ」というエラーが発生します。このようなエラーが発生しても、テスト結果は破棄されず、すべての計算(取引量、ドローダウンなど)が実行され、結果が端末に渡される。 削除済み 2016.04.27 13:18 #15639 Slawa:これを 読んだことがありますか? ありますし、よく読んでいます。ポイントは、OnTimerでSleepを使用すると、プログラマーはいつテスト間隔を抜ける か判断できないことです。IsStopped(ドキュメントを読んで一気にコードに入れました)は終了の瞬間に機能しません。誰のせい? 削除済み 2016.04.27 13:35 #15640 Slawa:また、OnTimerのループ内の目盛りの欠落については、再現性のある証拠が必要です。持っていますか?ドキュメントに書いて あったんですねー。テスターでは、Sleep()呼び出しによってテスト処理が遅延することはありません。Sleep()を呼び出すと、生成されたティックが指定された遅延時間内に「再生」さ れ、その結果、保留中の注文やストップなどがトリガーされることがあります。Sleep()が呼ばれた後、テスターのモデル化された時間は、Sleep関数パラメータで指定された間隔だけ増加する。 そのため、これらのティックごとにExpert Advisorを呼び出すことはできません。証明は認められるのか? 1...155715581559156015611562156315641565156615671568156915701571...3185 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
iCustom+IndicatorRelease。複雑な実体をその場で作り出すのは、松葉づえのような解決策ではないのでしょう。味については議論の余地はありません。問題は、多数のエージェントにこのような松葉杖をつくことが、どれだけ資源の浪費につながるかだ。
まあほとんど全部が5でカッコいいんですけどね。スピードは一級品です。そして、ここで、すみません、予想もしないところで総毛立つことがあります。
なぜリリースインジケータを作るのか?
新しいティックごとに、テスト対象のエキスパートにチャートイベントを送信するようにします。
ティックごとにインジケータを作成 し、その後リリースを行う - そこに無駄なリソースが存在する
Vasiliyは、FORTSでは(テスターではなく)サブスクリプションとBookEventを介してメカニズムが動作することを述べました。これにより、EAを任意のチャートにリンクさせる必要が全くなくなります。
なぜインジケーターへのリリースを行うのか?
新しいティックごとに、テスト対象のエキスパートにチャートイベントを送信するようにします。
ティック毎にインジケータを 作成してリリースするのは、リソースの無駄遣いになる
表現が下手だから、わからないんですね。詳細はこちら https://www.mql5.com/ru/code/280
そして、こんな簡単なことを実現するために、このソリューションはどれだけのリソースを消費するのだろうか!?
BookEventはテスターではまだ実装されていません
そして、1秒たりともループさせず、1時間弱の間、ループさせてください。IsStopped()のチェックは必須です。
ちなみに、睡眠は必須です。そうしないと、テスターがハングアップしてしまいます。そして、Expert Advisorの正常な動作中にシステムのリソースが荒らされることになります。
バリアントのテストもしないでください
コード
オプションのテストもしない
コード
ここで何を試したんですか?
そのコードをテスターで立ち上げる。 テスト中に無限Sleepループが検出 され、ハングアップしてしまうのですが。
何度も言われていることですが、「ドキュメントを読め」ということです。
ドキュメントを全部読みました」って言ってなかったっけ?数回」?
これを 読んだことがありますか?まだのようですね...。
Sleep()関数実行時にテスターの現在時刻がテスト期間の終了時刻を超えると、「Sleepで無限ループ」というエラーが発生します。このようなエラーが発生しても、テスト結果は破棄されず、すべての計算(取引量、ドローダウンなど)が実行され、結果が端末に渡される。
これを 読んだことがありますか?
また、OnTimerのループ内の目盛りの欠落については、再現性のある証拠が必要です。持っていますか?
ドキュメントに書いて あったんですねー。
テスターでは、Sleep()呼び出しによってテスト処理が遅延することはありません。Sleep()を呼び出すと、生成されたティックが指定された遅延時間内に「再生」さ れ、その結果、保留中の注文やストップなどがトリガーされることがあります。Sleep()が呼ばれた後、テスターのモデル化された時間は、Sleep関数パラメータで指定された間隔だけ増加する。
そのため、これらのティックごとにExpert Advisorを呼び出すことはできません。証明は認められるのか?