MQL4⇔MQL5 プログラム変換表

公開日: : MT5/MQL5

MQL4をMQL5に変換、あるいはMQL5をMQL4に書き換えるための変換表です。MQL5ではMQL4と同じ名前の関数でも役割や機能が異なっていたり、そもそもMQL4ではあった関数が消えていたりするので、できればちゃんと勉強した方が変なバグに苦しむことはないと思います。

 

https://www.mql5.com/ja/articles/81 を見れば良いんですが、万が一このページが消されたり見れなくなったときに困るのでバックアップとして…

また、MQL5のバージョンアップで古い内容もあるので過信しないでください。

 

3. 前もって定義されている変数

MQL4 MQL5 内容
Ask
現在のシンボルについてすでにわかっている直近のask価格
SymbolInfoTick
Bars
現在チャート内のバー数
Bars
Bid
現在のシンボルについてすでにわかっている直近のbid価格
SymbolInfoTick
Close
現在チャートの各バーについての終値を含む直列配列
CopyCloseArraySetAsSeries
Digits
現在シンボル価格にかかわる小数点以下の桁数
_Digits
High
現在チャートの各バーについて高値を含む直列配列
CopyHighArraySetAsSeries
Low
現在チャートの各バーについて安値を含む直列配列
CopyLowArraySetAsSeries
Open
現在チャートの各バーについて始値を含む直列配列
CopyOpenArraySetAsSeries
Point
クオート通貨における現在シンボルのポイント値
_Point
Time
現在チャートの各バーにかかわる開始時刻を含む直列配列
日中の表示時間のようなデータ。1970年1月1日零時から経過した時間の秒表示。
CopyTimeArraySetAsSeries
Volume
現在チャートの各バーについてのティック量を含む直列配列
CopyTickVolumeArraySetAsSeries

4. アカウント情報

MQL4 MQL5 内容
AccountBalance
現在アカウントのバランス値を返します。(アカウントの金額)
AccountInfoDouble
AccountCredit
現在アカウントのクレジット値を返します。AccountInfoDouble
AccountCompany
現在アカウントが登録されている仲介会社名を返します。AccountInfoString
AccountCurrency
現在アカウントの通貨名を返します。AccountInfoString
AccountEquity
現在アカウントの同等値を返します。純資産計算はトレーディングサーバーの設定に依存します。
AccountInfoDouble
AccountFreeMargin
現在アカウントのフリーマージン値を返します。AccountInfoDouble
AccountFreeMarginCheck
現在アカウントの現在価格で指定したポジションがオープンになってから残っているフリーマージン値を返します。
AccountFreeMarginMode
現在アカウントに許可されているオープンポジションののフリーマージン計算モード
AccountLeverage
現在アカウントのレバレッジを返します。AccountInfoInteger
AccountMargin
現在アカウントのマージン値を返します。AccountInfoDouble
AccountName
現在アカウント名を返します。AccountInfoString
AccountNumber
現在アカウント数を返します。AccountInfoInteger
AccountProfit
現在アカウントのプロフィット値を返します。AccountInfoDouble
AccountServer
接続サーバー名を返します。AccountInfoString
AccountStopoutLevel
ストップアウトレベル値を返します。AccountInfoDouble
AccountStopoutMode
ストップアウトレベルの計算モードを返します。AccountInfoInteger

5. 配列関数

