記事"MetaTrader 5でのトレードイベント"についてのディスカッション - ページ 3

 

Renat:
Конечно после принятия сервером - это же очевидно. Кроме того, функция называется OrderSEND.

わかりました!

自明性」については、1年以上このシステムと密接に仕事をしている人のためのものです。参考書のフレーズ(OrderSend() 関数の「構造体の基本チェックに成功した場合、trueが 返される」)が、trueを返すための十分条件とみなせるかどうかという問題でつまずいた。必要条件であるだけで十分条件ではないのだ。

 
Interesting:
私の意見では、trueだけから 結論を出すのではなく、サーバーのレスポンスコードも分析すべきです(そして最後の方が優先順位が高いように私には思えます)...。

リターンコードの中に「ベース構造のチェックに成功した」(そう呼ぶことにしよう)というコードがまったくなく、だからベースチェックの直後にtrueを返すことができないのだ。

リターンコードの 詳細な解析については、リファレンスブックで推奨されている。私は、利用可能なチェックの数を合理的に減らす方法を探し続けているだけです。

 

どういう意味か説明してください。令状はキューに入れられましたか?

以下のような状況です。

2011.01.26 12:59:26 Network '716201': MetaQuotes-Demo への接続が失われました
2011.01.26 12:59:26 Trades '716201' : failed instant buy 1.00 EURUSD at 1.37136 [No connection]
2011.01.26 12:58:40 Trades '716201' : instant buy 1.00 EURUSD at 1.37136
2011.01.26 12:56:17 Network '716201': ターミナルは MetaQuotes Software Corp.

手動取引で、ストップとTPなしで「買い」を押す。メッセージが表示され、注文はキューに入れられ、接続が切断され、復元され、注文は実行されません。

このキューは何ですか?どこにあるのですか?注文がすでにサーバーに受け入れられている場合、なぜ約定しないのですか?理由は?

 
リンクはロシアのサイトです!
 
実にいい記事だ。
 
void CheckStartDateInTradeHistory()
  {
//--- 最初のインターバル。
   datetime curr_start=TimeCurrent()-days*PeriodSeconds(PERIOD_D1);
//--- 取引履歴の開始リミットが過ぎていないことを確認する。 
//--- 予定日より1日以上超過
   if(curr_start-start>PeriodSeconds(PERIOD_D1))
     {
      //--- キャッシュにロードされる履歴の開始日を修正する必要がある。 
      start=curr_start;
      PrintFormat("New start limit of the trade history to be loaded: start => %s",
                  TimeToString(start));

      //--- 訂正した期間の取引履歴を再度ロードする。
      HistorySelect(start,end);

      //--- さらに比較するために、履歴の取引と注文の数を修正する。
      history_orders=HistoryOrdersTotal();
      deals=HistoryOrdersTotal();
     }
  }

最後の2行を見てください。

となるはずだ:

history_orders=HistoryOrdersTotal(); //オーケー、正しく見える。

deals=HistoryDealsTotal(); //タイプミスかな?

 

この記事では、 OrderSend() 関数でリクエストを送信した 際の注文チケットの受信と、 端末に注文が表示される タイミングが一致しない場合がある、非同期取引イベントについて説明しています。ここですべてが明らかになった。昨年の秋、人々はこのような非同期性を克服するために、3秒間眠りにつくことを勧めた。しかし、(サーバーが注文を受け付けてから)チケットの価値と注文そのものがターミナルに表示される保証された時間とは何だろうか?必要であれば20秒待つこともできますが、このような「手動同期」を保証 する時間を知りたいのです。

 

本当にありがとう。このおかげで、いくつかの混乱を解決することができました。

ありがとう、

ウメル・アジズ