レートを最新に更新 RefreshRates 関数

関数

時系列とインジケータへのアクセス関数

RefreshRates 関数

 この関数は、レートを最新情報に更新します。EAが長時間計算する必要がありデータに変更がある時や最新のデータが必要な時に使用されます。Bid値や Ask値のように短い時間で変化があるものを最新データにします。

データ型と構成・戻り値

bool RefreshRates();

 戻り値は、データが更新された場合は true、それ以外は falseが返されます。

引数 [0]

 引数無し。

使用例

 RefreshRates関数を使った時と使わない時の違いを比較したコードです。
 Bid値と Ask値の変動を確認するため Sleep関数を使って 1秒間隔で計10回データを取得しています。

RefreshRates関数を使った時

コード

// RefreshRates関数 
#property strict

void OnInit() {
   for(int i=0; i < 10; i++){ 
      bool rate = RefreshRates();
      double nowBid = Bid;
      double nowAsk = Ask;
      
      Sleep(1000);
      Print("★", i, "回目★ Bid:",nowBid," Ask:",nowAsk);
   }
   Print("★RefreshRates関数テスト終了★");
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)
Tickが動いている必要があるので平日の相場が動いている時にお試しください。

結果

 0~9回目のループ処理の間、値に変動があった場合、それを更新して結果が変わります。

RefreshRates関数を使わない時

 6行目の「bool rate = RefreshRates();」をコメント化して RefreshRates関数を無効にします。

コード

// RefreshRates関数 
#property strict

void OnInit() {
   for(int i=0; i < 10; i++){ 
    //bool rate = RefreshRates(); //★コメント化
      double nowBid = Bid;
      double nowAsk = Ask;
      
      Sleep(1000);
      Print("★", i, "回目★ Bid:",nowBid," Ask:",nowAsk);
   }
   Print("★RefreshRates関数テスト終了★");
}

コードをコンパイルして実行する方法はこちらを参考にしてください。(デモ口座でお試しください)
Tickが動いている必要があるので平日の相場が動いている時にお試しください。

結果

 0~9回目のループ処理の間、値に変動があっても結果は変わりません。

 

 

タイトルとURLをコピーしました