MQL4 MQL5 内容
ArrayBsearch
関数は一次元数値配列の指定値を検索します。
ArrayBsearch
ArrayCopy
配列を別の配列にコピーします。コピーする配列は同じタイプのものである必要があります。しかし、次のタイプの配列は同じタイプのものとしてコピーすることができます。double[]、int[]、datetime[]、color[]、bool[] 。コピーしたエレメント量を返します。ArrayCopy
ArrayCopyRates
現在チャートバーのデータを二次元配列であるRateInfo[][6]タイプにコピーし、コピーされたバー量、またはコピー失敗の場合は1を返します。
ArrayCopySeries
時系列配列をカスタム配列にコピーし、コピー済みエレメント数を返します。
CopyOpenCopyLowCopyHighCopyCloseBars
ArrayDimension
複数次元配列ランクを返します。
ArrayGetAsSeries
配列が時系列配列として作成されるとTRUEを返します。(配列エレメントは最後から最初にインデックスされます。)それ以外はFALSEを返します。
ArrayGetAsSeries
ArrayInitialize
数字配列のエレメントをすべて同じ値に設定します。初期化したエレメント数を返します。ArrayInitializeArraySize
ArrayIsSeries
確認された配列が時系列配列として作成されるとTRUEを返します。(Time[]、Open[]、Close[]、High[]、Low[]、 Volume[])それ以外はFALSEを返します。
ArrayIsSeries
ArrayMaximum
高値のエレメントを検索します。関数は配列内でのこの最大エレメントの位置を返します。ArrayMaximum
ArrayMinimum
最小値のエレメントを検索します。関数は配列内でのこの最小エレメントの位置を返します。ArrayMinimum
ArrayRange
配列に与えられたディメンションのエレメント数を返します。ArrayRange
ArrayResize
最初のディメンションに新規サイズを設定します。
ArrayResize
ArraySetAsSeries
配列に与えられたディメンションのエレメント数を返します。インデックの基本はゼロなので、ディメンションのサイズは最大インデックスより1大きくなっています。
ArraySetAsSeries
ArraySize
配列に含まれるエレメント数を返します。ArraySize
ArraySort
最初のディメンションで数値配列をソートします。直列配列はArraySort()によるソートはされません。
ArraySortArraySetAsSeries

6. チェック

MQL4 MQL5 内容
GetLastError
関数は最後に起こったエラーを返します。そして、サイトのエラーコードが保存されている特殊なlast_error変数の値はゼロ化されます。
GetLastError
IsConnected
関数はクライアント端末とデータ供給を行うサーバー間の主要な接続の状態を返します。. サーバーとの接続がうまく確率されるとTRUEを返します。それ以外はFALSEを返します。
TerminalInfoInteger
IsDemo
エキスパートがデモアカウントで実行されるとTRUEを返します。それ以外はFALSEを返します。

AccountInfoInteger

IsDllsAllowed
DLL関数呼び出しがExpert Advisorに許可されているとTRUEを返します。それ以外はFALSEを返します。
TerminalInfoInteger

IsExpertEnabled
Expert Advisorsがクライアント端末で有効であればTRUEを返します。それ以外はFALSEを返します。
AccountInfoInteger

IsLibrariesAllowed
Expert Advisor がライブラリ関数を呼ぶことができるとTRUEを返します。それ以外はFALSEを返します。
MQLInfoInteger

IsOptimization
Expert Advisorsがクストラテジーテスタ最適化モードで実行されているとTRUEを返します。それ以外はFALSEを返します。
MQLInfoInteger

IsStopped
プログラム(Expert Advisorsまたはスクリプト)が処理停止を命じられているとTRUEを返します。それ以外はFALSEを返します。
IsStopped

IsTesting
Expert Advisorsがテストモードで実行されているとTRUEを返します。それ以外はFALSEを返します。
MQLInfoInteger

IsTradeAllowed
Expert Advisorsでのトレードが許可されていてトレードのスレッドが満たされていなければTRUEを返します。それ以外はFALSEを返します。
MQLInfoInteger

IsTradeContextBusy
トレードのスレッドが他のExpert Advisorで使用されているとTRUEを返します。それ以外はFALSEを返します。<br2/>

IsVisualMode
Expert Advisorsが『ビジュアルモード』ボタンでテストされているとTRUEを返します。それ以外はFALSEを返します。
MQLInfoInteger

UninitializeReason
Expert Advisors、カスタムインディケータ、スクリプトに対して初期化されない理由のコードを返します。
UninitializeReason

7. クライアント端末

MQL4 MQL5 内容

TerminalCompany
クライアント端末を所有する会社名を返します。
TerminalInfoString

TerminalName
クライアント端末名を返します。TerminalInfoString

TerminalPath
クライアント端末が実装されているディレクトリを返します。
TerminalInfoString

8. 共通関数

MQL4 MQL5 内容

Alert
ユーザー定義データを含むダイアログボックスを表示します。パラメータタイプは問いません。
Alert

Comment
関数は、ユーザーにより定義されたコメントをチャートの左上隅に表示します。
Comment

GetTickCount
GetTickCount()関数がシステム起動時より経過しているミリ秒の数字を取得します。
GetTickCount

MarketInfo
気配値表示ウィンドウに挙がっている様々なセキュリティデータを返します。
SymbolInfoIntegerSymbolInfoDoubleBidAsk

