私のEAではダブルエントリーを行います - ページ 8 1234567891011 新しいコメント Rogerio Figurelli 2014.01.18 23:45 #71 angevoyageur:1) このトピックの問題とは関係ないと思います。当方が得た問題は、リクエストが正常に満たされ、ポジションがオープンされた場合です。しかし、このポジションは、貿易サーバー上で開かれ、私たちが遭遇した問題は、通常より重要な遅延がある場合、MT5端末は、新しいティックがすでに処理された後に、この新しいポジションを通知されることである。2)...私の意見では、それは明示的に同期および非同期の取引要求を許可するプラットフォームのために設計された貧しい人々だ... 3) ... ResultRetCodeは同期で、ポジション(取引と注文)に関するMT5データベースの更新が非同期です...1) 同意できません。無知で申し訳ありませんが、ResultRetcode()をダブルチェック せずに、取引サーバーのPositionOpen()の後にポジションが開かれることをどうやって確認するのでしょうか?2) 100%同意します。3) ResultRetCode()が同期であることは確かですが、結果コードを確認するためには、あなた(マスター)はサーバー(スレーブ)にいくつかの「非同期」メッセージで問い合わせをしなければならないということです。 Alain Verleyen 2014.01.19 00:58 #72 figurelli:1) 同意しません。無知で申し訳ありませんが、ResultRetcode()をダブルチェックせずに、トレードサーバーのPositionOpen()の後にポジションがオープンされたとどうして確信できるのでしょうか?2) 100%同意します。3) ResultRetCode()が同期であることは確かですが、結果コードを確認するためには、あなた(マスター)はサーバー(スレーブ)にいくつかの「非同期」メッセージで問い合わせをしなければならないということです。1) このトピックはダブルエントリーの話なので、オーダーの要求が成功した場合の話です。ResultRetCode()をダブルチェックする必要がないとは書いていませんし、その逆も書いています。しかし、これは、定義上、二重入力とは関係ありません。当たり前でしょう?3) 細かいことかもしれませんが、あなたの書いたものは意味をなしません。最初のほうでResultRetCode()は同期で、次のほうでResultRetCode()と同じ「結果コード」を非同期で取得すると書いてありますね。この値(Retcode)を取得するために、サーバーと端末の間には全く通信がありません。CTrade.PositionOpen()のデフォルトは同期で、これは基礎となるクラスがOrderSend()を使用 することを意味します。つまり、基礎となるクラスはOrderSend()を使用し、注文要求を送信し、 サーバーからの応答を待ちます。サーバーは結果を端末に返し、EAコードは(返された値で真または偽)を続行します。これでマスター/スレーブ通信は終了です。この後、ResultRetcodeを確認することができますが、これはすでにローカルで利用可能です。 Documentation on MQL5: Trade Functions / OrderSend www.mql5.com Trade Functions / OrderSend - Documentation on MQL5 Ubzen 2014.01.19 01:35 #73 @figurelli: モデレーター就任おめでとうございます .... Dua Yong Rew 2014.01.19 02:23 #74 ポジションオープンのタイムアウトはありますか? Rodrigo Malacarne 2014.01.19 02:29 #75 doshur: ポジションオープン時のタイムアウトはありますか? こんにちは、doshurさん。タイムアウトとはどういう意味ですか? Dua Yong Rew 2014.01.19 04:25 #76 Malacarne: doshurさん、こんにちは。タイムアウトとはどういう意味ですか? サーバーからの応答がないような Rogerio Figurelli 2014.01.19 05:43 #77 angevoyageur:1) このトピックは二重入力に関するものなので、注文要求が成功した場合の話をしています。私はResultRetCode()のダブルチェックは必要ないとは書いておらず、全く逆のことを書いています。しかし、これは、定義上、二重入力とは関係ありません。当たり前でしょう?3) 細かいことかもしれませんが、あなたの書いたものは意味をなしません。最初のほうでResultRetCode()は同期で、次のほうでResultRetCode()と同じ「結果コード」を非同期で取得すると言っていますね。この値(Retcode)を取得するために、サーバーと端末の間には全く通信がありません。CTrade.PositionOpen()のデフォルトは同期で、これは基礎となるクラスがOrderSend()を使用 することを意味します。つまり、基礎となるクラスはOrderSend()を使用し、注文要求を送信し、 サーバーからの応答を待ちます。サーバーは結果を端末に返し、EAコードは(返された値で真または偽)を続行します。これでマスター/スレーブ通信は終了です。その後、ResultRetcodeを確認することができます。アラン 私にとっては、 doshurのオリジナルの コードはResultRetCode()をチェックしておらず、彼は「二重入力」に対する解決策を探しており、私にとっては、彼のコードでこれに対処しなければなりません(Malacarneが提案したように)。だから、私にとっては、それほど明白なことではないのです。3)について、「ResultRetCodeは同期 だが、ポジション(取引・注文)のMT5データベースへの更新は非同期」と書かれていたので、この文章について回答しました。とにかく、私たちの議論は、半分のコップの水の話のようです。ある人は半分満ちていると見なし、ある人は半分空 だと見なす。)正直なところ、この議論が有益であるとは思いませんし、(少なくともこのトピックでは)続けなければならないとも 思いません。 Rogerio Figurelli 2014.01.19 05:46 #78 Ubzen:@figurelli: モデレーター就任おめでとうございます ... .Ubzen、どうもありがとう、でもやっぱりこれはmql5.comの重大なバグだと思うんだ ;-)) Dua Yong Rew 2014.01.19 06:04 #79 投稿されたすべての回避策は非常に良いものです。私はそれに感謝し、その過程でいくつかのアイデアを学びました。あなた方は有用です。私のEAはより回復力があるようです。 Alain Verleyen 2014.01.19 11:24 #80 figurelli:...正直なところ、この議論はあまり意味がなく、(少なくともこのトピックでは)続ける必要が ないと思っています。 その通りだと思います。ご心配なく、お進みください。 1234567891011 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
1) このトピックの問題とは関係ないと思います。当方が得た問題は、リクエストが正常に満たされ、ポジションがオープンされた場合です。しかし、このポジションは、貿易サーバー上で開かれ、私たちが遭遇した問題は、通常より重要な遅延がある場合、MT5端末は、新しいティックがすでに処理された後に、この新しいポジションを通知されることである。
2)...私の意見では、それは明示的に同期および非同期の取引要求を許可するプラットフォームのために設計された貧しい人々だ...
3) ... ResultRetCodeは同期で、ポジション(取引と注文)に関するMT5データベースの更新が非同期です...1) 同意できません。無知で申し訳ありませんが、ResultRetcode()をダブルチェック せずに、取引サーバーのPositionOpen()の後にポジションが開かれることをどうやって確認するのでしょうか?
2) 100%同意します。
3) ResultRetCode()が同期であることは確かですが、結果コードを確認するためには、あなた(マスター)はサーバー(スレーブ)にいくつかの「非同期」メッセージで問い合わせをしなければならないということです。
1) 同意しません。無知で申し訳ありませんが、ResultRetcode()をダブルチェックせずに、トレードサーバーのPositionOpen()の後にポジションがオープンされたとどうして確信できるのでしょうか?
2) 100%同意します。
3) ResultRetCode()が同期であることは確かですが、結果コードを確認するためには、あなた(マスター)はサーバー(スレーブ)にいくつかの「非同期」メッセージで問い合わせをしなければならないということです。
1) このトピックはダブルエントリーの話なので、オーダーの要求が成功した場合の話です。ResultRetCode()をダブルチェックする必要がないとは書いていませんし、その逆も書いています。しかし、これは、定義上、二重入力とは関係ありません。当たり前でしょう?
3) 細かいことかもしれませんが、あなたの書いたものは意味をなしません。最初のほうでResultRetCode()は同期で、次のほうでResultRetCode()と同じ「結果コード」を非同期で取得すると書いてありますね。この値(Retcode)を取得するために、サーバーと端末の間には全く通信がありません。
CTrade.PositionOpen()のデフォルトは同期で、これは基礎となるクラスがOrderSend()を使用 することを意味します。つまり、基礎となるクラスはOrderSend()を使用し、注文要求を送信し、 サーバーからの応答を待ちます。サーバーは結果を端末に返し、EAコードは(返された値で真または偽)を続行します。これでマスター/スレーブ通信は終了です。この後、ResultRetcodeを確認することができますが、これはすでにローカルで利用可能です。
ポジションオープン時のタイムアウトはありますか?
doshurさん、こんにちは。タイムアウトとはどういう意味ですか?
1) このトピックは二重入力に関するものなので、注文要求が成功した場合の話をしています。私はResultRetCode()のダブルチェックは必要ないとは書いておらず、全く逆のことを書いています。しかし、これは、定義上、二重入力とは関係ありません。当たり前でしょう?
3) 細かいことかもしれませんが、あなたの書いたものは意味をなしません。最初のほうでResultRetCode()は同期で、次のほうでResultRetCode()と同じ「結果コード」を非同期で取得すると言っていますね。この値(Retcode)を取得するために、サーバーと端末の間には全く通信がありません。
CTrade.PositionOpen()のデフォルトは同期で、これは基礎となるクラスがOrderSend()を使用 することを意味します。つまり、基礎となるクラスはOrderSend()を使用し、注文要求を送信し、 サーバーからの応答を待ちます。サーバーは結果を端末に返し、EAコードは(返された値で真または偽)を続行します。これでマスター/スレーブ通信は終了です。その後、ResultRetcodeを確認することができます。
アラン
私にとっては、 doshurのオリジナルの コードはResultRetCode()をチェックしておらず、彼は「二重入力」に対する解決策を探しており、私にとっては、彼のコードでこれに対処しなければなりません(Malacarneが提案したように)。だから、私にとっては、それほど明白なことではないのです。
3)について、「ResultRetCodeは同期 だが、ポジション(取引・注文)のMT5データベースへの更新は非同期」と書かれていたので、この文章について回答しました。
とにかく、私たちの議論は、半分のコップの水の話のようです。ある人は半分満ちていると見なし、ある人は半分空 だと見なす。)
正直なところ、この議論が有益であるとは思いませんし、(少なくともこのトピックでは)続けなければならないとも 思いません。
@figurelli: モデレーター就任おめでとうございます ... .
投稿されたすべての回避策は非常に良いものです。私はそれに感謝し、その過程でいくつかのアイデアを学びました。
あなた方は有用です。
私のEAはより回復力があるようです。
...
正直なところ、この議論はあまり意味がなく、(少なくともこのトピックでは)続ける必要が ないと思っています。