MQL4⇔MQL5 プログラム変換表
公開日:
:
MT5/MQL5
目次/もくじ
MQL4をMQL5に変換、あるいはMQL5をMQL4に書き換えるための変換表です。MQL5ではMQL4と同じ名前の関数でも役割や機能が異なっていたり、そもそもMQL4ではあった関数が消えていたりするので、できればちゃんと勉強した方が変なバグに苦しむことはないと思います。
https://www.mql5.com/ja/articles/81 を見れば良いんですが、万が一このページが消されたり見れなくなったときに困るのでバックアップとして…
また、MQL5のバージョンアップで古い内容もあるので過信しないでください。
3. 前もって定義されている変数
| MQL4 | MQL5 | 内容 |
|---|---|---|
double Ask |
MqlTick last_tick; SymbolInfoTick(_Symbol,last_tick); double Ask=last_tick.ask; //MQL5ではAskがないので、こんなことをしないといけません。 |
Ask 現在のシンボルについてすでにわかっている直近のask価格 SymbolInfoTick |
int Bars |
int Bars=Bars(_Symbol,_Period); |
Bars 現在チャート内のバー数 Bars |
double Bid |
MqlTick last_tick; SymbolInfoTick(_Symbol,last_tick); double Bid=last_tick.bid; |
Bid 現在のシンボルについてすでにわかっている直近のbid価格 SymbolInfoTick |
double Close[] |
double Close[]; int count; // number of elements to copy ArraySetAsSeries(Close,true); CopyClose(_Symbol,_Period,0,count,Close); |
Close 現在チャートの各バーについての終値を含む直列配列 CopyClose, ArraySetAsSeries |
int Digits |
int Digits=_Digits; |
Digits 現在シンボル価格にかかわる小数点以下の桁数 _Digits |
double High[] |
double High[]; int count; // number of elements to copy ArraySetAsSeries(High,true); CopyHigh(_Symbol,_Period,0,count,High); |
High 現在チャートの各バーについて高値を含む直列配列 CopyHigh, ArraySetAsSeries |
double Low[] |
double Low[]; int count; // number of elements to copy ArraySetAsSeries(Low,true); CopyLow(_Symbol,_Period,0,count,Low); |
Low 現在チャートの各バーについて安値を含む直列配列 CopyLow, ArraySetAsSeries |
double Open[] |
double Open[]; int count; // number of elements to copy ArraySetAsSeries(Open,true); CopyOpen(_Symbol,_Period,0,count,Open); |
Open 現在チャートの各バーについて始値を含む直列配列 CopyOpen, ArraySetAsSeries |
double Point |
double Point=_Point; |
Point クオート通貨における現在シンボルのポイント値 _Point |
datetime Time[] |
datetime Time[]; int count; // number of elements to copy ArraySetAsSeries(Time,true); CopyTime(_Symbol,_Period,0,count,Time); |
Time 現在チャートの各バーにかかわる開始時刻を含む直列配列 日中の表示時間のようなデータ。1970年1月1日零時から経過した時間の秒表示。 CopyTime, ArraySetAsSeries |
double Volume[] |
long Volume[]; int count; // number of elements to copy ArraySetAsSeries(Volume,true); CopyTickVolume(_Symbol,_Period,0,count,Volume); |
Volume 現在チャートの各バーについてのティック量を含む直列配列 CopyTickVolume, ArraySetAsSeries |
4. アカウント情報
| MQL4 | MQL5 | 内容 |
|---|---|---|
double AccountBalance() |
double AccountInfoDouble(ACCOUNT_BALANCE) |
AccountBalance 現在アカウントのバランス値を返します。(アカウントの金額) AccountInfoDouble |
double AccountCredit() |
double AccountInfoDouble(ACCOUNT_CREDIT) |
AccountCredit 現在アカウントのクレジット値を返します。AccountInfoDouble |
string AccountCompany() |
string AccountInfoString(ACCOUNT_COMPANY) |
AccountCompany 現在アカウントが登録されている仲介会社名を返します。AccountInfoString |
string AccountCurrency() |
string AccountInfoString(ACCOUNT_CURRENCY) |
AccountCurrency 現在アカウントの通貨名を返します。AccountInfoString |
double AccountEquity() |
double AccountInfoDouble(ACCOUNT_EQUITY) |
AccountEquity 現在アカウントの同等値を返します。純資産計算はトレーディングサーバーの設定に依存します。 AccountInfoDouble |
double AccountFreeMargin() |
double AccountInfoDouble(ACCOUNT_FREEMARGIN) |
AccountFreeMargin 現在アカウントのフリーマージン値を返します。AccountInfoDouble |
double AccountFreeMarginCheck(string symbol, int cmd, double volume) |
– | AccountFreeMarginCheck 現在アカウントの現在価格で指定したポジションがオープンになってから残っているフリーマージン値を返します。 |
double AccountFreeMarginMode() |
– | AccountFreeMarginMode 現在アカウントに許可されているオープンポジションののフリーマージン計算モード |
int AccountLeverage() |
int AccountInfoInteger(ACCOUNT_LEVERAGE) |
AccountLeverage 現在アカウントのレバレッジを返します。AccountInfoInteger |
double AccountMargin() |
double AccountInfoDouble(ACCOUNT_MARGIN) |
AccountMargin 現在アカウントのマージン値を返します。AccountInfoDouble |
string AccountName() |
string AccountInfoString(ACCOUNT_NAME) |
AccountName 現在アカウント名を返します。AccountInfoString |
int AccountNumber() |
int AccountInfoInteger(ACCOUNT_LOGIN) |
AccountNumber 現在アカウント数を返します。AccountInfoInteger |
double AccountProfit() |
double AccountInfoDouble(ACCOUNT_PROFIT) |
AccountProfit 現在アカウントのプロフィット値を返します。AccountInfoDouble |
string AccountServer() |
string AccountInfoString(ACCOUNT_SERVER) |
AccountServer 接続サーバー名を返します。AccountInfoString |
int AccountStopoutLevel() |
double AccountInfoDouble(ACCOUNT_MARGIN_SO_SO) |
AccountStopoutLevel ストップアウトレベル値を返します。AccountInfoDouble |
int AccountStopoutMode() |
int AccountInfoInteger(ACCOUNT_MARGIN_SO_MODE) |
AccountStopoutMode ストップアウトレベルの計算モードを返します。AccountInfoInteger |
5. 配列関数
| MQL4 | MQL5 | 内容 |
|---|---|---|
int ArrayBsearch(double array[], double value, int count=WHOLE_ARRAY, int start=0, int direction=MODE_ASCEND) |
int ArrayBsearch(double array[], double searched_value ) |
ArrayBsearch 関数は一次元数値配列の指定値を検索します。 ArrayBsearch |
int ArrayCopy(object&dest[], object source[], int start_dest=0, int start_source=0, int count=WHOLE_ARRAY) |
int ArrayCopy(void dst_array[], void src_array[], int dst_start=0, int src_start=0, int cnt=WHOLE_ARRAY ) |
ArrayCopy 配列を別の配列にコピーします。コピーする配列は同じタイプのものである必要があります。しかし、次のタイプの配列は同じタイプのものとしてコピーすることができます。double[]、int[]、datetime[]、color[]、bool[] 。コピーしたエレメント量を返します。ArrayCopy |
int ArrayCopyRates(double&dest_array[], string symbol=NULL, int timeframe=0) |
– | ArrayCopyRates 現在チャートバーのデータを二次元配列であるRateInfo[][6]タイプにコピーし、コピーされたバー量、またはコピー失敗の場合は1を返します。 |
int ArrayCopySeries(double&array[], int series_index, string symbol=NULL, int timeframe=0) |
int ArrayCopySeriesMQL4(double &array[],
int series_index,
string symbol=NULL,
int tf=0)
{
ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
int count=Bars(symbol,timeframe);
switch(series_index)
{
case MODE_OPEN:
return(CopyOpen(symbol,timeframe,0,count,array));
case MODE_LOW:
return(CopyLow(symbol,timeframe,0,count,array));
case MODE_HIGH:
return(CopyHigh(symbol,timeframe,0,count,array));
case MODE_CLOSE:
return(CopyClose(symbol,timeframe,0,count,array));
default: return(0);
}
return(0);
}
|
ArrayCopySeries 時系列配列をカスタム配列にコピーし、コピー済みエレメント数を返します。 CopyOpen, CopyLow, CopyHigh, CopyClose, Bars |
int ArrayDimension( object array[]) |
– | ArrayDimension 複数次元配列ランクを返します。 |
bool ArrayGetAsSeries( object array[]) |
bool ArrayGetAsSeries(void array) |
ArrayGetAsSeries 配列が時系列配列として作成されるとTRUEを返します。(配列エレメントは最後から最初にインデックスされます。)それ以外はFALSEを返します。 ArrayGetAsSeries |
int ArrayInitialize(double &array[], double value) |
int ArrayInitializeMQL4(double &array[],
double value)
{
ArrayInitialize(array,value);
return(ArraySize(array));
}
|
ArrayInitialize 数字配列のエレメントをすべて同じ値に設定します。初期化したエレメント数を返します。ArrayInitialize, ArraySize |
bool ArrayIsSeries( object array[]) |
bool ArrayIsSeries(void array[]) |
ArrayIsSeries 確認された配列が時系列配列として作成されるとTRUEを返します。(Time[]、Open[]、Close[]、High[]、Low[]、 Volume[])それ以外はFALSEを返します。 ArrayIsSeries |
int ArrayMaximum(double array[], int count=WHOLE_ARRAY, int start=0) |
int ArrayMaximumMQL4(double &array[],
int count=WHOLE_ARRAY,
int start=0)
{
return(ArrayMaximum(array,start,count));
}
|
ArrayMaximum 高値のエレメントを検索します。関数は配列内でのこの最大エレメントの位置を返します。ArrayMaximum |
int ArrayMinimum(double array[], int count=WHOLE_ARRAY, int start=0) |
int ArrayMinimumMQL4(double &array[],
int count=WHOLE_ARRAY,
int start=0)
{
return(ArrayMinimum(array,start,count));
}
|
ArrayMinimum 最小値のエレメントを検索します。関数は配列内でのこの最小エレメントの位置を返します。ArrayMinimum |
int ArrayRange(object array[], int range_index) |
int ArrayRange(void array[], int rank_index ) |
ArrayRange 配列に与えられたディメンションのエレメント数を返します。ArrayRange |
int ArrayResize(object &array[], int new_size) |
int ArrayResize(void array[], int new_size, int allocated_size=0 ) |
ArrayResize 最初のディメンションに新規サイズを設定します。 ArrayResize |
bool ArraySetAsSeries(double &array[], bool set) |
bool ArraySetAsSeries(void array[], bool set ) |
ArraySetAsSeries 配列に与えられたディメンションのエレメント数を返します。インデックの基本はゼロなので、ディメンションのサイズは最大インデックスより1大きくなっています。 ArraySetAsSeries |
int ArraySize( object array[]) |
int ArraySize(void array[]) |
ArraySize 配列に含まれるエレメント数を返します。ArraySize |
int ArraySort(double &array[], int count=WHOLE_ARRAY, int start=0, int sort_dir=MODE_ASCEND) |
int ArraySortMQL4(double &array[],
int count=WHOLE_ARRAY,
int start=0,
int sort_dir=MODE_ASCEND)
{
switch(sort_dir)
{
case MODE_ASCEND:
ArraySetAsSeries(array,true);
case MODE_DESCEND:
ArraySetAsSeries(array,false);
default: ArraySetAsSeries(array,true);
}
ArraySort(array);
return(0);
}
|
ArraySort 最初のディメンションで数値配列をソートします。直列配列はArraySort()によるソートはされません。 ArraySort, ArraySetAsSeries |
6. チェック
| MQL4 | MQL5 | 内容 |
|---|---|---|
int GetLastError() |
int GetLastError() |
GetLastError 関数は最後に起こったエラーを返します。そして、サイトのエラーコードが保存されている特殊なlast_error変数の値はゼロ化されます。 GetLastError |
bool IsConnected() |
bool TerminalInfoInteger(TERMINAL_CONNECTED) |
IsConnected 関数はクライアント端末とデータ供給を行うサーバー間の主要な接続の状態を返します。. サーバーとの接続がうまく確率されるとTRUEを返します。それ以外はFALSEを返します。 TerminalInfoInteger |
bool IsDemo() |
bool IsDemoMQL4()
{
if(AccountInfoInteger(ACCOUNT_TRADE_MODE)==ACCOUNT_TRADE_MODE_DEMO)
return(true);
else
return(false);
}
|
IsDemo エキスパートがデモアカウントで実行されるとTRUEを返します。それ以外はFALSEを返します。 |
bool IsDllsAllowed() |
bool TerminalInfoInteger(TERMINAL_DLLS_ALLOWED) |
IsDllsAllowed DLL関数呼び出しがExpert Advisorに許可されているとTRUEを返します。それ以外はFALSEを返します。 TerminalInfoInteger |
bool IsExpertEnabled() |
bool AccountInfoInteger(ACCOUNT_TRADE_EXPERT) |
IsExpertEnabled Expert Advisorsがクライアント端末で有効であればTRUEを返します。それ以外はFALSEを返します。 AccountInfoInteger |
bool IsLibrariesAllowed() |
bool MQLInfoInteger(MQL5_DLLS_ALLOWED) |
IsLibrariesAllowed Expert Advisor がライブラリ関数を呼ぶことができるとTRUEを返します。それ以外はFALSEを返します。 MQLInfoInteger |
bool IsOptimization() |
bool MQLInfoInteger(MQL5_OPTIMIZATION) |
IsOptimization Expert Advisorsがクストラテジーテスタ最適化モードで実行されているとTRUEを返します。それ以外はFALSEを返します。 MQLInfoInteger |
bool IsStopped() |
bool IsStopped() |
IsStopped プログラム(Expert Advisorsまたはスクリプト)が処理停止を命じられているとTRUEを返します。それ以外はFALSEを返します。 IsStopped |
bool IsTesting() |
bool MQLInfoInteger(MQL5_TESTING) |
IsTesting Expert Advisorsがテストモードで実行されているとTRUEを返します。それ以外はFALSEを返します。 MQLInfoInteger |
bool IsTradeAllowed() |
bool MQLInfoInteger(MQL5_TRADE_ALLOWED) |
IsTradeAllowed Expert Advisorsでのトレードが許可されていてトレードのスレッドが満たされていなければTRUEを返します。それ以外はFALSEを返します。 MQLInfoInteger |
bool IsTradeContextBusy() |
– | IsTradeContextBusy トレードのスレッドが他のExpert Advisorで使用されているとTRUEを返します。それ以外はFALSEを返します。<br2/> |
bool IsVisualMode() |
bool MQLInfoInteger(MQL5_VISUAL_MODE) |
IsVisualMode Expert Advisorsが『ビジュアルモード』ボタンでテストされているとTRUEを返します。それ以外はFALSEを返します。 MQLInfoInteger |
int UninitializeReason() |
int UninitializeReason() |
UninitializeReason Expert Advisors、カスタムインディケータ、スクリプトに対して初期化されない理由のコードを返します。 UninitializeReason |
7. クライアント端末
| MQL4 | MQL5 | 内容 |
|---|---|---|
string TerminalCompany() |
string TerminalInfoString(TERMINAL_COMPANY) |
TerminalCompany クライアント端末を所有する会社名を返します。 TerminalInfoString |
string TerminalName() |
string TerminalInfoString(TERMINAL_NAME) |
TerminalName クライアント端末名を返します。TerminalInfoString |
string TerminalPath() |
string TerminalInfoString(TERMINAL_PATH) |
TerminalPath クライアント端末が実装されているディレクトリを返します。 TerminalInfoString |
8. 共通関数
| MQL4 | MQL5 | 内容 |
|---|---|---|
void Alert(...) |
void Alert(argument,...) |
Alert ユーザー定義データを含むダイアログボックスを表示します。パラメータタイプは問いません。 Alert |
void Comment(...) |
void Comment(argument,...) |
Comment 関数は、ユーザーにより定義されたコメントをチャートの左上隅に表示します。 Comment |
int GetTickCount() |
uint GetTickCount() |
GetTickCount GetTickCount()関数がシステム起動時より経過しているミリ秒の数字を取得します。 GetTickCount |
double MarketInfo(string symbol, int type) |
double MarketInfoMQL4(string symbol,
int type)
{
switch(type)
{
case MODE_LOW:
return(SymbolInfoDouble(symbol,SYMBOL_LASTLOW));
case MODE_HIGH:
return(SymbolInfoDouble(symbol,SYMBOL_LASTHIGH));
case MODE_TIME:
return(SymbolInfoInteger(symbol,SYMBOL_TIME));
case MODE_BID:
return(Bid);
case MODE_ASK:
return(Ask);
case MODE_POINT:
return(SymbolInfoDouble(symbol,SYMBOL_POINT));
case MODE_DIGITS:
return(SymbolInfoInteger(symbol,SYMBOL_DIGITS));
case MODE_SPREAD:
return(SymbolInfoInteger(symbol,SYMBOL_SPREAD));
case MODE_STOPLEVEL:
return(SymbolInfoInteger(symbol,SYMBOL_TRADE_STOPS_LEVEL));
case MODE_LOTSIZE:
return(SymbolInfoDouble(symbol,SYMBOL_TRADE_CONTRACT_SIZE));
case MODE_TICKVALUE:
return(SymbolInfoDouble(symbol,SYMBOL_TRADE_TICK_VALUE));
case MODE_TICKSIZE:
return(SymbolInfoDouble(symbol,SYMBOL_TRADE_TICK_SIZE));
case MODE_SWAPLONG:
return(SymbolInfoDouble(symbol,SYMBOL_SWAP_LONG));
case MODE_SWAPSHORT:
return(SymbolInfoDouble(symbol,SYMBOL_SWAP_SHORT));
case MODE_STARTING:
return(0);
case MODE_EXPIRATION:
return(0);
case MODE_TRADEALLOWED:
return(0);
case MODE_MINLOT:
return(SymbolInfoDouble(symbol,SYMBOL_VOLUME_MIN));
case MODE_LOTSTEP:
return(SymbolInfoDouble(symbol,SYMBOL_VOLUME_STEP));
case MODE_MAXLOT:
return(SymbolInfoDouble(symbol,SYMBOL_VOLUME_MAX));
case MODE_SWAPTYPE:
return(SymbolInfoInteger(symbol,SYMBOL_SWAP_MODE));
case MODE_PROFITCALCMODE:
return(SymbolInfoInteger(symbol,SYMBOL_TRADE_CALC_MODE));
case MODE_MARGINCALCMODE:
return(0);
case MODE_MARGININIT:
return(0);
case MODE_MARGINMAINTENANCE:
return(0);
case MODE_MARGINHEDGED:
return(0);
case MODE_MARGINREQUIRED:
return(0);
case MODE_FREEZELEVEL:
return(SymbolInfoInteger(symbol,SYMBOL_TRADE_FREEZE_LEVEL));
default: return(0);
}
return(0);
}
|
MarketInfo 気配値表示ウィンドウに挙がっている様々なセキュリティデータを返します。 SymbolInfoInteger, SymbolInfoDouble, Bid, Ask |
int MessageBox(string text=NULL, string caption=NULL, int flags=EMPTY) |
int MessageBox(string text, string caption=NULL, int flags=0) |
MessageBox MessageBox関数はメッセージボックスを作成、表示、操作します。 MessageBox |
void PlaySound(string filename) |
bool PlaySound(string filename) |
PlaySound 関数はサウンドファイルを鳴らします。 PlaySound |
void Print(...) |
void Print(argument,...) |
Print エキスパートのログにメッセージを印刷します。 |
bool SendFTP(string filename, string ftp_path=NULL) |
bool SendFTP(string filename, string ftp_path=NULL) |
SendFTP ツール->オプション->パブリッシャのタブに設定されたFTPサーバーにファイルを送信します。送信に失敗したらFALSEを返します。 SendFTP |
void SendMail(string subject, string some_text) |
bool SendMail(string subject, string some_text) |
SendMail ツール->オプション->Eメールのタブに設定されたe-mailにメッセージを送信します。 SendMail |
void Sleep(int milliseconds) |
void Sleep(int milliseconds) |
Sleep Sleep()関数は指定された時間現在のエキスパートの実行を保留にします。 Sleep |
9. 変換関数
| MQL4 | MQL5 | 内容 |
|---|---|---|
string CharToStr(int char_code) |
string CharToString(int char_code) |
CharToStr シンボルコードを1文字ストリングに変換します。 CharToString |
string DoubleToStr(double value, int digits) |
string DoubleToString(double value, int digits=8) |
DoubleToStr 指定のプレシジョンフォーマットに変換された指定の数値を持つテキストストリングを返します。 DoubleToString |
double NormalizeDouble(double value, int digits) |
double NormalizeDouble(double value, int digits) |
NormalizeDouble 浮動小数値を与えられた精度に四捨五入します。ダブルタイプの正規化数値を返します。 NormalizeDouble |
double StrToDouble(string value) |
double StringToDouble(string value) |
StrToDouble 数字に表されたストリングをダブルタイプに変換します。(浮動小数点を伴う倍精度フォーマット) StringToDouble |
int StrToInteger(string value) |
long StringToInteger(string value) |
StrToInteger 値文字表記を含むストリングをint (整数)タイプに変換します。 StringToInteger |
datetime StrToTime(string value) |
datetime StringToTime(string value) |
StrToTime “yyyy.mm.dd hh:mi”フォーマットのストリングを日時タイプ(1970年1月1日零時以降に経過した秒数) に変換します。 StringToTime |
string TimeToStr(datetime value, int mode=TIME_DATE|TIME_MINUTES) |
string TimeToString(datetime value, int mode=TIME_DATE|TIME_MINUTES) |
TimeToStr 1970年1月1日零時から経過した時間の秒表示を含む値を変換します。 TimeToString |
12. ファイル関数
| MQL4 | MQL5 | 内容 |
|---|---|---|
void FileClose(int handle) |
void FileClose(int file_handle) |
FileClose FileOpen()で開かれているファイルを閉じます。 FileClose |
void FileDelete(string filename) |
bool FileDelete(string file_name int common_flag=0) |
FileDelete 指定されたファイル名を削除します。 FileDelete |
void FileFlush(int handle) |
void FileFlush(int file_handle) |
FileFlush ディスクのファイルバッファに保管されているデータをすべてフラッシュします。 FileFlush |
bool FileIsEnding(int handle) |
bool FileIsEnding(int file_handle) |
FileIsEnding ポインタがファイルの最後尾にあるとロジカルtrueを返します。それ以外はfalseを返します。 FileIsEnding |
bool FileIsLineEnding(int handle) |
bool FileIsLineEnding(int file_handle) |
FileIsLineEnding CSVファイルについてファイル ポインタがファイルの最後尾にあるとロジカルtrueを返します。それ以外はfalseを返します。 FileIsLineEnding |
int FileOpen(string filename,
int mode,
int delimiter=';')
|
int FileOpen(string ile_name,
int pen_flags,
short delimiter='\t'
uint codepage=CP_ACP)
|
FileOpen インプット/アウトプットについてファイルを開きます。開いているファイルについてファイルハンドルまたは1(関数が実行に失敗した場合)を返します。 FileOpen |
int FileOpenHistory(string filename,
int mode,
int delimiter=';')
|
– | FileOpenHistory 現在履歴ディレクトリ(terminal_directory\history\server_name)またはそのサブフォルダでファイルを開きます。開いているファイルについてファイルハンドルを返します。<br2/>関数が実行に失敗したら1を返します。<br2/> |
int FileReadArray(int handle, object &array[], int start, int count) |
uint FileReadArray(int file_handle, void array[], int start_item=0, int items_count=WHOLE_ARRAY) |
FileReadArray 指定されたエレメントの合計をバイナリファイルから配列に読み込みます。 FileReadArray |
double FileReadDouble(int handle, int size=DOUBLE_VALUE) |
double FileReadDoubleMQL4(int handle,
int size=DOUBLE_VALUE)
{
return(FileReadDouble(handle));
}
|
FileReadDouble 小数点付倍精度数を現バイナリファイルポジションから読み込みます。 FileReadDouble |
int FileReadInteger(int handle, int size=LONG_VALUE) |
int FileReadInteger(int file_handle, int size=INT_VALUE) |
FileReadInteger 関数は整数を現バイナリファイルポジションから読み込みます。 FileReadInteger |
double FileReadNumber(int handle) |
double FileReadNumber(int file_handle) |
FileReadNumber デリミタの前に、現バイナリファイルポジションから数値を読み込みます。 Only for CSV files. FileReadNumber |
string FileReadString(int handle, int length=0) |
string FileReadString(int file_handle, int size=-1) |
FileReadString Функция читает строку с текущей позиции файла. FileReadString |
bool FileSeek(int handle, int offset, int origin) |
bool FileSeekMQL4(long handle,
int offset,
ENUM_FILE_POSITION origin)
{
FileSeek(handle,offset,origin);
return(true);
}
|
FileSeek 関数はファイルポインタをはじめ、最後尾または現在ファイルポジションからオフセットでバイト表示の新規ポジションに移動します。 FileSeek |
int FileSize(int handle) |
ulong FileSize(int file_handle) |
FileSize 関数はファイルサイズをバイトで返します。 FileSize |
int FileTell(int handle) |
ulong FileTell(int file_handle) |
FileTell ファイルポインタの現在ポジションを返します。 FileTell |
int FileWrite(int handle,...) |
uint FileWrite(int file_handle,...) |
FileWrite 関数はデータを自動的に挿入されているデリミタであるCSVファイルに書き込むよう意図されています。 FileWrite |
int FileWriteArray(int handle, object array[], int start, int count) |
int FileWriteArray(int file_handle, void array[], int start_item=0, int items_count=WHOLE_ARRAY) |
FileWriteArray 関数は配列をバイナリファイルに書き込みます。 FileWriteArray |
int FileWriteDouble(int handle, double value, int size=DOUBLE_VALUE) |
uint FileWriteDouble(int file_handle, double dvalue) |
FileWriteDouble 関数は浮動小数点を含むダブル値をバイナリファイルに書き込みます。 FileWriteDouble |
int FileWriteInteger(int handle, int value, int size=LONG_VALUE) |
uint FileWriteInteger(int file_handle, int ivalue, int size=INT_VALUE) |
FileWriteInteger 関数は整数値をバイナリファイルに書き込みます。 FileWriteInteger |
int FileWriteString(int handle, string value, int size) |
uint FileWriteString(int file_handle, string svalue, int size=-1) |
FileWriteString 関数はストリングを現在ファイルポジションからバイナリファイルに書き込みます。 FileWriteString |
13. グローバル変数
| MQL4 | MQL5 | 内容 |
|---|---|---|
bool GlobalVariableCheck(string name) |
bool GlobalVariableCheck(string name) |
GlobalVariableCheck グローバル変数が存在するとTRUEを返します。それ以外はFALSEを返します。 GlobalVariableCheck |
bool GlobalVariableDel(string name) |
bool GlobalVariableDel(string name) |
GlobalVariableDel グローバル変数を削除します。GlobalVariableDel |
double GlobalVariableGet(string name) |
double GlobalVariableGet(string name) |
GlobalVariableGet 存在するグローバル変数の値を返します。エラー発生時は0を返します。 GlobalVariableGet |
string GlobalVariableName(int index) |
string GlobalVariableName(int index) |
GlobalVariableName 関数は自身のグローバル変数リストによりグローバル変数名を返します。 GlobalVariableName |
datetime GlobalVariableSet(string name, double value) |
datetime GlobalVariableSet(string name, double value) |
GlobalVariableSet グローバル変数の新規値を設定します。グローバル変数が存在しない場合は、システムは新規グローバル変数を作成します。 GlobalVariableSet |
bool GlobalVariableSetOnCondition(string name, double value, double check_value) |
bool GlobalVariableSetOnCondition(string name, double value, double check_value) |
GlobalVariableSetOnCondition 現在の値がcheck_valueに等しければ、既存のグローバル変数の新規値を設定します。 GlobalVariableSetOnCondition |
int GlobalVariablesDeleteAll(string prefix_name=NULL) |
int GlobalVariablesDeleteAll(string prefix_name=NULL datetime limit_data=0) |
GlobalVariablesDeleteAll グローバル変数を削除します。GlobalVariablesDeleteAll |
int GlobalVariablesTotal() |
int GlobalVariablesTotal() |
GlobalVariablesTotal 関数は合計のグローバル変数数を返します。GlobalVariablesTotal |
14. 数学的関数
| MQL4 | MQL5 | 内容 |
|---|---|---|
double MathAbs(double value) |
double MathAbs(double value) |
MathAbs 指定された数値の絶対値(モデュラス)を返します。 MathAbs |
double MathArccos(double x) |
double MathArccos(double val) |
MathArccos MathArccos関数は0からPi(radiansで)の範囲のxの逆余弦を返します。 MathArccos |
double MathArcsin(double x) |
double MathArcsin(double val) |
MathArcsin MathArcsin関数はPi/2からPi/2radiansの範囲のxの逆余弦を返します。 MathArcsin |
double MathArctan(double x) |
double MathArctan(double value) |
MathArctan MathArctan関数はxの逆正接を返します。 MathArctan |
double MathCeil(double x) |
double MathCeil(double val) |
MathCeil MathCeil関数はxを超えるまたはxに等しい最小整数で表される数値を返します。 MathCeil |
double MathCos(double value) |
double MathCos(double value) |
MathCos 指定された角の余弦を返します。MathCos |
double MathExp(double d) |
double MathExp(double value) |
MathExp dに累乗された値eを返します。 MathExp |
double MathFloor(double x) |
double MathFloor(double val) |
MathFloor MathFloor関数はx以下のまたはxに等しい最大整数で表される数値を返します。 MathFloor |
double MathLog(double x) |
double MathLog(double val) |
MathLog MathLog関数は実行できたらxの自然対数を返します。MathLog |
double MathMax(double value1, double value2) |
double MathMax(double value1, double value2) |
MathMax 2つの数値の大きい方を返します。 MathMax |
double MathMin(double value1, double value2) |
double MathMin(double value1, double value2) |
MathMin 2つの数値の小さい方を返します。 MathMin |
double MathMod(double value1, double value2) |
double MathMod(double value1, double value2) |
MathMod 関数は2つの数の除数の浮動小数リマインダを返します。MathMod |
double MathPow(double base, double exponent) |
double MathPow(double base, double exponent) |
MathPow 指定の乗数(指数値)に対して起こる基本式の値を返します。 MathPow |
int MathRand() |
int MathRand() |
MathRand MathRand関数は0~32767の範囲の疑似ランダム整数を返します。 MathRand |
double MathRound(double value) |
double MathRound(double value) |
MathRound 指定された数値に最も近い整数の四捨五入値を返します。 MathRound |
double MathSin(double value) |
double MathSin(double value) |
MathSin 指定された角の正弦を返します。MathSin |
double MathSqrt(double x) |
double MathSqrt(double value) |
MathSqrt MathSqrt関数はxの平方根を返します。 MathSqrt |
void MathSrand(int seed) |
void MathSrand(int seed) |
MathSrand MathSrand()関数は疑似ランダム整数を生成する開始地点を設定します。 MathSrand |
double MathTan(double x) |
double MathTan(double rad) |
MathTan MathArctan関数はxの正接を返します。 MathTan |
15. オブジェクト関数
| MQL4 | MQL5 | 内容 |
|---|---|---|
bool ObjectCreate(string name, int type, int window, datetime time1, double price1, datetime time2=0, double price2=0, datetime time3=0, double price3=0) |
bool ObjectCreateMQL4(string name,
ENUM_OBJECT type,
int window,
datetime time1,
double price1,
datetime time2=0,
double price2=0,
datetime time3=0,
double price3=0)
{
return(ObjectCreate(0,name,type,window,
time1,price1,time2,price2,time3,price3));
}
|
ObjectCreate 指定されたウィンドウに指定された名前、タイプ、初期コーディネートによりオブジェクトの作成。 ObjectCreate |
bool ObjectDelete(string name) |
bool ObjectDeleteMQL4(string name)
{
return(ObjectDelete(0,name));
}
|
ObjectDelete 指定された名前のオブジェクトを削除します。 ObjectDelete |
string ObjectDescription(string name) |
string ObjectDescriptionMQL4(string name)
{
return(ObjectGetString(0,name,OBJPROP_TEXT));
}
|
ObjectDescription オブジェクト記述を返します。 ObjectGetString |
int ObjectFind(string name) |
int ObjectFindMQL4(string name)
{
return(ObjectFind(0,name));
}
|
ObjectFind 指定された名前のオブジェクトを検索します。 ObjectFind |
double ObjectGet(string name, int prop_id) |
double ObjectGetMQL4(string name,
int index)
{
switch(index)
{
case OBJPROP_TIME1:
return(ObjectGetInteger(0,name,OBJPROP_TIME));
case OBJPROP_PRICE1:
return(ObjectGetDouble(0,name,OBJPROP_PRICE));
case OBJPROP_TIME2:
return(ObjectGetInteger(0,name,OBJPROP_TIME,1));
case OBJPROP_PRICE2:
return(ObjectGetDouble(0,name,OBJPROP_PRICE,1));
case OBJPROP_TIME3:
return(ObjectGetInteger(0,name,OBJPROP_TIME,2));
case OBJPROP_PRICE3:
return(ObjectGetDouble(0,name,OBJPROP_PRICE,2));
case OBJPROP_COLOR:
return(ObjectGetInteger(0,name,OBJPROP_COLOR));
case OBJPROP_STYLE:
return(ObjectGetInteger(0,name,OBJPROP_STYLE));
case OBJPROP_WIDTH:
return(ObjectGetInteger(0,name,OBJPROP_WIDTH));
case OBJPROP_BACK:
return(ObjectGetInteger(0,name,OBJPROP_WIDTH));
case OBJPROP_RAY:
return(ObjectGetInteger(0,name,OBJPROP_RAY_RIGHT));
case OBJPROP_ELLIPSE:
return(ObjectGetInteger(0,name,OBJPROP_ELLIPSE));
case OBJPROP_SCALE:
return(ObjectGetDouble(0,name,OBJPROP_SCALE));
case OBJPROP_ANGLE:
return(ObjectGetDouble(0,name,OBJPROP_ANGLE));
case OBJPROP_ARROWCODE:
return(ObjectGetInteger(0,name,OBJPROP_ARROWCODE));
case OBJPROP_TIMEFRAMES:
return(ObjectGetInteger(0,name,OBJPROP_TIMEFRAMES));
case OBJPROP_DEVIATION:
return(ObjectGetDouble(0,name,OBJPROP_DEVIATION));
case OBJPROP_FONTSIZE:
return(ObjectGetInteger(0,name,OBJPROP_FONTSIZE));
case OBJPROP_CORNER:
return(ObjectGetInteger(0,name,OBJPROP_CORNER));
case OBJPROP_XDISTANCE:
return(ObjectGetInteger(0,name,OBJPROP_XDISTANCE));
case OBJPROP_YDISTANCE:
return(ObjectGetInteger(0,name,OBJPROP_YDISTANCE));
case OBJPROP_FIBOLEVELS:
return(ObjectGetInteger(0,name,OBJPROP_LEVELS));
case OBJPROP_LEVELCOLOR:
return(ObjectGetInteger(0,name,OBJPROP_LEVELCOLOR));
case OBJPROP_LEVELSTYLE:
return(ObjectGetInteger(0,name,OBJPROP_LEVELSTYLE));
case OBJPROP_LEVELWIDTH:
return(ObjectGetInteger(0,name,OBJPROP_LEVELWIDTH));
}
}
|
ObjectGet 指定されたオブジェクトのプロパティ値を返します。. ObjectGetInteger, ObjectGetDouble |
string ObjectGetFiboDescription(string name, int index) |
string ObjectGetFiboDescriptionMQL4(string name,
int index)
{
return(ObjectGetString(0,name,OBJPROP_LEVELTEXT,index));
}
|
ObjectGetFiboDescription 関数はフィボナッチの数列オブジェクトのレベル記述を返します。 ObjectGetString |
int ObjectGetShiftByValue(string name, double value) |
int ObjectGetShiftByValueMQL4(string name,
double value)
{
ENUM_TIMEFRAMES timeframe=TFMigrate(PERIOD_CURRENT);
datetime Arr[];
int shift;
MqlRates mql4[];
if(ObjectGetTimeByValue(0,name,value)<0) return(-1);
CopyRates(NULL,timeframe,0,1,mql4);
if(CopyTime(NULL,timeframe,mql4[0].time,
ObjectGetTimeByValue(0,name,value),Arr)>0)
return(ArraySize(Arr)-1);
else return(-1);
}
|
ObjectGetShiftByValue 関数は与えられた価格についてのバーインデックス(現在バーに連動して移動します)を計算し結果を返します。 MqlRates, ObjectGetTimeByValue, CopyRates, CopyTime, ArraySize |
double ObjectGetValueByShift(string name, int shift) |
double ObjectGetValueByShiftMQL4(string name,
int shift)
{
ENUM_TIMEFRAMES timeframe=TFMigrate(PERIOD_CURRENT);
MqlRates mql4[];
CopyRates(NULL,timeframe,shift,1,mql4);
return(ObjectGetValueByTime(0,name,mql4[0].time,0));
}
|
ObjectGetValueByShift 関数は指定されたバー(現在バーに連動して移動します)についての価格値を計算し結果を返します。 MqlRates, CopyRates, ObjectGetValueByTime |
bool ObjectMove(string name, int point, datetime time1, double price1) |
bool ObjectMoveMQL4(string name,
int point,
datetime time1,
double price1)
{
return(ObjectMove(0,name,point,time1,price1));
}
|
ObjectMove 関数はチャートのオブジェクトコーディネートを移動します。オブジェクトはタイプによって1~3のコーディネートを持つ可能性があります。 ObjectMove |
string ObjectName(int index) |
string ObjectNameMQL4(int index)
{
return(ObjectName(0,index));
}
|
ObjectName 関数は自身のオブジェクトリストのインデックスによりオブジェクト名を返します。 ObjectName |
int ObjectsDeleteAll(int window=EMPTY, int type=EMPTY) |
int ObjectsDeleteAllMQL4(int window=EMPTY,
int type=EMPTY)
{
return(ObjectsDeleteAll(0,window,type));
}
|
ObjectsDeleteAll 指定されたタイプおよび指定されたチャートのサブウィンドウにあるオブジェクトをすべて削除します。 ObjectsDeleteAll |
bool ObjectSet(string name, int prop_id, double value) |
bool ObjectSetMQL4(string name,
int index,
double value)
{
switch(index)
{
case OBJPROP_TIME1:
ObjectSetInteger(0,name,OBJPROP_TIME,(int)value);return(true);
case OBJPROP_PRICE1:
ObjectSetDouble(0,name,OBJPROP_PRICE,value);return(true);
case OBJPROP_TIME2:
ObjectSetInteger(0,name,OBJPROP_TIME,1,(int)value);return(true);
case OBJPROP_PRICE2:
ObjectSetDouble(0,name,OBJPROP_PRICE,1,value);return(true);
case OBJPROP_TIME3:
ObjectSetInteger(0,name,OBJPROP_TIME,2,(int)value);return(true);
case OBJPROP_PRICE3:
ObjectSetDouble(0,name,OBJPROP_PRICE,2,value);return(true);
case OBJPROP_COLOR:
ObjectSetInteger(0,name,OBJPROP_COLOR,(int)value);return(true);
case OBJPROP_STYLE:
ObjectSetInteger(0,name,OBJPROP_STYLE,(int)value);return(true);
case OBJPROP_WIDTH:
ObjectSetInteger(0,name,OBJPROP_WIDTH,(int)value);return(true);
case OBJPROP_BACK:
ObjectSetInteger(0,name,OBJPROP_BACK,(int)value);return(true);
case OBJPROP_RAY:
ObjectSetInteger(0,name,OBJPROP_RAY_RIGHT,(int)value);return(true);
case OBJPROP_ELLIPSE:
ObjectSetInteger(0,name,OBJPROP_ELLIPSE,(int)value);return(true);
case OBJPROP_SCALE:
ObjectSetDouble(0,name,OBJPROP_SCALE,value);return(true);
case OBJPROP_ANGLE:
ObjectSetDouble(0,name,OBJPROP_ANGLE,value);return(true);
case OBJPROP_ARROWCODE:
ObjectSetInteger(0,name,OBJPROP_ARROWCODE,(int)value);return(true);
case OBJPROP_TIMEFRAMES:
ObjectSetInteger(0,name,OBJPROP_TIMEFRAMES,(int)value);return(true);
case OBJPROP_DEVIATION:
ObjectSetDouble(0,name,OBJPROP_DEVIATION,value);return(true);
case OBJPROP_FONTSIZE:
ObjectSetInteger(0,name,OBJPROP_FONTSIZE,(int)value);return(true);
case OBJPROP_CORNER:
ObjectSetInteger(0,name,OBJPROP_CORNER,(int)value);return(true);
case OBJPROP_XDISTANCE:
ObjectSetInteger(0,name,OBJPROP_XDISTANCE,(int)value);return(true);
case OBJPROP_YDISTANCE:
ObjectSetInteger(0,name,OBJPROP_YDISTANCE,(int)value);return(true);
case OBJPROP_FIBOLEVELS:
ObjectSetInteger(0,name,OBJPROP_LEVELS,(int)value);return(true);
case OBJPROP_LEVELCOLOR:
ObjectSetInteger(0,name,OBJPROP_LEVELCOLOR,(int)value);return(true);
case OBJPROP_LEVELSTYLE:
ObjectSetInteger(0,name,OBJPROP_LEVELSTYLE,(int)value);return(true);
case OBJPROP_LEVELWIDTH:
ObjectSetInteger(0,name,OBJPROP_LEVELWIDTH,(int)value);return(true);
default: return(false);
}
return(false);
}
|
ObjectSet 指定されたオブジェクトのプロパティ値を変更します。 ObjectSetInteger, ObjectSetDouble |
bool ObjectSetFiboDescription(string name, int index, string text) |
bool ObjectSetFiboDescriptionMQL4(string name,
int index,
string text)
{
return(ObjectSetString(0,name,OBJPROP_LEVELTEXT,index,text));
}
|
ObjectSetFiboDescription 関数は、新規記述をフィボナッチの数列オブジェクトのレベルに割り当てます。 ObjectSetString |
bool ObjectSetText(string name, string text, int font_size, string font_name=NULL, color text_color=CLR_NONE) |
bool ObjectSetTextMQL4(string name,
string text,
int font_size,
string font="",
color text_color=CLR_NONE)
{
int tmpObjType=(int)ObjectGetInteger(0,name,OBJPROP_TYPE);
if(tmpObjType!=OBJ_LABEL && tmpObjType!=OBJ_TEXT) return(false);
if(StringLen(text)>0 && font_size>0)
{
if(ObjectSetString(0,name,OBJPROP_TEXT,text)==true
&& ObjectSetInteger(0,name,OBJPROP_FONTSIZE,font_size)==true)
{
if((StringLen(font)>0)
&& ObjectSetString(0,name,OBJPROP_FONT,font)==false)
return(false);
if(text_color>-1
&& ObjectSetInteger(0,name,OBJPROP_COLOR,text_color)==false)
return(false);
return(true);
}
return(false);
}
return(false);
}
|
ObjectSetText オブジェクト記述を変更します。 ObjectGetInteger, ObjectSetString, ObjectSetInteger StringLen |
int ObjectsTotal(int type=EMPTY) |
int ObjectsTotalMQL4(int type=EMPTY,
int window=-1)
{
return(ObjectsTotal(0,window,type));
}
|
ObjectsTotal チャート内に指定されたタイプのオブジェクト合計数を返します。ObjectsTotal |
int ObjectType(string name) |
int ObjectTypeMQL4(string name)
{
return((int)ObjectGetInteger(0,name,OBJPROP_TYPE));
}
|
ObjectType 関数オブジェクトタイプ値を返します。 ObjectGetInteger |
16. ストリング関数
| MQL4 | MQL5 | 内容 |
|---|---|---|
string StringConcatenate(...) |
int StringConcatenate(string &string_var, void argument1 void argument2 ...) |
StringConcatenate 渡されるデータのストリングを形成し、それを返します。 StringConcatenate |
int StringFind(string text, string matched_text, int start=0) |
int StringFind(string string_value, string match_substring, int start_pos=0) |
StringFind Search for a substring. 検索されるサブストリングが始まるストリングの位置を返します。ストリングが見つからない場合は1を返します。 StringFind |
int StringGetChar(string text, int pos) |
ushort StringGetCharacter(string string_value, int pos) |
StringGetChar ストリング内の指定されたポジションから文字(コード)を返します。 StringGetCharacter |
int StringLen(string text) |
int StringLen(string string_value) |
StringLen ストリング内の文字数を返します。StringLen |
string StringSetChar(string text, int pos, int value) |
bool StringSetCharacter(string &string_var, int pos, ushort character) |
StringSetChar 指定されたポジションで変更された文字のストリングコピーを返します。 StringSetCharacter |
string StringSubstr(string text, int start, int length=0) |
string StringSubstr(string string_value, int start_pos, int length=-1) |
StringSubstr 与えられたポジションから開始するテキストストリングからサブストリングを抽出します。 StringSubstr |
string StringTrimLeft(string text) |
int StringTrimLeft(string& string_var) |
StringTrimLeft 関数はストリングの左部分の行フィード文字、スペース、タブを切り捨てます。 StringTrimLeft |
string StringTrimRight(string text) |
int StringTrimRight(string& string_var) |
StringTrimRight 関数はストリングの右部分の行フィード文字、スペース、タブを切り捨てます。 StringTrimRight |
19. チャート処理
| MQL4 | MQL5 | 内容 |
|---|---|---|
void HideTestIndicators(bool hide) |
– | HideTestIndicators 関数はExpert Advisorに呼ばれたインディケータ非表示フラッグを設定します。 |
int Period() |
ENUM_TIMEFRAMES Period() |
Period 使用される期間(チャート時間枠)を決定する分数を返します。 Period |
bool RefreshRates() |
– | RefreshRates 定義済み変数と連続配列のデータをリフレッシュします。 |
string Symbol() |
string Symbol() |
Symbol 現在のファイナンシャルインスツルメント名を伴うテキストストリングを返します。 Symbol |
int WindowBarsPerChart() |
int ChartGetInteger(0,CHART_VISIBLE_BARS,0) |
WindowBarsPerChart チャート表示バーの数量を返します。 ChartGetInteger |
string WindowExpertName() |
string MQLInfoString(MQL5_PROGRAM_NAME) |
WindowExpertName この関数が呼ばれたMQL4プログラムに応じて、実行されたエキスパート、スクリプト、カスタムインディケータ、ライブラリ名を返します。 MQLInfoString |
int WindowFind(string name) |
int WindowFindMQL4(string name)
{
int window=-1;
if((ENUM_PROGRAM_TYPE)MQLInfoInteger(MQL5_PROGRAM_TYPE)==PROGRAM_INDICATOR)
{
window=ChartWindowFind();
}
else
{
window=ChartWindowFind(0,name);
if(window==-1) Print(__FUNCTION__+"(): Error = ",GetLastError());
}
return(window);
}
|
WindowFind 名前入りインディケータが見つかれば、関数はこの指定されたインディケータをウィンドウに返します。それ以外は1を返します。 ChartWindowFind, MQLInfoInteger |
int WindowFirstVisibleBar() |
int ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR,0) |
WindowFirstVisibleBar 関数は現チャートウィンドウにて最初の表示バー数を返します。 ChartGetInteger |
int WindowHandle(string symbol, int timeframe) |
int WindowHandleMQL4(string symbol,
int tf)
{
ENUM_TIMEFRAMES timeframe=TFMigrate(tf);
long currChart,prevChart=ChartFirst();
int i=0,limit=100;
while(i<limit)
{
currChart=ChartNext(prevChart);
if(currChart<0) break;
if(ChartSymbol(currChart)==symbol
&& ChartPeriod(currChart)==timeframe)
return((int)currChart);
prevChart=currChart;
i++;
}
return(0);
}
|
WindowHandle 指定されたチャートのシステムウィンドウハンドルを返します。 ChartFirst, ChartNext, ChartSymbol, ChartPeriod |
bool WindowIsVisible(int index) |
bool ChartGetInteger(0,CHART_WINDOW_IS_VISIBLE,index) |
WindowIsVisible チャートサブウィンドウが表示されたらTRUEを返します。それ以外はFALSEを返します。 ChartGetInteger |
int WindowOnDropped() |
int ChartWindowOnDropped() |
WindowOnDropped エキスパート、カスタムインディケータ、スクリプトがドロップされたウィンドウインデックスを返します。 ChartWindowOnDropped |
double WindowPriceMax(int index=0) |
double ChartGetDouble(0,CHART_PRICE_MAX,index) |
WindowPriceMax 現在チャート(0:メインチャートウィンドウ、インディケータのサブウィンドウは1から番号が開始されます。)の指定されたウィンドウの垂直スケール最高値を返します。 ChartGetDouble |
double WindowPriceMin(int index=0) |
double ChartGetDouble(0,CHART_PRICE_MIN,index) |
WindowPriceMin 現在チャート(0:メインチャートウィンドウ、インディケータのサブウィンドウは1から番号が開始されます。)の指定されたウィンドウの垂直スケール最小値を返します。 ChartGetDouble |
double WindowPriceOnDropped() |
double ChartPriceOnDropped() |
WindowPriceOnDropped エキスパート、スクリプトがドロップされたチャートの価格部分を返します。 ChartPriceOnDropped |
void WindowRedraw() |
void ChartRedraw(0) |
WindowRedraw 強制的に現在チャートを再ドローします。 ChartRedraw |
bool WindowScreenShot(string filename, int size_x, int size_y, int start_bar=-1, int chart_scale=-1, int chart_mode=-1) |
bool WindowScreenShotMQL4(string filename,
int size_x,
int size_y,
int start_bar=-1,
int chart_scale=-1,
int chart_mode=-1)
{
if(chart_scale>0 && chart_scale<=5)
ChartSetInteger(0,CHART_SCALE,chart_scale);
switch(chart_mode)
{
case 0: ChartSetInteger(0,CHART_MODE,CHART_BARS);
case 1: ChartSetInteger(0,CHART_MODE,CHART_CANDLES);
case 2: ChartSetInteger(0,CHART_MODE,CHART_LINE);
}
if(start_bar<0)
return(ChartScreenShot(0,filename,size_x,size_y,ALIGN_RIGHT));
else
return(ChartScreenShot(0,filename,size_x,size_y,ALIGN_LEFT));
}
|
WindowScreenShot 現在チャート画面をGIFファイルとして保存します。 ChartSetInteger, ChartScreenShot |
datetime WindowTimeOnDropped() |
datetime ChartTimeOnDropped() |
WindowTimeOnDropped エキスパート、スクリプトがドロップされたチャートの時刻部分を返します。 ChartTimeOnDropped |
int WindowsTotal() |
int ChartGetInteger(0,CHART_WINDOWS_TOTAL) |
WindowsTotal チャート(メインチャート含む)上の指数ウィンドウ数を返します。 ChartGetInteger |
int WindowXOnDropped() |
int ChartXOnDropped() |
WindowXOnDropped エキスパートまたはスクリプトがドロップされたチャートウィンドウのクライアント領域ポイントについてのX軸値をピクセルで返します。 ChartXOnDropped |
int WindowYOnDropped() |
int ChartYOnDropped() |
WindowYOnDropped エキスパートまたはスクリプトがドロップされたチャートウィンドウのクライアント領域ポイントについてのY軸値をピクセルで返します。 ChartYOnDropped |
- PREV
- FXトレーダーがたどる道[FXあるある]
- NEXT
- MT4EA USDJPY M30
関連記事
-
-
初心者向けMT5の使い方 インストールからバックテスト
MT5はMT4に慣れ親しんだトレーダーであれば比較的簡単に移行することができるトレードプラットフォー
-
-
保護中: 単体のEAコードでMT4/MT5両方でコンパイル “条件付きコンパイル”
MT4,MT5のEAの統合にはいろいろな方法があります。 手でMQL4からMQL5にコードを変換す
-
-
日経アメリカ株式市場アービトラージ プログラミングで説検証
よく「日本の株式市場は前日のニューヨーク市場の後追いをする」と言われています。実際に裁量トレードする
-
-
MQL5特有の仕様 ディール/オーダー/ポジション/ヘッジ/ネッティング
MQL4プログラマがMQL5を始める前に知らないと失敗すること MQL4はできるけどMQL5と言語
-
-
株価指数両建て裁定取引のやり方と検証
日経225やダウ、SP500のチャートには強い相関関係があります。かつては「日経はニューヨークの後追