MessageBox
MessageBox関数はメッセージボックスを作成、表示、操作します。
MessageBox

PlaySound
関数はサウンドファイルを鳴らします。
PlaySound

Print
エキスパートのログにメッセージを印刷します。
Print

SendFTP
ツール->オプション->パブリッシャのタブに設定されたFTPサーバーにファイルを送信します。送信に失敗したらFALSEを返します。
SendFTP

SendMail
ツール->オプション->Eメールのタブに設定されたe-mailにメッセージを送信します。
SendMail

Sleep
Sleep()関数は指定された時間現在のエキスパートの実行を保留にします。
Sleep

9. 変換関数

MQL4 MQL5 内容

CharToStr
シンボルコードを1文字ストリングに変換します。
CharToString

DoubleToStr
指定のプレシジョンフォーマットに変換された指定の数値を持つテキストストリングを返します。
DoubleToString

NormalizeDouble
浮動小数値を与えられた精度に四捨五入します。ダブルタイプの正規化数値を返します。
NormalizeDouble

StrToDouble
数字に表されたストリングをダブルタイプに変換します。(浮動小数点を伴う倍精度フォーマット)
StringToDouble

StrToInteger
値文字表記を含むストリングをint (整数)タイプに変換します。
StringToInteger

StrToTime
“yyyy.mm.dd hh:mi”フォーマットのストリングを日時タイプ(1970年1月1日零時以降に経過した秒数) に変換します。
StringToTime

TimeToStr
1970年1月1日零時から経過した時間の秒表示を含む値を変換します。
TimeToString

12. ファイル関数

MQL4 MQL5 内容

FileClose
FileOpen()で開かれているファイルを閉じます。
FileClose

FileDelete
指定されたファイル名を削除します。
FileDelete

FileFlush
ディスクのファイルバッファに保管されているデータをすべてフラッシュします。
FileFlush

FileIsEnding
ポインタがファイルの最後尾にあるとロジカルtrueを返します。それ以外はfalseを返します。
FileIsEnding

FileIsLineEnding
CSVファイルについてファイル ポインタがファイルの最後尾にあるとロジカルtrueを返します。それ以外はfalseを返します。
FileIsLineEnding

FileOpen
インプット/アウトプットについてファイルを開きます。開いているファイルについてファイルハンドルまたは1(関数が実行に失敗した場合)を返します。
FileOpen

FileOpenHistory
現在履歴ディレクトリ(terminal_directory\history\server_name)またはそのサブフォルダでファイルを開きます。開いているファイルについてファイルハンドルを返します。<br2/>関数が実行に失敗したら1を返します。<br2/>

FileReadArray
指定されたエレメントの合計をバイナリファイルから配列に読み込みます。
FileReadArray

FileReadDouble
小数点付倍精度数を現バイナリファイルポジションから読み込みます。
FileReadDouble

FileReadInteger
関数は整数を現バイナリファイルポジションから読み込みます。
FileReadInteger

FileReadNumber
デリミタの前に、現バイナリファイルポジションから数値を読み込みます。
Only for CSV files.
FileReadNumber

FileReadString
Функция читает строку с текущей позиции файла.
FileReadString

FileSeek
関数はファイルポインタをはじめ、最後尾または現在ファイルポジションからオフセットでバイト表示の新規ポジションに移動します。
FileSeek

FileSize
関数はファイルサイズをバイトで返します。
FileSize

FileTell
ファイルポインタの現在ポジションを返します。
FileTell

FileWrite
関数はデータを自動的に挿入されているデリミタであるCSVファイルに書き込むよう意図されています。
FileWrite

FileWriteArray
関数は配列をバイナリファイルに書き込みます。
FileWriteArray

FileWriteDouble
関数は浮動小数点を含むダブル値をバイナリファイルに書き込みます。
FileWriteDouble

FileWriteInteger
関数は整数値をバイナリファイルに書き込みます。
FileWriteInteger

FileWriteString
関数はストリングを現在ファイルポジションからバイナリファイルに書き込みます。
FileWriteString

13. グローバル変数

MQL4 MQL5 内容

GlobalVariableCheck
グローバル変数が存在するとTRUEを返します。それ以外はFALSEを返します。
GlobalVariableCheck

GlobalVariableDel
グローバル変数を削除します。GlobalVariableDel

