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回目のループ処理の間、値に変動があっても結果は変わりません。