mt4 (MetaTrader4)使い倒シストレ

メタトレーダー、自作インジケータ、自作EAで完全自動売買。使えるものは何でも使え。
インジケーター、EA(自動売買システム)製作のご依頼はこちらへ
Googolyen FX Factory
スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


にほんブログ村 為替ブログ FX システムトレード派へ
--/--/--(--) --:--:-- | スポンサー広告 | Trackback(-) | Comment(-)
Importing of functions (関数のインポート)
関数はコンパイル済みMQL4モジュール (*.ex4ファイル)やDLLモジュール (*.dllファイル)からインポートされる。
それらのモジュール名は#importコマンドによって指定される。
インポートされた関数を呼び出したり、変数を渡したりするためには、関数の全ての記述が必要となる。
関数の記述は#import "module name"のすぐ後に続ける。
その後の#importコマンドによってインポート関数の記述ブロックが完了する。

#import "file_name"
    func1 define;
    func2 define;
    ...
    funcN define;
#import
インポート関数の名前は重複してはならない。
同一名の関数は複数モジュールから同時にインポートすることができない。
インポート関数は標準関数の名前と同じにしない方がよい。

インポート関数がコンパイル済みモジュールになると、コンパイラは変数渡しの正確さをチェックできない。
それは実行時エラーを防ぐ為であり、型の整合性を宣言することや、変数の正確な指定が必要である。
インポート関数 (EX4、DLLモジュール)に渡される変数は初期値を持つことができない。

Examples:
#import "user32.dll"
   int    MessageBoxA(int hWnd, string lpText, string lpCaption, int uType);
#import "stdlib.ex4"
   string ErrorDescription(int error_code);
   int    RGB(int red_value, int green_value, int blue_value);
   bool   CompareDoubles(double number1, double number2);
   string DoubleToStrMorePrecision(double number, int precision);
   string IntegerToHexString(int integer_number);
#import "ExpertSample.dll"
   int    GetIntValue(int);
   double GetDoubleValue(double);
   string GetStringValue(string);
   double GetArrayItemValue(double arr[], int, int);
   bool   SetArrayItemValue(double& arr[], int,int, double);
   double GetRatesItemValue(double rates[][6], int, int, int);
   int    SortStringArray(string& arr[], int);
   int    ProcessStringArray(string& arr[], int);
#import
mql4プログラムの実行中に関数のインポートを行った場合、いわゆる遅延結合が起こる。
これはインポート関数が呼ばれるまでは、該当モジュールが読み込まれないことを意味する。

Drive:\Directory\FileName.Extにあるモジュールの条件付き名前は使わない方がよい。
MQL4ライブラリはterminal_dir\experts\librariesフォルダから読み込まれる。
もし該当するライブラリが見つからない場合、terminal_dir\expertsフォルダからライブラリの読み込みを行う。

にほんブログ村 為替ブログ FX システムトレード派へ
Trackback
この記事のトラックバックURL
≪この記事へのトラックバック≫
Designed by aykm.
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。