GlobalVariableGet
存在するグローバル変数の値を返します。エラー発生時は0を返します。
GlobalVariableGet

GlobalVariableName
関数は自身のグローバル変数リストによりグローバル変数名を返します。
GlobalVariableName

GlobalVariableSet
グローバル変数の新規値を設定します。グローバル変数が存在しない場合は、システムは新規グローバル変数を作成します。
GlobalVariableSet

GlobalVariableSetOnCondition
現在の値がcheck_valueに等しければ、既存のグローバル変数の新規値を設定します。
GlobalVariableSetOnCondition

GlobalVariablesDeleteAll
グローバル変数を削除します。GlobalVariablesDeleteAll

GlobalVariablesTotal
関数は合計のグローバル変数数を返します。GlobalVariablesTotal

14. 数学的関数

MQL4 MQL5 内容

MathAbs
指定された数値の絶対値(モデュラス)を返します。
MathAbs

MathArccos
MathArccos関数は0からPi(radiansで)の範囲のxの逆余弦を返します。
MathArccos

MathArcsin
MathArcsin関数はPi/2からPi/2radiansの範囲のxの逆余弦を返します。
MathArcsin

MathArctan
MathArctan関数はxの逆正接を返します。
MathArctan

MathCeil
MathCeil関数はxを超えるまたはxに等しい最小整数で表される数値を返します。
MathCeil

MathCos
指定された角の余弦を返します。MathCos

MathExp
dに累乗された値eを返します。
MathExp

MathFloor
MathFloor関数はx以下のまたはxに等しい最大整数で表される数値を返します。
MathFloor

MathLog
MathLog関数は実行できたらxの自然対数を返します。MathLog

MathMax
2つの数値の大きい方を返します。
MathMax

MathMin
2つの数値の小さい方を返します。
MathMin

MathMod
関数は2つの数の除数の浮動小数リマインダを返します。MathMod

MathPow
指定の乗数(指数値)に対して起こる基本式の値を返します。
MathPow

MathRand
MathRand関数は0~32767の範囲の疑似ランダム整数を返します。
MathRand

MathRound
指定された数値に最も近い整数の四捨五入値を返します。
MathRound

MathSin
指定された角の正弦を返します。MathSin

MathSqrt
MathSqrt関数はxの平方根を返します。
MathSqrt

MathSrand
MathSrand()関数は疑似ランダム整数を生成する開始地点を設定します。
MathSrand

MathTan
MathArctan関数はxの正接を返します。
MathTan

15. オブジェクト関数

MQL4 MQL5 内容

ObjectCreate
指定されたウィンドウに指定された名前、タイプ、初期コーディネートによりオブジェクトの作成。
ObjectCreate

ObjectDelete
指定された名前のオブジェクトを削除します。
ObjectDelete

ObjectDescription
オブジェクト記述を返します。
ObjectGetString

ObjectFind
指定された名前のオブジェクトを検索します。
ObjectFind

ObjectGet
指定されたオブジェクトのプロパティ値を返します。.
ObjectGetIntegerObjectGetDouble

ObjectGetFiboDescription
関数はフィボナッチの数列オブジェクトのレベル記述を返します。
ObjectGetString

ObjectGetShiftByValue
関数は与えられた価格についてのバーインデックス(現在バーに連動して移動します)を計算し結果を返します。
MqlRatesObjectGetTimeByValueCopyRatesCopyTimeArraySize

ObjectGetValueByShift
関数は指定されたバー(現在バーに連動して移動します)についての価格値を計算し結果を返します。
MqlRatesCopyRatesObjectGetValueByTime

ObjectMove
関数はチャートのオブジェクトコーディネートを移動します。オブジェクトはタイプによって1~3のコーディネートを持つ可能性があります。
ObjectMove

ObjectName
関数は自身のオブジェクトリストのインデックスによりオブジェクト名を返します。
ObjectName

ObjectsDeleteAll
指定されたタイプおよび指定されたチャートのサブウィンドウにあるオブジェクトをすべて削除します。
ObjectsDeleteAll

ObjectSet
指定されたオブジェクトのプロパティ値を変更します。
ObjectSetIntegerObjectSetDouble

ObjectSetFiboDescription
関数は、新規記述をフィボナッチの数列オブジェクトのレベルに割り当てます。
ObjectSetString