ChartSetString

指定されたチャートのプロパティに値を設定します。チャートプロパティは string 型でなければなりません。コマンドは、チャートメッセージキューに追加され、以前の全てのコマンドの処理後に実行されます。

bool  ChartSetString(
  long                        chart_id,     // チャート識別子
  ENUM_CHART_PROPERTY_STRING  prop_id,      // プロパティ識別子
  string                      str_value     // 値
  );

パラメータ

chart_id

[in]  チャート識別子。( 0 は現在のチャート)

prop_id

[in]  チャートプロパティ識別子。値は ENUM_CHART_PROPERTY_STRING のいずれかです(読み込み専用のプロパティ以外)。

str_value

[in]  プロパティ値の文字列文字列の長さは2045文字を超えることは出来ません。(余分な文字は切り捨てられます)。

戻り値

コマンドがチャートキューに追加された場合は true、そうでない場合は false。エラー情報を取得するには、GetLastError() 関数が呼ばれます。

注意事項

ChartSetString はコメントをチャートに出力するのに Comment 関数の代わりに使用することが出来ます。

これは非同期関数です。つまり、この関数は、指定されたチャートのキューに正常に追加されたコマンドの実行を待たずに、すぐに制御を返します。プロパティは、チャートキューから適切なコマンドが処理された後にのみ変更されます。チャートキューからコマンドをすぐに実行するには ChartRedraw関数を呼び出します。

複数のチャートプロパティをすぐに一度に変更したい場合は、対応する関数( ChartSetStringChartSetDoubleChartSetString)を1つのコードブロックで実行してからChartRedrawを一回呼び出す必要があります。

コマンドの実行結果を確認するには、関数を使用して、指定されたチャートプロパティ(ChartGetIntegerChartGetDoubleChartSetString)をリクエストしますl。ただし、これらは同期関数であり、実行結果を待つことに注意してください。

例:

void OnTick()
 {
//---
  double Ask,Bid;
  int Spread;
  Ask=SymbolInfoDouble(Symbol(),SYMBOL_ASK);
  Bid=SymbolInfoDouble(Symbol(),SYMBOL_BID);
  Spread=SymbolInfoInteger(Symbol(),SYMBOL_SPREAD);
  string comment=StringFormat("Выводим цены:\nAsk = %G\nBid = %G\nSpread = %d",
                              Ask,Bid,Spread);
  ChartSetString(0,CHART_COMMENT,comment);
 }

参照

コメントChartGetString