SymbolIsSynchronized関数の働き・役割
SymbolIsSynchronized関数は、端末で選択されたシンボルのデータがトレードサーバー上のデータと同期されているかどうかをチェックします。
「端末で選択されたシンボル」とは、ユーザーが取引プラットフォーム上で選んでいる銘柄を指します。具体的には、MetaTrader5などの取引端末で現在表示されているチャートや、取引の対象となっている通貨ペアや銘柄のことを指します。これにより、ユーザーはシンボルデータの一貫性を確認することができます。
SymbolIsSynchronizedの引数について
SymbolIsSynchronized関数は、1つの引数を取ります。この引数はシンボル名を指定するために使用されます。
bool SymbolIsSynchronized(
string name // 銘柄名
);
SymbolIsSynchronizedの戻り値について
SymbolIsSynchronized関数の戻り値はブール型です。この関数は、指定したシンボルのデータがトレードサーバーのデータと同期しているかどうかを示します。
- データが同期化されている場合は true を返します。
- データが同期化されていない場合は false を返します。
SymbolIsSynchronizedの戻り値について
SymbolIsSynchronized関数の戻り値はブール型です。この関数は、指定したシンボルのデータがトレードサーバーのデータと同期しているかどうかを示します。
- データが同期化されている場合は true を返します。
- データが同期化されていない場合は false を返します。
SymbolIsSynchronizedを使う際の注意点
この関数は端末とサーバー間のデータ同期を確認するために使用されますが、同期が取れていない場合は、取引や分析に影響を与える可能性があります。データが同期されていないと、最新の市場情報が反映されていない可能性があるためです。
次に、指定するシンボル名が正しいことを確認してください。不正なシンボル名を指定すると、関数は適切に動作せず、常に false を返す可能性があります。
SymbolIsSynchronizedを使ったサンプルコード
以下は、SymbolIsSynchronized関数を使用してシンボルのデータがサーバーと同期されているかどうかを確認するサンプルコードです。
#define SYMBOL_NAME "EURUSD" // 使用するシンボル名を定義
// スクリプトプログラム開始関数
void OnStart()
{
// SYMBOL_NAMEシンボルを使用して、ターミナル内のデータをサーバーデータと同期するためのフラグを取得する
bool sync = SymbolIsSynchronized(SYMBOL_NAME);
// 同期フラグに応じてメッセージを作成する
// 同期されている場合
string text = StringFormat("ターミナル内の'%s'シンボルのデータはトレードサーバーのデータと同期されています。", SYMBOL_NAME);
// 同期されていない場合
if(!sync)
text = StringFormat("ターミナル内の'%s'シンボルのデータはトレードサーバーのデータと同期されていません。", SYMBOL_NAME);
// 取得した結果を操作ログに送信する
Print(text);
}
サンプルコードに使われた関数や文法要素の簡単な解説
- 定数定義を使用して、シンボル名を”EURUSD”に設定しています。この方法は、コード内で繰り返し使用する値を管理しやすくします。ここでは、#define SYMBOL_NAME “EURUSD”が使われています。
- OnStart関数は、スクリプトプログラムの開始関数です。この関数はスクリプトが実行されると自動的に呼び出されます。
- SymbolIsSynchronized関数を呼び出して、指定したシンボル名のデータがサーバーと同期されているかどうかを確認します。結果はブール型の変数syncに格納されます。
- StringFormat関数は、文字列フォーマット関数です。指定した形式に従って文字列を作成します。この例では、シンボル名を含むメッセージを作成しています。
- Print関数は、エキスパートログにメッセージを出力する関数です。この例では、同期状態に応じたメッセージをログに出力します。