![他定数](https://celebpanda.com/wp/wp-content/uploads/2021/05/セレブパンダブログ用.jpg)
変数状態とパラメータを示す為に使用される特別な定数です。
定数 | 値 | 詳細 |
---|---|---|
NULL | 0 | 全ての型の為のゼロ。または空の文字列の状態を意味します。 |
EMPTY | -1 | パラメータの空の状態 |
EMPTY_VALUE | 2147483647(0x7FFFFFF) | インジケータバッファの空の値。 デフォルトのカスタムインジケータの空の値。 |
CLR_NONE, clrNONE | -1 | 色の未設定。色が無い。 |
CHARTS_MAX | 100 | ターミナルで同時に開けるチャートの最大数 |
INVALID_HANDLE | -1 | 無効なハンドル |
IS_DEBUG_MODE | 0以外:デバックモード中 0:デバックモード以外 | MQL4プログラムのデバッグモードフラグ |
IS_PROFILE_MODE | 0以外:プロファイリングモード中 0:プロファイリングモード以外 | MQL4プログラムのプロファイリングモードフラグ |
WHOLE_ARRAY | 0 | 配列関数で使用します。 全ての配列要素が処理される事を意味します。 |
WRONG_VALUE | 1 | 定数は暗黙的に列挙型へキャストする事が出来ます。 |
NULL定数は、シンプルな型の変数や構造体、クラスポインタに使用する事が出来ます。
文字列にNULL定数を割り当てる事は、文字列変数の初期化解除を意味します。
EMPTY_VALUE定数は、通常チャートに表示されないインジケータの値に対応します。
例えば、20日移動平均線は最初の19日分のバーには表示されません。
CLR_NONE定数は色が無い事を概説する為に使用されます。
インジケータのグラフィカルオブジェクトやグラフィカルシリーズがプロットされない事を意味します。
この定数はウェブカラー定数のリストには含まれていないが、色の引数として使用出来ます。
INVALID_HANDLE定数は、ファイルハンドルをチェックする為に使用します。
(FileOpen(), FileFindFirst()関数参照 )
WRONG_VALUE定数は、列挙の値を戻り値に返す時に、間違った値を返さなければならないケースで使用します。
例えば、戻り値の値を列挙の値で返す必要がある場合。
以下サンプルソースのCheckLineStyle()関数で例を挙げます。
ObjectGetInteger関数で取得した結果がtrueの場合は、取得したOBJPROP_STYLEプロパティのENUM_LINE_STYLE値を返しますが、
結果がfalseの場合は、WRONG_VALUEを返します。
サンプルコード
ENUM_LINE_STYLE CheckLineStyle( string name) {
long style;
if( ObjectGetInteger( 0,name, OBJPROP_STYLE ,0,style)) {
return( (ENUM_LINE_STYLE)style);
} else {
return(WRONG_VALUE);
}
}
WHOLE_ARRAY定数は、配列要素数の指定が必要な関数で使用します。
・ArrayCopy();
・ArrayMinimum();
・ArrayMaximum();
・FileReadArray();
・FileWriteArray();
指定した位置から配列の最後まで配列の値を処理しなければならない場合、WHOLE_ARRAYを指定する必要があります。
IS_PROFILE_MODE定数は、プロファイリングモードで正確なデータ収集の為のプログラム動作を変更する事が出来ます。
プロファイリングは、個々のプログラムフラグメント実行時間の測定・コール回数の計算をする事が可能です。
以下サンプルソースの様に、Sleep関数の呼び出しをプロファイリングモードで無効にすることが出来ます。
サンプルコード
プロファイリングモードでSleep関数の呼び出しをしない
if( !IS_PROFILE_MODE ) Sleep(100);
IS_PROFILE_MODE定数はコンパイル時にコンパイラによって設定され、通常モードではゼロが設定されます。
プロファイリングモードでプログラムを起動すると、IS_PROFILE_MODE定数はゼロ以外の値に置換されます。
IS_DEBUG_MODE定数はデバッグモード動作させる場合にMQL4プログラム動作を切り替えたい場合に使用します。
例えばデバッグ情報をログに表示させたり、デバッグ用のグラフィカルオブジェクトを表示させたい時等です。
暗号化メソッド
ENUM_CRYPT_METHOD列挙は、 CryptEncode(),CryptDecode()関数で使用するデータ変換方法の指定に使用します。
ENUM_CRYPT_METHOD
ID | 詳細 |
---|---|
CRYPT_BASE64 | BASE64変換 |
CRYPT_AES128 | 128ビット(16バイト)キ―AES暗号化 |
CRYPT_AES256 | 256ビット(32バイト)キ―AES暗号化 |
CRYPT_DES | 56ビット(7バイト)キ―DES暗号化 |
CRYPT_HASH_SHA1 | SHA-1ハッシュ計算 |
CRYPT_HASH_SHA256 | SHA-256ハッシュ計算 |
CRYPT_HASH_MD5 | MD5ハッシュ計算 |
CRYPT_ARCH_ZIP | ZIPアーカイブ |