FX「MQL4」メタトレーダー

第一章

基本データの型
データ型 その他
int(整数) int a = 12;
int b = -54;
int c = 0x0A;
int d = 0xFF;
int e = "a";・・・文字コードが設定
小数点が含まれる場合、切捨てとなる。
double(実数) double a = 1.1234;
double a = 1.1234;
double a = 12;
 
string(文字列) string a = "USD/JPY";  
bool(論理) bool a = true;
bool b = false;
bool c = 1;
bool d = 0;
 
color(色) color a = C'128,128,128';
color a = C'0xFF,0x00,0x00';
color a = 0xFF0000;
 
datetime(日時) datatime a = D'2009.04.19 12:30:27';
datatime a = D'2009.04.19 12:30';
datatime a = D'2009.04.19';
datatime a = D'12:30:27';
 
プリプロセッサ命令
命令 その他
#define 識別子 値 #define MAGIC 100
#define COMPANY_NAME "My Company Name"
 
#include ファイル名 #include "mylib.mqh"
#include
「""」は同じフォルダ内を探し、"<>"はincludeフォルダから探す。 
#property 識別子
#property 識別子 値
#property copyright "Copyright (c) 2009, Sample."
#property link "http://www.xxxxx.com"
link 値(文字列)
copyright 値(文字列)
stacksize 値(整数)
library
indicator_chart_window
indicator_separate_window
indicator_buffers 値(整数)
indicator_minimum 値(実数)
indicator_maximum 値(実数)
indicator_colorN 値(色)
indicator_widthN 値(整数)
indicator_styleN 値(整数)
indicator_levelN 値(整数)
indicator_levelcolor 値(色)
indicator_levelwidth 値(整数)
indicator_levelstyle 値(整数)
show_confirm
show_inputs
数学関数
名称 関数 説明
剰余 double MathMod(double x, double y) x/yの余り
べき乗 double MathPow(double x, double y)  
最大値 double MathMax(double x, double y)  
最小値 double MathMin(double x, double y)  
絶対値 double MathAbs(double x)  
平方根 double MathSqrt(double x)  
自然対数 double MathLog(double x)  
アークコサイン double MathArccos(double x)  
アークサイン double MathArcsin(double x)  
アークタンジェント double MathArctan(double x)  
コサイン double MathCos(double x)  
サイン double MathSin(double x)  
タンジェント double MathTan(double x)  
シーリング double MathCeil(double x) 切上げ
フロア double MathFloor(double x) 切捨て
丸め double MathRound(double x) 四捨五入
乱数の初期化 void MathSrand(int x)  
乱数 int MathRand() 0〜32767の整数
エクスポネンシャル double MathExp(double x)  
変数の種類
int x = 100; //外部変数
void func()
{
  int x = 10; //内部変数
  Print("x = ", x);
}

int start()
{
  func();
  Print("x = ", x);
  return(0);
}

大域変数について
メタトレーダー全体に有効な「大域変数」と呼ばれるものがあります。
「ツール」→「Global Variables」で設定できます。
また次の命令で任意に設定・取得も可能です。

書式 パラメータ 戻り値
datetime GlobalVariablesSet(string name, double value) name:変数名
value:変数に代入する数値データ。
大域変数の設定が成功すれば、設定時刻を返す。失敗すれば「0」を返す。
double GlobalVariablesGet(string name) name:変数名 指定した大域変数の値を返す。取得に失敗すれば「0」を返す。