タイマー - ページ 6 12345678 新しいコメント TheXpert 2012.05.17 14:47 #51 Yurich: 割り込みとは、OnTickが実行されているときに、OnTimerなどのより重要なイベントが到来した場合です。OnTickが一時停止し、OnTimerのコードが実行され、その後、OnTickが再び実行され続けます。 やれやれ。これはひどい夢だ。 Vladimir Gomonov 2012.05.17 14:52 #52 pusheax: OnTimer, OnTick, OnTrade...これが割り込みです。 最初はそう思っていたんです。しかし、バリエーションがある。例えば、あるOnTimerにinterruptsという言葉をつけて、それがイベント発生の瞬間に正確に呼ばれ、他のイベントの処理が中断されることを知ることはできません(MSDOSのシングルスレッド方式、スタック保存、割り込み処理、スタック回復、制御移行)。 この方式なら、もっと簡単な方法で多くの問題を解決できるはずです。例えば、この方式で呼び出されたOnTickは、なかなかいい感じです。微妙なところでは、繰り返し入力の処理が必要になりますが(例えば、小さなギャップのある2つのティック)、一般的には解決可能です。 Slava 2012.05.17 14:53 #53 TheXpert: クソッタレこれは悪い夢だ。 実際、YurichはOnTickやOnTimerの割り込み処理ではなく、古典的な意味での割り込みについて説明しています。 pusheax 2012.05.17 14:55 #54 例えば、OnTick ハンドラでSleep(100000) を設定した場合、OnTimer、OnTrade は全く機能しないのでしょうか? Vladimir Gomonov 2012.05.17 14:59 #55 TheXpert: ガッカリだ。そうですね......怖い夢です。いや、怖くはない。前髪を避ける方法については、古くから試行錯誤が行われています。しかし、まだ夢物語です。 開発者がやるとは思えません。 メリットは否定できませんが。例えば、OnTimerの中で、タイマーの半分の周期で小さな頻度(5秒に1回程度)でバックグラウンドの計算を実行することができます。また、ティックの処理に悩まされることもなく、バックグラウンドでの計算を中断し、正しく元の場所に戻すだけでよいのです。そして今、カチカチと音がする同じスレッドで正しく処理するよりも、別のチャートに載せる方が簡単なんです。同じスレッドに全員分の時間があるだろうが。 Slava 2012.05.17 15:00 #56 pusheax: 例えば、OnTick ハンドラで Sleep(100000); を設定した場合、OnTimer と OnTrade は全く生きられないのでしょうか?のイベントは無視され、新しいティックも無視されます。Tick、Trade、TimerイベントとそのハンドラOnTick、OnTrade、OnTimerを混同しないようにしましょう。 Vladimir Gomonov 2012.05.17 15:02 #57 pusheax: 例えば、OnTick ハンドラで Sleep(100000); を設定すると、OnTimer, OnTrade は全く生きられなくなるのでしょうか? 今はまさにその通りです。しかし、自殺は難しいことではなく、画面にメッセージボックスが表示され、キッチンでお茶を飲んでいるときのほうが、よっぽどひどいのです。ゆりっちさんの指摘は的を得ていますね。 TheXpert 2012.05.17 15:04 #58 stringo: 実際、Yurichは古典的な意味での割り込みを記述しており、OnTickやOnTimerの割り込み処理ではありません。彼が説明したことが理解できる。シングルスレッド・アプリケーションでデータを同期させ、アクセスを中断させるのは、馬鹿の極みです。 pusheax 2012.05.17 15:07 #59 MetaDriver: 今はそういう時代なんです。でも、自殺は難しいことではなく、画面にメッセージボックスが表示され、私がキッチンでお茶を飲んでいるときのほうがひどいんです。ゆりっちさんの指摘は的を得ていますね。 ああ、なるほど、Timerイベント 自体は発生するけど、OnTimerの処理はOnTickが完了するまで遅延するんですね。 Документация по MQL5: Программы MQL5 / События клиентского терминала www.mql5.com Программы MQL5 / События клиентского терминала - Документация по MQL5 Yury Kulikov 2012.05.17 15:10 #60 pusheax: そういうことなのでしょう。 もしそうなら :) 12345678 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
割り込みとは、OnTickが実行されているときに、OnTimerなどのより重要なイベントが到来した場合です。OnTickが一時停止し、OnTimerのコードが実行され、その後、OnTickが再び実行され続けます。
OnTimer, OnTick, OnTrade...これが割り込みです。
クソッタレこれは悪い夢だ。
ガッカリだ。そうですね......怖い夢です。
いや、怖くはない。前髪を避ける方法については、古くから試行錯誤が行われています。
しかし、まだ夢物語です。 開発者がやるとは思えません。 メリットは否定できませんが。
例えば、OnTimerの中で、タイマーの半分の周期で小さな頻度(5秒に1回程度)でバックグラウンドの計算を実行することができます。また、ティックの処理に悩まされることもなく、バックグラウンドでの計算を中断し、正しく元の場所に戻すだけでよいのです。そして今、カチカチと音がする同じスレッドで正しく処理するよりも、別のチャートに載せる方が簡単なんです。同じスレッドに全員分の時間があるだろうが。
例えば、OnTick ハンドラで Sleep(100000); を設定した場合、OnTimer と OnTrade は全く生きられないのでしょうか?
のイベントは無視され、新しいティックも無視されます。
Tick、Trade、TimerイベントとそのハンドラOnTick、OnTrade、OnTimerを混同しないようにしましょう。
例えば、OnTick ハンドラで Sleep(100000); を設定すると、OnTimer, OnTrade は全く生きられなくなるのでしょうか?
実際、Yurichは古典的な意味での割り込みを記述しており、OnTickやOnTimerの割り込み処理ではありません。
彼が説明したことが理解できる。
シングルスレッド・アプリケーションでデータを同期させ、アクセスを中断させるのは、馬鹿の極みです。
今はそういう時代なんです。でも、自殺は難しいことではなく、画面にメッセージボックスが表示され、私がキッチンでお茶を飲んでいるときのほうがひどいんです。ゆりっちさんの指摘は的を得ていますね。
そういうことなのでしょう。