エラー番号6 - ページ 29 1...2223242526272829303132 新しいコメント Forex Trader 2005.10.12 11:40 #281 のログが送信されました。<br / translate="no"> このコードはどこに置けばいいのでしょうか? while(!IsStopped() && !IsTradeAllowed())Sleep(1000); GlobalVariableSet(strTradeSemaphore, 0.0); スタート関数の出口で Forex Trader 2005.10.12 12:27 #282 Sleep()を試してみた 100000までは目に見える改善なし に差し替えif(!IsTesting()) { Sleep(1000); GlobalVariableSet(strTradeSemaphore, 0.0); }。 で while(!IsStopped() && !IsTradeAllowed())Sleep(1000); GlobalVariableSet(strTradeSemaphore, 0.0); 同じくペッパー。 エラー146です。 Forex Trader 2005.10.12 12:47 #283 しばらくして、よく考えてみると、正確な方法があることがわかりました。 それを定式化してみます<br/ translate="no">while(!IsStopped() && !IsTradeAllowed())Sleep(1000); GlobalVariableSet(strTradeSemaphore, 0.0); つまり、私たち自身が自分のトレードコンテキストが解放されるのを待っているのです。 、一般的に、これは非常に奇妙な状況です。トレード操作を行った後、コンテキストは即座に解放されます。さもなければ、ループ内でポジションを閉じることは不可能になります。 もう一度言います。上記のコードは、取引フラグがクリアされている場合、Expert Advisorがハングアップする原因となります。そうすると、誰もセマフォに信号を送らないので、取引は完全に停止してしまいます。この状況は、少なくとも手動でフラグを外すしかないため、どうにかコントロールできる。もっと悪いのは、セマフォの場合だ。 GlobalVariableSetは、他のEAがセマフォを閉じたときに、他のEAに落ちることがあります。その結果、複数のEAが同時に取引しようとします。 このように、開発者はターミナル内の非同期処理を理解していない。そして、この誤解はフォーラムに輸出される。 ここで取り上げたような致命的なエラーが発生し、このエラーが直らないのも無理はない。なぜ、 有害な アドバイスをするのか? Forex Trader 2005.10.12 13:00 #284 なぜвредные のアドバイスをするのか? アドバイザーがここまで来たら、売買フラグが立っている!という前提です。 Forex Trader 2005.10.12 13:09 #285 Зачем давать вредные советы? は、EAがこのポイントに到達した場合、取引フラグが立っていると想定しています その前提の根拠は?想定と現実が一致しない場合、予期せぬエラーが発生する。旗は何もない。同期、ミューテックス、共有リソース......この問題は現実のものとなっている。ユーザーレベルの グローバル 変数で解決しようというのはナンセンスです。特に、この例は実行不可能なものです。 Forex Trader 2005.10.12 14:48 #286 昨夜12時から、MQデモとAlpariデモの専門家による作業が行われました。その間、128のエラーもありませんでしたが、Alpariでは6(pingエラー)が1回あり、両方で古いティックが数回ありました。注文はエラーなくできました。05.10のBuild 1.8.3です。 もしかしたら他のものでしょうか?例えば、異なるインターネットプロバイダーにおける443番ポート経由の接続の特殊性?MT3もエラーはあったが、それほど多くはない。 嗚呼。"夜の12時から "というのは、統計学的なものではありません。理由は不明ですが、問題には波があり、ある時は全くなく、ある時は一度にいくつもの問題が発生する...。 Forex Trader 2005.10.12 14:52 #287 <br / translate="no"> Quarkは、良心を持って、フォーラムでそのようなログを投稿しないでください =)))) と思ったけど、気にしない(Kindzadzのバイオリン弾きの音色) :)) 閉じる・開くの実態について - すべてのf関数にチェックを入れ、エラーが出ていますが、FALSEエラーになっています。ログと注文履歴を確認したところ、すべてのポジションがクローズされていました。歴史の中で秩序が動く暇がなかっただけです。チェックする前に1秒遅らせるようにしたのですが......それではダメなんです。と聞いても、何も答えてくれない。 良い点です。でも、1時間経っても注文が進まないケース、つまり虚偽でない場合もあるんです。 私も10秒の遅延があります。 Forex Trader 2005.10.12 17:09 #288 それはいい指摘ですね。でも、1時間経っても注文が進まないケースもあって、つまりは虚偽ではない場合もあるんです。<br / translate="no">私も10秒ずつの遅延があります。 私の全ての間違いは、結局のところ、コードの中にありました。 修正後-はありません。確かに、あまり時間が経っていないので、待つしかないのですが...。 Forex Trader 2005.10.12 20:18 #289 <br / translate="no"> すべての私のエラーは、コードにあるように見えた =) すなわち、私はorderclose後に間違ったチェックをした。 修正後-はありません。確かにあまり時間が経っていないので、待つしかないのですが...。 修正したコードはどのように表示されますか? Forex Trader 2005.10.12 22:29 #290 修正されたコードはどのようなものですか? オーダークラウズのために //---- 実際にポジションがクローズしたかどうかをチェックし、クローズしていなければ情報を出力して終了し、-5を返す for ( int x = 0; x < 5; x ++ ) { Sleep(1000); if ( OrderSelect( Close_OrderTicket, SELECT_BY_TICKET ) ) { if ( OrderCloseTime() <= 0 ) { Processing_Error ( 0, "OrderClose" ); _Return_ ( 3, "Error", 0, "Position was not closed", "OrderClose(...)", "The position was not closed" ); return(-5); } else { break; } Close_GetLastError = GetLastError(); _Print_ ( 3, ".OrderSelect( " + Close_OrderTicket + ", SELECT_BY_TICKET )", "Error #" + Close_GetLastError + " ( " + ErrorDescription( Close_GetLastError ) + " )" ); } { }. for ordersand -注文を選択するための 5回の試行と2回目の一時停止、 for modifi - 古い値と現在の値を比較する。 1...2223242526272829303132 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
スタート関数の出口で
100000までは目に見える改善なし
に差し替え 。
で
同じくペッパー。
エラー146です。
つまり、私たち自身が自分のトレードコンテキストが解放されるのを待っているのです。 、一般的に、これは非常に奇妙な状況です。トレード操作を行った後、コンテキストは即座に解放されます。さもなければ、ループ内でポジションを閉じることは不可能になります。
もう一度言います。上記のコードは、取引フラグがクリアされている場合、Expert Advisorがハングアップする原因となります。そうすると、誰もセマフォに信号を送らないので、取引は完全に停止してしまいます。この状況は、少なくとも手動でフラグを外すしかないため、どうにかコントロールできる。もっと悪いのは、セマフォの場合だ。
GlobalVariableSetは、他のEAがセマフォを閉じたときに、他のEAに落ちることがあります。その結果、複数のEAが同時に取引しようとします。 このように、開発者はターミナル内の非同期処理を理解していない。そして、この誤解はフォーラムに輸出される。 ここで取り上げたような致命的なエラーが発生し、このエラーが直らないのも無理はない。なぜ、
有害な アドバイスをするのか?
アドバイザーがここまで来たら、売買フラグが立っている!という前提です。
は、EAがこのポイントに到達した場合、取引フラグが立っていると想定しています
その前提の根拠は?想定と現実が一致しない場合、予期せぬエラーが発生する。旗は何もない。同期、ミューテックス、共有リソース......この問題は現実のものとなっている。ユーザーレベルの
グローバル 変数で解決しようというのはナンセンスです。特に、この例は実行不可能なものです。
嗚呼。"夜の12時から "というのは、統計学的なものではありません。理由は不明ですが、問題には波があり、ある時は全くなく、ある時は一度にいくつもの問題が発生する...。
と思ったけど、気にしない(Kindzadzのバイオリン弾きの音色) :))
閉じる・開くの実態について - すべてのf関数にチェックを入れ、エラーが出ていますが、FALSEエラーになっています。ログと注文履歴を確認したところ、すべてのポジションがクローズされていました。歴史の中で秩序が動く暇がなかっただけです。チェックする前に1秒遅らせるようにしたのですが......それではダメなんです。と聞いても、何も答えてくれない。
良い点です。でも、1時間経っても注文が進まないケース、つまり虚偽でない場合もあるんです。
私も10秒の遅延があります。
私の全ての間違いは、結局のところ、コードの中にありました。
修正後-はありません。確かに、あまり時間が経っていないので、待つしかないのですが...。
修正後-はありません。確かにあまり時間が経っていないので、待つしかないのですが...。
修正したコードはどのように表示されますか?
オーダークラウズのために
for ordersand -注文を選択するための 5回の試行と2回目の一時停止、 for modifi - 古い値と現在の値を比較する。