Alert
別ウィンドウにメッセージを表示します。
void Alert( |
パラメータ
argument
[in] コンマで区切られた任意の値。情報出力を複数の行に分割するには、改行文字「 \n 」または 「 \ r \ n 」を使用することが出来ます。パラメータの数は 64 を超えることは出来ません。
戻り値
なし
注意事項
配列は Alert() 関数には渡せません。配列は要素ごとに出力する必要があります。double 型のデータは小数点以下8桁で出力され、float 型のデータは小数点以下 5 桁で表示されます。実数を異なる精度または科学形式で出力するには DoubleToString() 関数が使用されます。
bool 型のデータは「 true 」または 「 false 」の文字列として出力されます。日付は YYYY.MM.DD HH:MI:SS として出力されます。日付を別の形式で表示するには TimeToString() 関数が使用されます。カラー型のデータは R、G、B の文字列、または、色がカラーセットに存在する場合は色名として出力されます。
Alert() 関数はストラテジーテスター内では使用できません。
CheckPointer
この関数はオブジェクトポインタの型を返します。
ENUM_POINTER_TYPE CheckPointer( |
パラメータ
anyobject
[in] オブジェクトポインタ
戻り値
ENUM_POINTER_TYPE 列挙のいずれかの値
注意事項
不正なポインタを呼び出す試みはプログラムの緊急終了を生じます。これが、ポインタを使用する前にCheckPointer 関数を呼び出すのが必要な理由です。ポインタは、次のような場合に不正である場合があります。
- ポインタが NULL
- オブジェクトが delete 演算子で削除された
この関数は、ポインタの有効性をチェックするために使用することが出来ます。ゼロ以外の値はポインタアクセスを保証します。
例:
//+——————————————————————+ |
参照
オブジェクトポインタ、オブジェクトポインタのチェック、delete オブジェクト解除演算子
Comment
この関数はチャートの左上隅にコメントを出力します。
void Comment( |
パラメータ
…
[in] コンマで区切られた任意の値。情報出力を複数の行に分割するには、改行文字「 \n 」または 「 \ r \ n 」を使用することが出来ます。パラメータの数は 64 を超えることは出来ません。入力コメントの合計は(目に見えないシンボルを含んで)2,045 文字を超えることは出来ません(余分な文字は切り捨てられます)。
戻り値
なし
注意事項
配列は Alert() 関数には渡せません。配列は要素ごとに渡される必要があります。
double 型のデータは小数点以下最大 16 桁の精度で出力され、どちらの表記がよりコンパクトになるかに応じて、伝統的または科学形式で出力することが出来ます。float 型のデータは小数点以下 5 桁で出力されます。実数を異なる精度または事前定義された形式で出力するには DoubleToString() 関数が使用されます。
bool 型のデータは「 true 」または 「 false 」の文字列として出力されます。日付は YYYY.MM.DD HH:MI:SS として出力されます。日付を別の形式で表示するには TimeToString() 関数が使用されます。カラー型のデータはR、G、Bの文字列、または、色がカラーセットに存在する場合は色名として出力されます。
Comment() 関数はストラテジーテスターでの最適化中には使用できません。
例:
void OnTick() |
参照
ChartSetString、ChartGetString
CryptEncode
指定されたメソッドを使用して配列からデータを変換します。
int CryptEncode( |
パラメータ
method
[in] データ変換方法。ENUM_CRYPT_METHOD 列挙のいずれかです。
data[]
[in] ソース配列
key[]
[in] キー配列
result[]
[out] ターゲットの配列
戻り値
受け取り側の配列のバイト数、またはエラーの場合は 0。 エラー情報を取得するにはGetLastError() 関数が呼ばれます。
例:
//+——————————————————————+ |
参照
配列関数、CryptDecode()
CryptDecode
CryptEncode()で返還された配列からデータの逆変換を行います。
int CryptEncode( |
パラメータ
method
[in] データ変換方法。ENUM_CRYPT_METHOD 列挙のいずれかです。
data[]
[in] ソース配列
key[]
[in] キー配列
result[]
[out] ターゲットの配列
戻り値
受け取り側の配列のバイト数、またはエラーの場合は 0。 エラー情報を取得するにはGetLastError() 関数が呼ばれます。
参照
配列関数、 CryptEncode()
DebugBreak
デバグ中のプログラムのブレークポイントです。
void DebugBreak(); |
戻り値
なし
注意事項
MQL5 プログラムの実行はデバグモードで起動された場合のみ中断されます。この関数は変数の値及び/またはステップ•バイ•ステップ実行の表示に使用することが出来ます。
ExpertRemove
この関数はエキスパートアドバイザーを停止しチャートからアンロードします。
void ExpertRemove(); |
戻り値
なし
注意事項
エキスパートアドバイザーは、ExpertRemove() の呼び出し直後に停止されるわけではありません。EA 動作を停止するフラグのみが設定されます。つまり、次のイベントは処理されず、OnDeinit() が呼び出されてエキスパートアドバイザーがアンロードされてチャートから削除されます。
ストラテジーテスターのOnInit()ハンドラでのExpertRemove()の呼び出しによって、現在のパラメータセットでのテストがキャンセルされます。このような終了は初期化エラーとみなされます。
ストラテジーテスターでEAが正常に初期化された後でExpertRemove()が呼び出されると、テストはOnDeinit()とOnTester()の呼び出しによって正常に終了します。この場合、取引統計と最適化基準値はすべて取得されますが、EAはテストエージェントのメモリからアンロードされます。これは、エージェントが次の最適化パスをテストするためにEAを再読み込みする時間が必要であることを意味します。<よって、TesterStop()はテストの早期終了のための好ましいオプションです。
例:
//+——————————————————————+ |
参照
プログラムの実行、クライアント端末イベント
GetPointer
この関数はオブジェクトポインタを返します。
void* GetPointer( |
パラメータ
anyobject
[in] 任意のクラスオブジェクト
戻り値
オブジェクトポインタ
注意事項
クラスオブジェクトのみがポインタを持ちます。構造体インスタンスと基本データ型の変数にはポインタはありません。new() 演算子によって作成されなくても、例えばオブジェクトの配列で自動的に作成されたクラスオブジェクトにはポインタがあります。しかし、このポインタは POINTER_AUTOMATIC 型の自動型であり、delete() 演算子が適用出来ません。これ以外の点では、ポインタ型は POINTER_AUTOMATIC 型の動的ポインタとは異なりません。
構造体型また基本データ型の変数はポインタを持っていないので、それらに GetPointer() 関数を適用することは禁じられています。また、ポインタを関数の引数として渡すことも禁止されています。これらの場合全てで、コンパイラはエラーを通知します。
不正なポインタを呼び出す試みはプログラムの緊急終了を生じます。これが、ポインタを使用する前に CheckPointer() 関数を呼び出すのが必要な理由です。ポインタは、次のような場合に不正であることがあります。
- ポインタが NULL
- オブジェクトが delete 演算子で削除された
この関数は、ポインタの有効性を確認するために使用することが出来ます。ゼロ以外の値はポインタアクセスを保証します。
例:
//+——————————————————————+ //+——————————————————————+ |
参照
オブジェクトポインタ、オブジェクトポインタのチェック、delete オブジェクト解除演算子
GetTickCount
GetTickCount() 関数はシステムが起動してからの経過時間をミリ秒数で返します。
uint GetTickCount(); |
戻り値
uint 型の値
注意事項
カウンタは、システムタイマの制約によって制限されます。時間は符号なし整数として格納されるので、コンピュータが途切れることなく動作した場合 49.7日 ごとに溢れます。
例:
#define MAX_SIZE 40 |
参照
日付と時刻, EventSetMillisecondTimer
GetMicrosecondCount
GetMicrosecondCount() 関数はMQL5 プログラムの開始からの経過時間マイクロ秒数で返します。
ulong GetMicrosecondCount(); |
戻り値
ulong 型の値
例:
//+——————————————————————+ |
参照
日付と時刻
MessageBox
メッセージボックスを作成、表示及び管理します。メッセージボックスには、メッセージとヘッダ、また、事前に定義された徴候やコマンドボタンの任意の組み合わせが含まれています。
int MessageBox( |
パラメータ
text
[in] 出力メッセージを含むテキスト
caption=NULL
[in] ボックスヘッダに表示される任意のテキスト。パラメータが空の場合、エキスパートアドバイザ名がボックスヘッダに示されます。
flags=0
[in] メッセージボックスの外観と動作を定義する任意のフラグ。フラグは特殊なグループの組み合わせであることも出来ます。
戻り値
関数が正常に実行された場合は MessageBox() リターンコード値のいずれか
注意事項
指標はインターフェースのスレッドで実行され遅らせるべきではないので、この関数はカスタム指標からは呼び出すことが出来ません。
MessageBox() 関数はストラテジーテスター内では使用できません。
PeriodSeconds
この関数は期間中の秒数を返します。
int PeriodSeconds( |
パラメータ
period=PERIOD_CURRENT
[in] ENUM_TIMEFRAMES列挙からのチャート期間。パラメータが指定されていない場合は、プログラムが実行されている現在のチャートの期間の秒数を返します。
戻り値
選択した期間の秒数
参照
_Period、チャート時間軸、日付と時刻、オブジェクトの可視性
PlaySound
サウンドファイルを再生します。
bool PlaySound( |
パラメータ
filename
[in] サウンドファイルへのパスファイル名が NULL の場合は、再生が停止されます。
戻り値
ファイルが見つかった場合は true、それ以外の場合は false
注意事項
ファイルは terminal_directory\Sounds またはそのサブディレクトリに位置しなければいけません。WAVファイルのみが再生されます。
PlaySound() の NULL パラメータでの呼び出しは、再生を停止します。
PlaySound() 関数はストラテジーテスター内では使用できません。
参照
リソース
エキスパートアドバイザーログにメッセージを入力します。パラメータは任意の型です。
void Print( |
パラメータ
…
[in] コンマで区切られた任意の値。パラメータの数は 64 を超えることは出来ません。
注意事項
配列は Print() 関数には渡せません。配列は要素ごとに渡される必要があります。
double 型のデータは小数点以下最大 16 桁の精度で出力され、どちらの表記がよりコンパクトになるかに応じて、伝統的または科学形式で出力することが出来ます。float 型のデータは小数点以下 5 桁で出力されます。実数を異なる精度または事前定義された形式で出力するには PrintFormat()関数が使用されます。
bool 型のデータは「 true 」または 「 false 」のラインとして出力されます。日付は YYYY.MM.DD HH:MI:SS として出力されます。日付を別の形式で表示するには TimeToString() 関数が使用されます。カラー型のデータはR、G、Bの文字列、または、色がカラーセットに存在する場合は色名として出力されます。
Print() 関数はストラテジーテスターでの最適化中には使用できません。
例:
void OnStart() //— 実数型の算術演算で何が起こるかを表示する |
参照
DoubleToString、StringFormat
PrintFormat
事前に定義された形式に従ってシンボルと値のセットをフォーマットとし、エキスパートアドバイザーのログに入力します。
void PrintFormat( |
パラメータ
format_string
[in] フォーマット文字列は、簡単な記号で構成され、引数が続いている場合、引数内にフォーマットの仕様が含まれています。
…
[in] コンマで区切られた任意の基本データ型の値パラメータの数はフォーマットされる文字列を含んで 64 を超えることは出来ません。
戻り値
文字列
注意事項
PrintFormat() 関数はストラテジーテスターでの最適化中には使用できません。
パラメータの数、順序、及び型は正確に一連の修飾子と一致しなければなりません。さもないと、プリント結果は未定義になります。PrintFormat() の代わりに printf() の使用が可能です。
フォーマット文字列にパラメータが続く場合、この文字列には、これらのパラメータの出力フォーマットを示すフォーマットの仕様が含まれている必要があります。形式の仕様は、常にパーセント記号 (%) で始まります。
フォーマット文字列は左から右に読み込まれます。最初の形式仕様(もしあれば)が満たされると、フォーマット文字列の後にくる最初のパラメータの値は、予め設定された仕様に従って変換して出力されます。2 番目の形式仕様は変換を呼び出し2 番目のパラメータを出力し、というようにフォーマット文字列が終わるまでプロセスされます。
形式仕様の形式は次の通りです。
%[ フラグ ][ 幅 ][ .精度 ][{h | l | ll | I32 | I64}] 型
形式仕様の各フィールドは、単純なシンボル、または単純なフォーマットオプションを表す番号のどちらかです。最も単純な形式の仕様は、パーセント記号(%)と 出力パラメータの種類 (例えば %s)を定義するシンボルが含まれています。フォーマット文字列中にパーセント記号が必要な場合は、形式仕様 %% を使用します。
フラグ
フラグ | 説明 | デフォルト動作 |
– (minus) | セット幅内の左寄せ。 | 右寄せ。 |
+ (plus) | 符号付型の値の + または – 符号を出力します。 | 符号は値が負の場合のみ表示されます。 |
0 (zero) | ゼロは事前に定義された幅内で出力値の前に追加されます。0 フラグが整数形式で指定され( i、u、x、X、o、d)精度仕様が設定されている場合(例えば %04.d )、0 は無視されます。 | 何も追加されません。 |
space | 符号が正の値である場合、出力値の前にスペースが示されています。 | スペースは挿入されません。 |
# | フォーマットo、x または X と使用された場合、出力値の前に 0、0x または 0X がそれぞれ追加されます。 | 何も追加されません。 |
| フォーマット e、E、a または A と使用された場合、値は常に小数点で表示されます。 | 小数点はゼロ以外の小数部がある場合にのみ表示されます。 |
| フォーマット g または G と使用された場合、フラグは、出力値の小数点の存在を定義し、先行ゼロの削除を防ぐことが出来ます。 フラグ # はフォーマット c、d、i、u 及び s と使用された場合には無視されます。 | 小数点はゼロ以外の小数部がある場合にのみ表示されます。先行のゼロは削除されます。 |
幅 #
フォーマットされた値の出力記号の最小数を設定する負でない 10 進数です。出力シンボルの数が指定された幅よりも小さい場合、対応する数のスペースが、アライメントに応じて左または右から追加されます( – フラグ)。ゼロフラグ( 0 )が存在する場合、対応する数のゼロが出力値の前に追加されます。出力シンボルの数が指定された幅よりも大きい場合、出力値は絶対に切られません。
アスタリスク(*)が幅として指定された場合、整数型の値が渡されたパラメータのリストの対応する場所に示されている必要があります。この値は出力値の幅を指定するのに使用されます。
精度 #
小数点以下の桁数として出力精度を設定する、負でない小数です 。幅仕様とは異なり、精度仕様は、丸めのあるなしにかかわらず小数型の一部を切断することが出来ます。
精度仕様の使用は、フォーマッとの種類によって異なります。
種類 | 説明 | デフォルト桁数 |
a, A | 精度仕様が小数点以下の桁数を設定します。 | 6。 |
c, C | 使用されません。 |
|
d, i, u, o, x, X | 出力桁の最小数を設定します。対応するパラメータの桁数がこの精度よりも小さい場合、ゼロが出力値の左側に追加されます。出力桁数が指定された精度よりも大きい場合、出力値は短縮されません。 | 1。 |
e, E, f | 小数点以下の出力桁数を設定します。最後の数字は四捨五入されます。 | 6。設定精度が 0 であるか、小数部が存在しない場合には、小数点以下は表示されません。 |
g, G | 有効数字の最大数を設定します。 | 6。 |
s, S | 文字列の出力シンボルの数を設定します。文字列の長さが精度を超えた場合、文字列が短くされます。 | 全体の文字列が出力されます。 |
h | l | ll | I32 | I64
パラメータとして渡されたデータサイズの指定を指定します。
パラメータ型 | 使用するプレフィックス | 型のジョイント指定子 |
int | l (小文字の L ) | d、i、o、x または X |
uint | l (小文字の L ) | o、u、x または X |
long | ll (小文字の L が二つ)< | d、i、o、x または X |
short | h | d、i、o、x または X |
ushort | h | o、u、x または X |
int | I32 | d、i、o、x または X |
uint | I32 | o、u、x または X |
long | I64 | d、i、o、x または X |
ulong | I64 | o、u、x または X |
型 #
型指定子は、フォーマットされた出力のための唯一の必須フィールドです。
Symbol | Type | 出力フォーマット |
c | int | short 型のシンボル (Unicode)。 |
C | int | char 型のシンボル (ANSI)。 |
d | int | 符号付き 10 進整数。 |
i | int | 符号付き 10 進整数。 |
o | int | 符号なし 8 進整数。 |
u | int | 符号なし 10 進整数。 |
x | int | 「abcdef」を使用した符号なし 16 進整数。 |
X | int | 「ABCDEF」を使用した符号なし 16 進整数。 |
e | double | [-] d.dddde[sign] ddd のフォーマットを持った実数で、d は 1 つの 10 進整数、dddd は 1 つ以上の 10 進整数で ddd は 3 桁の数で、指数の大きさとプラスマイナスのサインを決めます。 |
E | double | 指数の符号が大文字で出力されている以外は e のフォーマットと似ています( e の代わりにE )。 |
f | double | [-] dddd.dddd のフォーマットを持った実数。ここで dddd は 1 つ以上の 10 進整数です。小数点の前の表示桁数は、数値のサイズによって異なります。小数点以下の桁数は、必要な精度に依存します。 |
g | double | どちらの表記がよりコンパクトになるかに応じて f または e フォーマットで出力された実数。 |
G | double | どちらの表記がよりコンパクトになるかに応じて F または E フォーマットで出力された実数。 |
a | double | [−]0xh.hhhh p±dd フォーマットを持った実数で、h.hhhh が 「abcdef」を使用した 16 進数の仮数部で、dd が1桁以上の指数。小数点以下の桁数は、精度仕様によって決定されます。 |
A | double | [−]0xh.hhhh P±dd フォーマットを持った実数で、h.hhhh が 「abcdef」を使用した 16 進数の仮数部で、dd が1桁以上の指数。小数点以下の桁数は、精度仕様によって決定されます。 |
s | string | 文字列出力 |
PrintFormat() の代わりに printf() の使用が可能です。
例:
void OnStart() |
参照
StringFormat、DoubleToString、浮動小数点数型 (ダブル、フロート)
ResetLastError
所定の変数 _LastErrorの値をゼロに設定します。
void ResetLastError(); |
戻り値
なし
注意事項
GetLastError() は _LastError 変数をゼロにしないことには留意すべきです。通常、関数呼び出しの前に ResetLastError() が呼び出され エラー発生がチェックされます。
ResourceCreate
データセットに基づいて画像のリソースを作成します。この関数には 2 つのバージョンがあります。
ファイルに基づいてリソースの作成
bool ResourceCreate( |
画素の配列に基づいてリソースの作成
bool ResourceCreate( |
パラメータ
resource_name
[in] リソース名
data[][]
。[in] 完全な画像を作成するための 1 次元または 2 次元の配列。
img_width
[in] 画像としてリソースに配置される矩形の画像領域のピクセルで表された幅。data_width 値を超すことは出来ません。
img_height
[in] 画像としてリソースに配置される矩形の画像領域の高さ(ピクセル単位)。
data_xoffset
[in] 画像の矩形領域の水平右方向オフセット。
data_yoffset
[in] 画像の矩形領域の縦の下方のオフセット。
data_width
[in] 1 次元配列のみで必要。データセットから画像の全幅を表します。data_width=0 の場合、値が img_width と等しいとみなされます。2 次元配列の場合、パラメータは無視され、data[] 配列の第 2 次元に等しいと仮定されます。
color_format
[in] 色処理方法で ENUM_COLOR_FORMAT 列挙から選ばれます。
戻り値
成功の場合は true、それ以外の場合は false 。エラー情報を取得するには、GetLastError() 関数が呼ばれます。次のエラーが発生可能です。
- 4015 – ERR_RESOURCE_NAME_DUPLICATED (同名の動的リソースと静的リソース)
- 4016 – ERR_RESOURCE_NOT_FOUND (リソースが見つからない)
- 4017 – ERR_RESOURCE_UNSUPPORTED_TYPE (この種類のリソースのサポートが不在)
- 4018 – ERR_RESOURCE_NAME_IS_TOO_LONG (リソース名が長すぎる)
注意事項
関数の 2 番目のバージョンが、異なる幅、高さ、及びシフトパラメータを使用して同じリソースを作成するために呼び出された場合は、新しいリソースは作成されず、単に既存のものが更新されます。
関数の最初のバージョンは、ファイルから画像や音声をアップロードするために使用され、2 番目のバージョンは、画像を動的に作成するために使用されます。
画像は24ビットまたは 32 ビットの色深度を持つ BMP 形式でなければなりません。サポートされているサウンド形式は WAV のみです。リソースのサイズは、16 MBを超えてはなりません。
ENUM_COLOR_FORMAT
識別子 | 説明 |
COLOR_FORMAT_XRGB_NOALPHA | アルファチャンネルの成分は無視されます。 |
COLOR_FORMAT_ARGB_RAW | 色成分は端末によって処理されません(ユーザが正しく設定する必要があります)。 |
COLOR_FORMAT_ARGB_NORMALIZE | 色成分は端末によって処理されます。 |
参照
リソース、ObjectCreate()、ObjectSetString()、OBJPROP_BMPFILE
ResourceFree
この関数は動的に作成されたリソースを削除します(割り当てられたメモリを解放します)。
bool ResourceFree( |
パラメータ
resource_name
[in] リソース名は “::” で始まるべきです。
戻り値
成功の場合は true、それ以外の場合は false。エラー情報を取得するには、GetLastError() 関数が呼ばれます。
注意事項
ResourceFree() は、MQL5アプリケーション開発者がリソースを操作する場合のメモリ消費量の管理を可能にします。メモリから削除されているリソースに結合されたグラフィカルオブジェクトは、削除後でも正常に表示されます。しかし、新しく作成されたグラフィカルオブジェクト(OBJ_BITMAP と OBJ_BITMAP_LABEL) は削除されたリソースを使用することが出来ません。
この関数は、プログラムによって作成された動的リソースのみを削除します。
参照
リソース、ObjectCreate()、PlaySound()、ObjectSetString()、OBJPROP_BMPFILE
ResourceReadImage
ResourceCreate() 関数で作成されたまたはコンパイル中に EX5 ファイルに保存されたグラフィックリソースからデータを読みます。
bool ResourceReadImage( |
パラメータ
resource_name
[in] 画像を含むグラフィクリソースの名称。自身のリソースにアクセスするには、「::ResourceName」が名称として使用されます。コンパイルされた EX5 ファイルからリソースをダウンロードする場合、完全な名称は「path\\filename.ex5::resourcename」のようにMQL5ディレクトリ、ファイル名とリソース名の相対パスが使用されるべきです 。
data[][]
[in] グラフィックリソースからデータを受け取るための 1 次元または 2 次元の配列。
img_width
[out] グラフィックリソース画像の幅(ピクセル単位)。
img_height
[out] グラフィックリソース画像の高さ(ピクセル単位)。
戻り値
成功の場合は true、それ以外の場合は false 。エラー情報を取得するには、GetLastError() 関数が呼ばれます。
注意事項
data[] 配列がグラフィックリソースの作成に使用される場合, COLOR_FORMAT_ARGB_NORMALIZE または COLOR_FORMAT_XRGB_NOALPHA カラーフォーマットが使用されるべきです。
data[] 配列が 2 次元で、2 番目の次元が、グラフィカルリソースサイズのX(幅)より小さい場合、ResourceReadImage() 関数はfalseを返し、読み込みが行われません。しかし、もしリソースが存在すれば、実際の画像サイズが幅と高さのパラメータに返されます。 これで、リソースからのデータ受けとりをもう一度試むことが可能になります。
参照
リソース、ObjectCreate()、ObjectSetString()、OBJPROP_BMPFILE
ResourceSave
リソースを指定されたファイルに保存します。
bool ResourceSave( |
パラメータ
resource_name
[in] 「::」から始まるリソース名
file_name
[in] MQL5\Files からのファイルの相対名
戻り値
成功の場合は true、それ以外の場合は fals。エラー情報を取得するには、GetLastError() が呼ばれます。
注意事項
この関数は常にファイルを上書きし、必要に応じてファイル名に必要な全ての中間ディレクトリを作成します。
参照
リソース、ObjectCreate()、PlaySound()、ObjectSetString()、OBJPROP_BMPFILE
SetReturnError
操作終了時に端末プロセスを返すコードを設定します。
void SetReturnError( |
パラメータ
ret_code
[in] 操作完了にクライアント端末が返すコード
戻り値
なし
注意事項
SetReturnError()関数を使用して指定されたret_code戻りコードを設定すると、コマンドラインから端末を起動する際にプログラム操作完了の理由を分析するのに有用です。
TerminalClose()と異なり、端末操作はSetReturnError()関数によっては完了されません。代わりに、完了時に端末プロセスを返すコードを設定するだけです。
SetReturnError()関数が複数回呼び出されたり、異なるMQL5プログラムから呼び出されたりすると、最後に設定された戻りコードが返されます。
設定されたコードは、以下の場合を除いて、端末プロセスの完了時に返されます。
- 実行中に重大エラーが発生した –
- TerminalClose(int ret_code)関数が呼び出されて、指定されたコードで端末操作完了コマンドを発行した。
参照
プログラム実行、実行エラー、初期化解除の理由、 TerminalClose
SetUserError
事前に定義された変数 _LastError を ERR_USER_ERROR_FIRST + user_error に等しい値に設定します。
void SetUserError( |
パラメータ
user_error
[in] ユーザが設定したエラー番号
戻り値
なし
注意事項
SetUserError(user_error) 関数でエラーが設定された後、GetLastError() は ERR_USER_ERROR_FIRST + user_error に等しい値を返します。
例:
void OnStart() |
Sleep
指定された間隔内で現在のエキスパートアドバイザーまたはスクリプトの実行を一時停止します。
void Sleep( |
パラメータ
milliseconds
[in] ミリ秒単位の遅延間隔
戻り値
なし
注意事項
指標はインターフェースのスレッドで実行され遅らせるべきではないので、Sleep() 関数はカスタム指標からは呼び出すことが出来ません。この関数は 0.1 秒ごとの EA 休止フラグのチェックを内蔵しています。
TerminalClose
この関数は端末に操作完了を命令します。
bool TerminalClose( |
パラメータ
ret_code
[in] 動作完了時にクライアント端末の処理によって返されたリターンコード
戻り値
成功の場合は true、それ以外の場合は false
注意事項
TerminalClose() 関数は、すぐに端末を停止せずに、動作を完了するように端末に命令します。
TerminalClose() を呼び出したエキスパートアドバイザーのコードは、即時完了のための準備を(例えば、開いているファイルは、通常モードで閉じる)終える必要があります。この関数の呼び出しは リターンオペレータ で続かれる必要があります。
ret_code パラメータは、コマンドプロンプトからの起動時に端末操作のプログラム終了の理由を分析するのに必要なリターンコードを示すことが出来ます。
例:
//— 入力パラメータ |
参照
プログラム実行、実行エラー、初期化解除の理由
TesterHideIndicators
EAで使用される指標の非/表示モードを設定します。この関数は、テスト中にのみ指標の可視性を管理するためのものです。
void TesterHideIndicators( |
パラメータ
hide
[in] テスト中に指標を非表示にするフラグ(true – 非表示、false – 表示)
戻り値
なし
注意事項
デフォルトでは、テスト中のEAで作成されたすべての指標は視覚的にテストチャートに表示されます。さらに、これらの指標は、テストが完了したときに自動的に開かれるチャートに表示されます。TesterHideIndicators()関数を使用すると、開発者は使用される指標の表示を無効にすることができます。
EAをテストするときに適用された指標の表示を無効にするには、EAのハンドルを作成する前にTesterHideIndicators()をtrueで呼び出します。それ以降に作成されるすべての指標には非表示フラグが設定されます。これらの指標は、ビジュアルテスト中にも、テスト完了時に自動的に開かれるチャート上にも表示されません。
新しく作成された指標の非表示モードを無効にするには、TesterHideIndicators()をfalseで呼び出します。テスト中のEAから直接生成された指標のみをテストチャートに表示することができます。このルールは<data_folder>MQL5\Profiles\Templatesにテンプレートが1つもない場合にのみ適用されます。
<data_folder>MQL5\Profiles\Templatesディレクトリに特別なテンプレート(<EA_name>.tpl)が含まれている場合は、このテンプレートの指標のみがビジュアルテスト中とテストチャート上に表示されます。この場合、テスト中のEAに適用された指標は表示されません。この動作は、EAコードでTesterHideIndicators()がtrueで呼び出されても変わりません。
<data_folder>MQL5\Profiles\Templatesディレクトリにtester.tplがあるが特別な<EA_name>.tplテンプレートがない場合は、tester.tplの指標とTesterHideIndicators()関数で無効化されていないEA指標がビジュアルテストとテストチャートで表示されます。tester.tplテンプレートがない場合は、default.tplテンプレートの指標が代わりに使われます。
ストラテジーテスターが適切なテンプレート(<EA_name>.tpl、tester.tplまたはdefault.tpl)を見つけられなかった場合、EAに適用された指標の表示は完全にTesterHideIndicators()関数によって管理されます。
例:
bool CSampleExpert::InitIndicators(void) |
参照
IndicatorRelease
TesterStatistics
この関数はテストの結果に基づいて算出された指定の統計パラメータを返します。
double TesterStatistics( |
パラメータ
statistic_id
[in] ENUM_STATISTICS 列挙から選ばれた統計パラメータの ID
戻り値
テスト結果に基づいた統計パラメータの値
注意事項
この関数はテスタの OnTester() または OnDeinit() の中で呼び出されます。それ以外の場合、結果は定義されていません。
TesterStop
テスト中にプログラム操作終了コマンドを発行します。
void TesterStop(); |
戻り値
なし
注意事項
TesterStop()関数はテストエージェント(たとえば、特定の数の負け取引または事前に設定されたドローダウンレベルに達した場合)で、EAを定期的に早期にシャットダウンするように設計されています。
TesterStop()の呼び出しはテストの正常終了とみなされるため、 OnTester()関数が呼び出され、累積取引統計および最適化基準の値がストラテジーテスターに送信されます。
ストラテジーテスターでのExpertRemove()の呼び出しもテストの正常終了とみなされて取引統計を取得できますが、EAはエージェントのメモリからアンロードされます。この場合、プログラムを再読み込みするためには、次のパラメータセットのパスを実行する必要があります。よって、TesterStop()はテストの早期終了のための好ましいオプションです。
参照
プログラムの実行、取り引き戦略のテスト、ExpertRemove、 SetReturnError
TesterDeposit
テスト中の資金入金をエミュレートする特殊関数です。資金管理システムの一部で使用することができます。
bool TesterDeposit( |
パラメータ
money
[in] 預金通貨での口座への入金
戻り値
成功の場合は true、それ以外の場合は false
参照
TesterWithdrawal
TesterWithdrawal
この特殊関数は、テストの過程で出金の動作をエミュレートします。資産管理システムでの使用が可能です。
bool TesterWithdrawal( |
パラメータ
money
[in] (預金通貨で)出金必要額の合計
戻り値
成功の場合は true、それ以外の場合は false
参照
TesterDeposit
TranslateKey
現在の入力言語とコントロールキーの状態を考慮して、仮想キーコードでUnicode文字を返します。
short TranslateKey( |
パラメータ
key_code
[in] キーコ—ド
戻り値
変換が成功した場合はUnicode文字。エラーの場合は-1。
注意事項
この関数はToUnicodeExを使用してユーザーが押したキーをUnicode文字に変換します。ToUnicodeExがトリガされない場合(たとえば、SHIFTキー文字を受け取ろうとする場合など)にはエラーが発生することがあります。
例:
void OnChartEvent(const int id,const long& lparam,const double& dparam,const string& sparam) |
参照
クライアント端末イベント、OnChartEvent
ZeroMemory
この関数は参照によって渡された変数をリセットします。
void ZeroMemory( |
パラメータ
variable
[in] [out] リセットされる、参照によって渡された変数(ゼロに初期化する)
戻り値
なし
注意事項
この関数の呼び出しは、引数が文字列である場合、その値として NULL を示すのと同じです。
基本データ型とその配列、また基本データ型の構造体とクラスにとっては、これはただのリセットと同じです。
文字列と動的配列を含むオブジェクトの場合、ZeroMemory() が各要素に対して呼び出されます。
const 修飾子によって保護されていない任意の配列の場合、すべての要素がゼロで初期化されます。
複合オブジェクトの配列の場合、ZeroMemory() が各要素に対して呼び出されます。
ZeroMemory() は protected メンバや継承クラスを持つクラスでは使用できません。
Originally posted 2019-07-29 22:58:58.