市場が閉まっているかどうかを調べるには?(mql4) - ページ 4

 

そして、私たちはこうしています。

MqlTick Tick;
bool IsNewTick(string symbol)
  {
   MqlTick t;
   SymbolInfoTick(symbol,t);
   if(t.time>Tick.time)
     {
      SymbolInfoTick(symbol,Tick);
      return(true);
     }
   return(false);
  }

この関数は、計測器に新しいティックが存在するかどうかを出力します。

OnTimeに最適です。各シンボルに対してのみ異なるTickが必要 です

 
Vasyl Nosal:

うわー、文字数多いなー。

MarketInfo(Symbol(),MODE_TRADEALLOWED)を表示します。

こうすることで、取引する商品の許可状況のみを取得することができます。取引されている商品であれば、曜日を 問わず、その商品の真価が発揮されるでしょう。
 
Ihor Herasko:
これは、その商品の取引承認状況のみを表示するものです。取引可能な商品であれば、曜日を問わず、その商品の真偽を確認することができます。
そんなことはありません。
 
注文を送信する前に、http://docs.mql4.com/check/istradeallowed、チェックを行ってください。
 
Ramiz Mavludov:
注文を送信する前に、チェックを行います。http://docs.mql4.com/check/istradeallowed
そして、これは自動売買ボタンのことを指しています。
 
Vasyl Nosal:
そして、これは自動売買ボタンのことを指しています。
理解できない。自動売買をオンにしないと、EAは全く何もしないはずです。
 
Ramiz Mavludov:
理解できない。自動売買をオンにしないと、EAは全く何もしないはずです。
いいえ。できますし、実際、何もしないほうがいい場合が多いです。自動売買ボタンが無効の場合、取引機能 のみの動作はできません。それ以外の計算は問題ない。
 
Ramiz Mavludov:
理解できない。自動売買を有効にしない場合、EAは全く何もしないはずです。
リンク先に書かれていることは、市場閉鎖の問題とは全く関係がない。
 
Vasyl Nosal:
そんなことはありません。

もう一度確認すべきかもしれません。前回作業したのは、MQL4のアップデート前でした。当時、このような方法は、特定の時間ではなく、シンボル全般で取引する可能性を示していた。それに、今のヘルプは明確な答えが出ないような形になっています。週末まで待って確認しよう。あるいは、現在市場が閉鎖されているシンボルのリストに、誰かがアメリカ株を入れているのかもしれない。それなら、今すぐ確認できますね。

Ramiz Mavludov氏が指摘したIsTradeAllowedについては、確かにその通りです。閉じた市場の状況を確認することができる機能です。しかも、週末を待たずに、今、事前に知ることができるのです。

   datetime curDay = D'2015.12.14 05:00';
   Print("Trade allowed for 2015.12.14 05:00: ", IsTradeAllowed(_Symbol, curDay));
   
   datetime sunday = D'2015.12.20 03:00';
   Print("Trade allowed for Sunday: ", IsTradeAllowed(_Symbol, sunday));

結果

2015.12.16 13:37:23.662 TestData EURUSD,Daily: Trade allowed for Sunday: false
2015.12.16 13:37:23.662 TestData EURUSD,Daily: Trade allowed for 2015.12.14 05:00: true
 
Ihor Herasko:

もう一度確認すべきかもしれません。前回この問題に取り組んだのは、MQL4のアップデート前でした。当時、このような方法は、特定の時間ではなく、シンボル全般で取引する可能性を示していた。それに、今のヘルプは明確な答えが出ないような形になっています。週末まで待って確認しよう。あるいは、現在市場が閉鎖されているシンボルのリストに、誰かがアメリカ株を入れているのかもしれない。それなら、今すぐ確認できますね。

Ramiz Mavludov氏が指摘したIsTradeAllowedについては、確かにその通りです。閉じた市場の状況を確認することができる機能です。しかも、週末を待たずに、今、事前に知ることができるのです。

結果

はい、そうです。

boolIsTradeAllowed(); のことかと思いました。