ChartApplyTemplate
チャートに指定されたファイルから特定のテンプレートを適用します。コマンドは、チャートメッセージキューに追加され、以前の全てのコマンドの処理後に実行されます。
bool ChartApplyTemplate( |
パラメータ
chart_id
[in] チャート識別子。( 0 は現在のチャート)
filename
[in] テンプレートを含むファイルの名称
戻り値
コマンドがチャートキューに追加された場合は true、そうでない場合は false。エラー情報を取得するには、GetLastError() 関数が呼ばれます。
注意事項
エキスパートアドバイザーは、接続されているチャートへの新しいテンプレートの読み込みが成功した場合には、アンロードされ、動作を継続することは出来ません。
チャートにテンプレートを適用する場合、セキュリティ上の理由のために取引権限が制限されることがあります。
ライブ取引許可は ChartApplyTemplate() 関数を使用してテンプレートを適用することによって開始したエキスパートアドバイザーには拡張することは出来ません。 |
ChartApplyTemplate() 関数を呼び出した MQL5 プログラムに取引権限がない場合は、テンプレートから起動されたエキスパートアドバイザーは、テンプレートの設定に関係なく取引することは出来ません。
ChartApplyTemplate() 関数を呼び出し MQL5 プログラムに取引権限がある場合でも、テンプレートの設定にそのような権限はなければ、テンプレートから起動されたエキスパートアドバイザーは、取引することが出来ません。
テンプレートの使用
MQL5 言語のリソースは、ChartSetInteger() 関数を使用して、色に関した複数のチャートのプロパティの設定を許可します。
- チャートの背景色
- 軸、スケールとOHLCラインの色
- グリッドの色
- ボリュームやポジションオープンレベルの色
- アップバー、影と強気ローソク足の縁の色
- ダウンバー、影や弱気ローソク足の縁の色
- チャートの線と同時線の色
- 強気ローソク足の実体の色
- 弱気ローソク足の実体の色
- 売値ラインの色
- 買値ラインの色
- 直近の約定価格(Last)の線の色
- 逆指値(決済逆指値及び決済指値)レベルの色
また、チャートには、複数の グラフィカルオブジェクトと指標 が存在出来ます。全ての必要な指標とチャートを設定した後、テンプレートとして保存することが出来ます。このようなテンプレートは、任意のチャートに適用することが出来ます。
ChartApplyTemplate()関数は、以前に保存したテンプレートを使用するためにあり、任意のMQL5 プログラムで使用することが出来ます。テンプレートを格納するファイルへのパスは ChartApplyTemplate() の2 番目のパラメータとして受け渡しされます。テンプレートファイルは、次のルールに従って検索されます。
- バックスラッシュ”\” セパレータ(”\\”として記述)がパスの先頭に配置されている場合、テンプレートは_terminal_data_directory\ MQL5 との相対パスで検索されます。
- バックスラッシュがない場合、テンプレートは ChartApplyTemplate() を呼び出した実行可能な EX5 ファイルへの相対位置から検索されます。
- テンプレートが上記の 2 つで見つからない場合は、検索が terminal_directory\Profiles\Templates\ で行われます。
ここで terminal_directory はメタトレーダー5クライアント端末が実行されているフォルダで terminal_data_directory が編集可能なファイルが保存されているフォルダで、その場所は、オペレーティングシステム、ユーザ名、及びコンピュータのセキュリティ設定に依存します。通常、これらは別々のフォルダですが、場合によって、同じフォルダであっても可能です。
terminal_data_directory と terminal_directory フォルダの場所は TerminalInfoString() 関数で習得出来ます。
//— 端末が起動されたディレクトリ |
例えば、
//— terminal_data_directory\MQL5\ でテンプレートを探す |
テンプレートは実行可能なEX5ファイルに含むことは出来ないのでリソースではありません。
例:
//+——————————————————————+ |
参照
リソース
ChartSaveTemplate
チャートの設定を指定された名称のテンプレートに保存します。
bool ChartSaveTemplate( |
パラメータ
chart_id
[in] チャート識別子。( 0 は現在のチャート)
filename
[in] テンプレートを保存するファイル名「.tpl」 拡張子は自動的にファイル名に追加されるので、指定する必要はありません。テンプレートは terminal_directory\Profiles\Templates\ に保存され、端末での手動適用のために使用することが出来ます。同名のテンプレートが既存する場合、このファイルの内容は上書きされます。
戻り値
成功の場合は true、それ以外の場合は false。エラー情報を取得するには、GetLastError() 関数が呼ばれます。
注意事項
テンプレートを使用すると、適用される指標やグラフィカルオブジェクトとチャートの設定を全て保存し、後に別のチャートに適用出来ます。
例:
//+——————————————————————+ |
参照
ChartApplyTemplate()、リソース
ChartWindowFind
この関数は指標が描画されるサブウィンドウの数を返します。この関数には 2 つのバージョンがあります。
1. 指標の指定された「短縮名」(短縮名はサブウィンドウの左側上部に表示されています)を検索し、成功した場合にはサブウィンドウ番号を返します。
int ChartWindowFind( |
2. この関数はカスタム指標から呼び出される必要があります。指標が位置するサブウィンドウ番号が返されます。
int ChartWindowFind(); |
パラメータ
chart_id
[in] チャート識別子。( 0 は現在のチャート)
indicator_shortname
[in] 指標の短縮名
戻り値
サブウィンドウ番号(失敗の場合は -1 )
注意事項
関数の2 つ目のバージョン(パラメータなし)がスクリプトまたはエキスパートアドバイザーから呼び出された場合、関数は-1を返します。
指標の短縮名と iCustom() や IndicatorCreate() 関数で指標が作成された時に指定されるファイル名を混同しないでください。指標の短縮名が明示的に設定されていない場合、コンパイル時に指標のソースコードを含むファイルの名称が指定されます。
IndicatorSetString()関数でINDICATOR_SHORTNAME プロパティに設定される指標の短縮名を正しく形成することは重要です。 ChartIndicatorDelete() 関数によってチャートから削除される指標は短縮名によって識別されるので、短縮名に指標の全ての入力パラメータの値を含むようお勧めします。
例:
#property script_show_inputs |
参照
ObjectCreate()、ObjectFind()
ChartTimePriceToXY
チャートの座標を時間/価格表現からX とYの座標に変換します。
bool ChartTimePriceToXY( |
パラメータ
chart_id
[in] チャート識別子。( 0 は現在のチャート)
sub_window
[in] チャートサブウィンドウの番号( 0 はメインチャートウィンドウ)
time
[in] X 軸方向のピクセルの値が受け取られるチャートの時間値。原点はメインチャートウィンドウの左上隅にあります。
価格
[in] Y 軸方向のピクセルの値が受け取られるチャートの価格値。原点はメインチャートウィンドウの左上隅にあります。
x
[out] 時間からXへの変換が受け取られる変数
y
[out] 価格からYへの変換が受け取られる変数
戻り値
成功の場合は true、それ以外の場合は false 。エラー情報を取得するには、GetLastError() 関数が呼ばれます。
参照
ChartXYToTimePrice()
ChartXYToTimePrice
チャートの座標を X とY の座標から時間/価格表現に変換します。
bool ChartXYToTimePrice( |
パラメータ
chart_id
[in] チャート識別子。( 0 は現在のチャート)
x
[in] X 座標
y
[in] Y 座標
sub_window
[out] チャートサブウィンドウの番号を示す変数( 0 はメインチャートウィンドウ)
time
[out] X 軸方向のピクセルの値が受ケ取られるチャートの時間値原点はメインチャートウィンドウの左上隅にあります。
価格
[out] Y 軸方向のピクセルの値が受ケ取られるチャートの価格値原点はメインチャートウィンドウの左上隅にあります。
戻り値
成功の場合は true、それ以外の場合は false 。エラー情報を取得するには、GetLastError() 関数が呼ばれます。
例:
//+——————————————————————+ |
参照
ChartTimePriceToXY()
ChartOpen
指定された銘柄と期間で新しいチャートを開きます。
long ChartOpen( |
パラメータ
symbol
[in] チャートシンボル( NULL はエキスパートアドバイザーがに接続されている現在のチャートのシンボル)
period
[in] チャート期間(時間軸)。ENUM_TIMEFRAMES のいずれかの値。(0 は現在のチャート期間)
戻り値
成功した場合は開かれたチャートのID、その他の場合は 0 。
注意事項
端末内に同時に開いているチャートの数は CHARTS_MAXを 超えることは出来ません。
ChartFirst
クライアント端末の最初のチャートのIDを返します。
long ChartFirst(); |
戻り値
チャート識別子
ChartNext
指定されたチャートの次のチャート識別子を返します。
long ChartNext( |
パラメータ
chart_id
[in] チャート識別子。0 は、現在のチャートを意味せず、「1 番目のチャート識別子を返す」という意味です。
戻り値
Chart ID。これがチャートリストの最後である場合は -1。
例:
//— チャート識別子の変数 |
ChartClose
指定されたチャートを閉じます。
bool ChartClose( |
パラメータ
chart_id=0
[in] チャート識別子。( 0 は現在のチャート)
戻り値
成功の場合は true、それ以外の場合は false
ChartSymbol
指定されたチャートの銘柄名を返します。
string ChartSymbol( |
パラメータ
chart_id=0
[in] チャート識別子。( 0 は現在のチャート)
戻り値
チャートが存在しない場合は空の文字列が返されます。
参照
ChartSetSymbolPeriod
ChartPeriod
指定されたチャートの時間軸期間を返します。
ENUM_TIMEFRAMES ChartPeriod( |
パラメータ
chart_id=0
[in] チャート識別子。( 0 は現在のチャート)
戻り値
ENUM_TIMEFRAMES のうちの 1 つの値(チャートが存在しない場合は 0 )
ChartRedraw
この関数は指定されたチャートの強制再描画を呼び出します。
void ChartRedraw( |
パラメータ
chart_id=0
[in] チャート識別子。( 0 は現在のチャート)
注意事項
通常 object propertiesが更新された後で使用されます。
参照
オブジェクト関数
ChartSetDouble
指定されたチャートのプロパティに値を設定します。チャートプロパティは double 型でなければなりません。コマンドは、チャートメッセージキューに追加され、以前の全てのコマンドの処理後に実行されます。
bool ChartSetDouble( |
パラメータ
chart_id
[in] チャート識別子。( 0 は現在のチャート)
prop_id
[in] チャートプロパティ識別子。ENUM_CHART_PROPERTY_DOUBLE の値の 1 つ (読み込み専用のプロパティを除いて)。
value
[in] プロパティ値
戻り値
コマンドがチャートキューに追加された場合は true、そうでない場合は false。エラー情報を取得するには、GetLastError() 関数が呼ばれます。
注意事項
これは非同期関数です。つまり、この関数は、指定されたチャートのキューに正常に追加されたコマンドの実行を待たずに、すぐに制御を返します。プロパティは、チャートキューから適切なコマンドが処理された後にのみ変更されます。チャートキューからコマンドをすぐに実行するには ChartRedraw関数を呼び出します。
複数のチャートプロパティをすぐに一度に変更したい場合は、対応する関数( ChartSetString、 ChartSetDouble、ChartSetString)を1つのコードブロックで実行してからChartRedrawを一回呼び出す必要があります。
コマンドの実行結果を確認するには、関数を使用して、指定されたチャートプロパティ(ChartGetInteger、 ChartGetDouble、ChartSetString)をリクエストしますl。ただし、これらは同期関数であり、実行結果を待つことに注意してください。
ChartSetInteger
指定されたチャートのプロパティに値を設定します。チャートプロパティは datetime、int、 bool または char型でなければなりません。コマンドは、チャートメッセージキューに追加され、以前の全てのコマンドの処理後に実行されます。
bool ChartSetInteger( |
bool ChartSetInteger( |
パラメータ
chart_id
[in] チャート識別子。( 0 は現在のチャート)
prop_id
[in] チャートプロパティ識別子。ENUM_CHART_PROPERTY_INTEGER の値の 1 つ (読み込み専用のプロパティを除いて)。
sub_window
[in] チャートサブウィンドウの番号。最初のケースの場合、初期値は0(メインチャートウィンドウ)です。プロパティのほとんどは、サブウィンドウの番号を必要としません。
value
[in] プロパティ値
戻り値
コマンドがチャートキューに追加された場合は true、そうでない場合は false。エラー情報を取得するには、GetLastError() 関数が呼ばれます。
注意事項
これは非同期関数です。つまり、この関数は、指定されたチャートのキューに正常に追加されたコマンドの実行を待たずに、すぐに制御を返します。プロパティは、チャートキューから適切なコマンドが処理された後にのみ変更されます。チャートキューからコマンドをすぐに実行するには ChartRedraw関数を呼び出します。
複数のチャートプロパティをすぐに一度に変更したい場合は、対応する関数( ChartSetString、 ChartSetDouble、ChartSetString)を1つのコードブロックで実行してからChartRedrawを一回呼び出す必要があります。
コマンドの実行結果を確認するには、関数を使用して、指定されたチャートプロパティ(ChartGetInteger、 ChartGetDouble、ChartSetString)をリクエストしますl。ただし、これらは同期関数であり、実行結果を待つことに注意してください。
例:
//+——————————————————————+ |
ChartSetString
指定されたチャートのプロパティに値を設定します。チャートプロパティは string 型でなければなりません。コマンドは、チャートメッセージキューに追加され、以前の全てのコマンドの処理後に実行されます。
bool ChartSetString( |
パラメータ
chart_id
[in] チャート識別子。( 0 は現在のチャート)
prop_id
[in] チャートプロパティ識別子。値は ENUM_CHART_PROPERTY_STRING のいずれかです(読み込み専用のプロパティ以外)。
str_value
[in] プロパティ値の文字列文字列の長さは2045文字を超えることは出来ません。(余分な文字は切り捨てられます)。
戻り値
コマンドがチャートキューに追加された場合は true、そうでない場合は false。エラー情報を取得するには、GetLastError() 関数が呼ばれます。
注意事項
ChartSetString はコメントをチャートに出力するのに Comment 関数の代わりに使用することが出来ます。
これは非同期関数です。つまり、この関数は、指定されたチャートのキューに正常に追加されたコマンドの実行を待たずに、すぐに制御を返します。プロパティは、チャートキューから適切なコマンドが処理された後にのみ変更されます。チャートキューからコマンドをすぐに実行するには ChartRedraw関数を呼び出します。
複数のチャートプロパティをすぐに一度に変更したい場合は、対応する関数( ChartSetString、 ChartSetDouble、ChartSetString)を1つのコードブロックで実行してからChartRedrawを一回呼び出す必要があります。
コマンドの実行結果を確認するには、関数を使用して、指定されたチャートプロパティ(ChartGetInteger、 ChartGetDouble、ChartSetString)をリクエストしますl。ただし、これらは同期関数であり、実行結果を待つことに注意してください。
例:
void OnTick() |
参照
コメント、ChartGetString
ChartGetDouble
指定されたチャートの対応するプロパティの値を返します。チャートプロパティは double 型でなければなりません。この関数の呼び出し方は 2 つあります。
1. 直接プロパティ値を返します。
double ChartGetDouble( |
2. 関数の成功に応じて、true または false を返します。成功した場合、プロパティの値は、参照によって渡された目的変数double_varに配置されます。
bool ChartGetDouble( |
パラメータ
chart_id
[in] チャート識別子。( 0 は現在のチャート)
prop_id
[in] チャートプロパティ識別子。値は ENUM_CHART_PROPERTY_DOUBLE のいずれかです。
sub_window
[in] チャートサブウィンドウの番号。最初のケースの場合、初期値は0(メインチャートウィンドウ)です。プロパティのほとんどは、サブウィンドウの番号を必要としません。
double_var
[out] 要求されたプロパティの double 型のターゲット変数
戻り値
double 型の値
2 番目の呼び方では、指定されたプロパティが利用可能であり、その値がdouble_var 変数に置かれている場合には、trueを返します。そうでない場合は falseを返します。エラーについての追加情報を取得するには、GetLastError()関数を呼び出します。
注意事項
この関数は同期型です。つまり、呼び出し前にチャートキューに追加されたすべてのコマンドの実行を待機します。
例:
void OnStart() |
ChartGetInteger
指定されたチャートの対応するプロパティの値を返します。チャートプロパティは datetime、int または bool 型でなければなりません。この関数の呼び出し方は 2 つあります。
1. 直接プロパティ値を返します。
long ChartGetInteger( |
2. 関数の成功に応じて、true または false を返します。成功した場合、プロパティの値は、参照によって渡された目的変数long_varに配置されます。
bool ChartGetInteger( |
パラメータ
chart_id
[in] チャート識別子。( 0 は現在のチャート)
prop_id
[in] チャートプロパティ識別子。値は ENUM_CHART_PROPERTY_INTEGER のいずれかです。
sub_window
[in] チャートサブウィンドウの番号。最初のケースの場合、初期値は0(メインチャートウィンドウ)です。プロパティのほとんどは、サブウィンドウの番号を必要としません。
long_var
[out] 要求されたプロパティの long 型のターゲット変数
戻り値
long 型の値
2 番目の呼び方では、指定されたプロパティが利用可能であり、その値がlong_var変数に置かれている場合には、trueを返します。そうでない場合は falseを返します。エラーについての追加情報を取得するには、GetLastError()関数を呼び出します。
注意事項
この関数は同期型です。つまり、呼び出し前にチャートキューに追加されたすべてのコマンドの実行を待機します。
例:
void OnStart() |
ChartGetString
指定されたチャートの対応するプロパティの値を返します。チャートプロパティは string 型でなければなりません。この関数の呼び出し方は 2 つあります。
1. 直接プロパティ値を返します。
string ChartGetString( |
2. 関数の成功に応じて、true または false を返します。成功した場合、プロパティの値は、参照によって渡された目的変数string_varに配置されます。
bool ChartGetString( |
パラメータ
chart_id
[in] チャート識別子。( 0 は現在のチャート)
prop_id
[in] チャートプロパティ識別子。値は ENUM_CHART_PROPERTY_STRING のいずれかです。
string_var
[out] 要求されたプロパティの string 型のターゲット変数
戻り値
string 型の値
2 番目の呼び方では、指定されたプロパティが利用可能であり、その値が string_var 変数に置かれている場合には、trueを返します。そうでない場合は falseを返します。エラーについての追加情報を取得するには、GetLastError()関数を呼び出します。
注意事項
ChartGetString は Comment または ChartSetString 関数を使用してチャートにプロットされたコメントを読むために使用されます。
この関数は同期型です。つまり、呼び出し前にチャートキューに追加されたすべてのコマンドの実行を待機します。
例:
void OnStart() |
参照
コメント、ChartSetString
ChartNavigate
チャート内の指定された位置を基準に指定された足数によって指定されたチャートのシフトを実行します。
bool ChartNavigate( |
パラメータ
chart_id
[in] チャート識別子。( 0 は現在のチャート)
position
[in] シフトを実行するチャートの位置ENUM_CHART_POSITION のいずれかの値を持ちます。
shift=0
[in] チャートをシフトするバーの数正の値は(チャートの最後に向けた)右シフトを意味し、負の値は(グラフの先頭に向けた)左シフトを意味します。ゼロの値はチャートの端に移動するために使用することが出来ます。
戻り値
成功の場合は true、それ以外の場合は false
例:
//+——————————————————————+ //— Comment() に出力するテキストを準備する //— コメントテキストに追加する //— チャートのスクロールの新しいブロック //— チャートのスクロールの新しいブロック |
ChartID
現在のチャートの ID を返します。
long ChartID(); |
戻り値
long 型の値
ChartIndicatorAdd
指定されたチャートウィンドウに指定されたハンドルと指標を追加します。指標とチャートは同一のシンボルと時間軸に生成されるべきです。
bool ChartIndicatorAdd( |
パラメータ
chart_id
[in] チャート識別子。( 0 は現在のチャート)
sub_window
[in] チャートサブウィンドウの番号( 0 はメインチャートウィンドウ)新しいウィンドウで指標を追加するには、パラメータは、CHART_WINDOWS_TOTALに等しく、最後の既存のウィンドウの指標より 1 大きくなければなりません。パラメータの値が CHART_WINDOWS_TOTALよりも大きい場合、新しいウィンドウが作成されず、表示が追加されません。
indicator_handle
[in] 指標ハンドル
戻り値
成功の場合は true、それ以外の場合は false。エラー情報を取得するには、GetLastError() 関数が呼ばれます。エラー 4114 は、チャートとコメントを追加した指標の記号または時間軸が異なることを意味します。
注意事項
サブウィンドウに描画されるべき指標がメインチャートウィンドウに適応されると、指標はリスト内には存在しても表示されないことがあります (例えば、内蔵された iMACD または #property indicator_separate_window プロパティの指定されたカスタム指標) これは、指標の規模は価格チャートの規模とは異なり、適用された指標の値は、価格チャートの表示範囲に収まらないことを意味します。この場合、GetLastError() はエラーが存在しないことを示すゼロコードを返します。このような「見えない」指標の値は、データウィンドウに表示し、他のMQL5アプリケーションから受け取ることが出来ます。
例:
#property description “Expert Advisor demonstrating the work with ChartIndicatorAdd() function.” |
参照
ChartIndicatorDelete(), ChartIndicatorName(), ChartIndicatorsTotal(), iCustom(), IndicatorCreate()
ChartIndicatorDelete
指定された名称の指標を指定されたチャートウィンドウから削除します。
bool ChartIndicatorDelete( |
パラメータ
chart_id
[in] チャート識別子。( 0 は現在のチャート)
sub_window
[in] チャートサブウィンドウの番号。( 0 はメインチャートウィンドウ)
const indicator_shortname
[in] IndicatorSetString() 関数で INDICATOR_SHORTNAMEプロパティに設定した指標の短縮名指標の短縮名を取得するには ChartIndicatorName() 関数が呼ばれます。
戻り値
指標の削除が成功した場合は true、その他の場合は false。エラーの詳細を取得するにはGetLastError() 関数を使用します。
注意事項
同一の短縮名を持つ指標がチャートサブウィンドウに 2 つ存在する場合、行の最初のものは削除されます。
このチャート上の他の指標が削除される指標の値に基づいている場合は、そのような指標も削除されます。
iCustom() 及び IndicatorCreate() 関数を使用して指標を作成する際、指標の短縮名とファイル名を混同しないでください。指標の短縮名が明示的に設定されていない場合、指標のソースコードを含むファイルの名称は、コンパイル時に指定されます。
指標のチャートからの削除は、その演算部が端末のメモリから削除されることを意味するものではありません。指標ハンドルを解除するには IndicatorRelease() 関数が使用されます。
指標の短縮名は正しく形成されなければなりません。短縮名は IndicatorSetString() 関数を使用してINDICATOR_SHORTNAMEプロパティに書かれます。ChartIndicatorDelete() 関数によってチャートから削除される指標は短縮名によって識別されるので、短縮名に指標の全ての入力パラメータの値を含むようお勧めします。
初期化の失敗後に指標を削除する例:
//+——————————————————————+ |
参照
ChartIndicatorAdd(), ChartIndicatorName(), ChartIndicatorsTotal(), iCustom(), IndicatorCreate(), IndicatorSetString()
ChartIndicatorGet
指定されたチャート]ウィンドウで指定された短縮名を持つ指標ハンドルを返します。
int ChartIndicatorGet( |
パラメータ
chart_id
[in] チャート識別子。( 0 は現在のチャート)
sub_window
[in] チャートサブウィンドウの番号( 0 はメインチャートウィンドウ)
const indicator_shortname
[in] IndicatorSetString() 関数を使用して INDICATOR_SHORTNAME プロパティに設定された指標の短縮名指標の短縮名を取得するには ChartIndicatorName() 関数が使用されます。
戻り値
成功した場合は指標ハンドル、そうでない場合は INVALID_HANDLEを返します。エラー情報を取得するには、GetLastError() 関数が呼ばれます。
注意事項
指標を作成する場合はIndicatorSetString() 関数を使用して INDICATOR_SHORTNAME プロパティに書かれる短縮名を形成するようお気をつけください。指標は ChartIndicatorGet() 関数で短縮名によって識別されるので、.短縮名に指標の全ての入力パラメータの値を含むようお勧めします。
指標を識別するためのあと 1 つの方法は、IndicatorParameters() 関数を使用して、指定されたハンドルのパラメータリストを取得し、その後、取得された値を分析することです。
例:
//+——————————————————————+ |
参照
ChartIndicatorAdd()、ChartIndicatorName()、ChartIndicatorsTotal()、IndicatorParameters()
ChartIndicatorName
指定されたチャートウィンドウの指標リスト内の番号で指標の短縮名を返します。
string ChartIndicatorName( |
パラメータ
chart_id
[in] チャート識別子。( 0 は現在のチャート)
sub_window
[in] チャートサブウィンドウの番号。( 0 はメインチャートウィンドウ)
index
[in] 指標のリストに内の指標のインデックスインデックスの命数は、ゼロで始まります。すなわち、リストの最初の指標が 0 のインデックスを持ちます。リスト内の指標の数を得るためには ChartIndicatorsTotal() 関数が使用されます。
戻り値
IndicatorSetString() 関数でINDICATOR_SHORTNAME プロパティに設定した指標の短縮名。エラーの詳細を取得するには GetLastError() 関数を使用します。
注意事項
iCustom() 及び IndicatorCreate() 関数を使用して指標を作成する際、指標の短縮名とファイル名を混同しないでください。指標の短縮名が明示的に設定されていない場合、コンパイル時に指標のソースコードを含むファイルの名称が指定されます。
指標の短縮名は正しく形成されなければなりません。短縮名は IndicatorSetString() 関数を使用してINDICATOR_SHORTNAMEプロパティに書かれます。ChartIndicatorDelete() 関数によってチャートから削除される指標は短縮名によって識別されるので、短縮名に指標の全ての入力パラメータの値を含むようお勧めします。
参照
ChartIndicatorAdd()、ChartIndicatorDelete()、ChartIndicatorsTotal()、iCustom()、IndicatorCreate()、IndicatorSetString()
ChartIndicatorsTotal
指定されたチャートウィンドウに適用された全ての指標の数を返します。
int ChartIndicatorsTotal( |
パラメータ
chart_id
[in] チャート識別子。( 0 は現在のチャート)
sub_window
[in] チャートサブウィンドウの番号。( 0 はメインチャートウィンドウ)
戻り値
指定されたチャートウィンドウの指標の数。エラーの詳細を取得するにはGetLastError() 関数を使用します。
注意事項
この関数は、チャートに接続された全ての指標を検索することが出来ます。チャートのウィンドウの数の合計は ChartGetInteger() 関数を使用してCHART_WINDOWS_TOTAL プロパティから得られます。
参照
ChartIndicatorAdd()、ChartIndicatorDelete()、iCustom()、IndicatorCreate()、IndicatorSetString()
ChartWindowOnDropped
エキスパートアドバイザーやスクリプトがドロップされたチャートサブウィンドウチャートの番号(インデックス)を返します。( 0 はメインチャートウィンドウ)
int ChartWindowOnDropped(); |
戻り値
int 型の値
例:
int myWindow=ChartWindowOnDropped(); |
参照
ChartPriceOnDropped、ChartTimeOnDropped、ChartXOnDropped、ChartYOnDropped
ChartPriceOnDropped
エキスパートアドバイザーやスクリプトがドロップされたチャート点の価格座標を返します。
double ChartPriceOnDropped(); |
戻り値
double 型の値
例:
double p=ChartPriceOnDropped(); |
参照
ChartXOnDropped、ChartYOnDropped
ChartTimeOnDropped
エキスパートアドバイザーやスクリプトがドロップされたチャート点の価格座標を返します。
datetime ChartTimeOnDropped(); |
戻り値
datetime 型の値
例:
datetime t=ChartTimeOnDropped(); |
参照
ChartXOnDropped、ChartYOnDropped
ChartXOnDropped
エキスパートアドバイザーやスクリプトがドロップされたチャートのポイントの X 座標を返します。
int ChartXOnDropped(); |
戻り値
X 座標値
注意事項
X 軸方向は左から右です。
例:
int X=ChartXOnDropped(); |
参照
ChartWindowOnDropped、ChartPriceOnDropped、ChartTimeOnDropped
ChartYOnDropped
エキスパートアドバイザーやスクリプトがドロップされたチャート点の Y 座標を返します。
int ChartYOnDropped(); |
戻り値
Y 座標値
注意事項
Y 軸方向は上から下です。
参照
ChartWindowOnDropped、ChartPriceOnDropped、ChartTimeOnDropped
ChartSetSymbolPeriod
指定されたチャートの銘柄値と期間を変更します。この関数は非同期的です。すなわち、コマンドを送信後に実行完了は待たれません。コマンドは、チャートメッセージキューに追加され、以前の全てのコマンドの処理後に実行されます。
bool ChartSetSymbolPeriod( |
パラメータ
chart_id
[in] チャート識別子。( 0 は現在のチャート)
symbol
[in] チャートシンボル(NULL はエキスパートアドバイザーが接続されている現在のチャートのシンボル)
period
[in] チャート期間(時間軸)。ENUM_TIMEFRAMES のいずれかの値。(0 は現在のチャート期間)
戻り値
コマンドがチャートキューに追加された場合は true、そうでない場合は false。エラー情報を取得するには、GetLastError() 関数が呼ばれます。
注意事項
銘柄/期間の変更はチャートに取り付けられたエキスパートアドバイザーの再初期化につながります。
同じシンボルと時間枠でのChartSetSymbolPeriodの呼び出しはチャートの更新に使われることができます(ターミナルのRefreshコマンドと同じ)。 チャートの更新によって、取り付けられているインディケータの再計算がトリガされます。 したがって、ティックがない場合でも(たとえば、週末に)チャート上のインディケータを計算することができます。
参照
ChartSymbol、ChartPeriod
ChartScreenShot
この関数は、指定された拡張子に応じてGIF、PNGまたはBMP形式で現在のチャートのスクリーンショットを提供します。
bool ChartScreenShot( |
パラメータ
chart_id
[in] チャート識別子。( 0 は現在のチャート)
filename
[in] スクリーンショットファイル名。63 文字を超えることは出来ません。スクリーンショットファイルは \Files ディレクトリに置かれます。
幅
[in] ピクセル単位でのスクリーンショットの幅
height
[in] ピクセル単位でのスクリーンショットの高さ
align_mode=ALIGN_RIGHT
[in] スクリーンショットの出力モード値は ENUM_ALIGN_MODE 列挙のいずれかです。ALIGN_RIGHT は右マージンに揃えることを意味します。ALIGN_LEFT は左マージンに揃えることです。
戻り値
成功の場合は true、それ以外の場合は false。
注意事項
特定の位置からチャートからスクリーンショットを取る必要がある場合は、最初に ChartNavigate() 関数を使用してグラフを配置する必要があります。スクリーンショットの水平方向のサイズがウィンドウよりも小さい場合には、align_modeの設定に応じてチャートウィンドウの右または左の部分が出力されます。
例:
#property description “The Expert Advisor demonstrates how to create a series of screenshots of the current” #define WIDTH 800 // ChartScreenShot() を呼ぶ画像幅 //— 入力パラメータ } |
参照
ChartNavigate()、リソース
Originally posted 2019-07-30 09:21:40.