死在黑名单 发表于 2022-5-21 07:19:42

MQL4/MQL5 函数变化对照表(mt5/mt4对比)

MQL4/MQL5 函数变化对照表

MQL4
MQL5
Ask
SymbolInfoDouble(Symbol(),SYMBOL_ASK);
Bid
SymbolInfoDouble(Symbol(),SYMBOL_BID);




Bars
Bars(Symbol(),PERIOD_CURRENT);




Digits
_Digits or Digits()
Point
_Point or Point()




Close[]
High[]
Low[]
Open[]
Time[]
Volume[]
int OnCalculate(const int rates_total,
const int prev_calculated,
const datetime &Time[],
const double &Open[],
const double &High[],
const double &Low[],
const double &Close[],
const long &Volume[],
const long &Real_Volume[],
const int &Spread[])
{
ArraySetAsSeries(Open,true);
ArraySetAsSeries(High,true);
ArraySetAsSeries(Low,true);
ArraySetAsSeries(Close,true);
ArraySetAsSeries(Time,true);
ArraySetAsSeries(Volume,true);
ArraySetAsSeries(Spread,true);


in EA/script
use CopyClose,CopyHigh,CopyLow,CopyOpen,CopyTime,
CopyTickVolume




AccountBalance()
AccountInfoDouble(ACCOUNT_BALANCE);
AccountCredit()
AccountInfoDouble(ACCOUNT_CREDIT);
AccountCompany()
AccountInfoString(ACCOUNT_COMPANY);
AccountCurrency()
AccountInfoString(ACCOUNT_CURRENCY);
AccountEquity()
AccountInfoDouble(ACCOUNT_EQUITY);
AccountFreeMargin()
AccountInfoDouble(ACCOUNT_FREEMARGIN);
AccountFreeMarginCheck()
read AccountFreeMarginCheck
AccountFreeMarginMode()
???
AccountLeverage()
AccountInfoInteger(ACCOUNT_LEVERAGE);
AccountMargin()
AccountInfoDouble(ACCOUNT_MARGIN);
AccountName()
AccountInfoString(ACCOUNT_NAME);
AccountNumber()
AccountInfoInteger(ACCOUNT_LOGIN);
AccountProfit()
AccountInfoDouble(ACCOUNT_PROFIT);
AccountServer()
AccountInfoString(ACCOUNT_SERVER);
AccountStopoutLevel()
AccountInfoDouble(ACCOUNT_MARGIN_SO_SO);
AccountStopoutMode()
AccountInfoInteger(ACCOUNT_MARGIN_SO_MODE);




ArrayBsearch()
read ArrayBsearch
ArrayCopyRates()
read CopyRates
ArrayCopySeries()
read CopyClose/CopyHigh/CopyLow/CopyOpen/CopyTickVolume/CopyTime
ArrayDimension()
????
ArraySort()
// MQL4 ArraySort(SortInt, 0, 0, MODE_ASCEND);
ArraySort(SortInt);

//MQL4 ArraySort(SortInt, 0, 0, MODE_DESCEND);
ArraySetAsSeries(SortInt,true);
ArraySort(SortInt);




GetLastError()
you need to call ResetLastError() before use.
IsConnected()
(bool)TerminalInfoInteger(TERMINAL_CONNECTED)??
IsDemo()
bool IsDemo(){
ENUM_ACCOUNT_TRADE_MODE tradeMode=(ENUM_ACCOUNT_TRADE_MODE)AccountInfoInteger(ACCOUNT_TRADE_MODE);
if(tradeMode == ACCOUNT_TRADE_MODE_DEMO) return(true);
// tradeMode is ACCOUNT_TRADE_MODE_CONTEST or ACCOUNT_TRADE_MODE_REAL
return(false);
}
IsDllsAllowed()
IsLibrariesAllowed()
(bool)MQL5InfoInteger(MQL5_DLLS_ALLOWED)???
IsOptimization()
(bool)MQL5InfoInteger(MQL5_OPTIMIZATION)???
IsTesting()
(bool)MQL5InfoInteger(MQL5_TESTING)???
IsTradeAllowed()
(bool)MQL5InfoInteger(MQL5_TRADE_ALLOWED) &&
(bool)TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)??
IsExpertEnabled()
(bool)TerminalInfoInteger(TERMINAL_EXPERTS_ENABLED)??
IsTradeContextBusy()
LOST????
IsVisualMode()
(bool)MQL5InfoInteger(MQL5_VISUAL_MODE)???
UninitializeReason()
_UninitReason
TerminalCompany()
TerminalInfoString(TERMINAL_COMPANY)
TerminalName()
TerminalInfoString(TERMINAL_NAME)
TerminalPath()
TerminalInfoString(TERMINAL_PATH)
TerminalInfoString(TERMINAL_DATA_PATH)
TerminalInfoString(TERMINAL_COMMONDATA_PATH)




Alert()
LOST????
MarketInfo()
read SymbolInfoInteger/Double/String




CharToStr()
CharToString()
DoubleToStr()
DoubleToString()
StrToDouble()
StringToDouble()
StrToInteger()
StringToInteger()
StrToTime()
StringToTime()
TimeToStr()
TimeToString()




IndicatorBuffers()
#property indicator_buffers 7
#property indicator_plots 7
IndicatorCounted()
const int prev_calculated
IndicatorDigits()
IndicatorSetInteger(INDICATOR_DIGITS,_Digits);
IndicatorShortName()
IndicatorSetString(INDICATOR_SHORTNAME,name);
SetIndexArrow()
PlotIndexSetInteger(0,PLOT_ARROW,213);
SetIndexBuffer()
SetIndexBuffer(0,MABuffer,INDICATOR_DATA); // or INDICATOR_CALCULATIONS
SetIndexDrawBegin()
PlotIndexSetInteger(0,PLOT_DRAW_BEGIN,KPeriod);
SetIndexEmptyValue()
PlotIndexSetDouble(0,PLOT_EMPTY_VALUE,0.0);
SetIndexLabel()
PlotIndexSetString(0,PLOT_LABEL,"Moving Average");
SetIndexShift()
PlotIndexSetInteger(0,PLOT_SHIFT,26);
SetIndexStyle()
PlotIndexSetInteger(0,PLOT_LINE_STYLE,STYLE_SOLID);
PlotIndexSetInteger(0,PLOT_LINE_WIDTH,2);
PlotIndexSetInteger(0,PLOT_LINE_COLOR,DeepPink);
SetLevelStyle()
IndicatorSetInteger(INDICATOR_LEVELSTYLE,STYLE_DOT);
SetLevelValue()
IndicatorSetInteger(INDICATOR_LEVELS,2);
IndicatorSetDouble(INDICATOR_LEVELVALUE,0,20);
IndicatorSetDouble(INDICATOR_LEVELVALUE,1,80);




Day()
DayOfWeek()
DayOfYear()
Hour()
Minute()
Month()
Seconds()
Year()
MqlDateTime tm;
TimeCurrent(tm);
int Day=tm.day;
int DayOfWeek=tm.day_of_week;
int DayOfYear=tm.day_of_year;
int Hour=tm.hour;
int Minute=tm.min;
int Seconds=tm.sec;
int Year=tm.year;




TimeDay()
TimeDayOfWeek()
TimeDayOfYear()
TimeHour()
TimeMinute()
TimeMonth()
TimeSeconds()
TimeYear()
datetime TargetTime = D'2003.12.31';
MqlDateTime tm;
TimeToStruct(TargetTime,tm);
int Day=tm.day;
int DayOfWeek=tm.day_of_week;
int DayOfYear=tm.day_of_year;
int Hour=tm.hour;
int Minute=tm.min;
int Seconds=tm.sec;
int Year=tm.year;




FileOpenHistory()
LOST????
FileSeek()
read FileSeek




ObjectCreate()
ObjectCreate(0,…
ObjectDelete()
ObjectDelete(0,name);
ObjectDescription()
ObjectGetString(0,name,OBJPROP_TEXT);
ObjectFind()
ObjectFind(0,name);
ObjectGet()
read ObjectGetIngeger/Double/String
ObjectGetFiboDescription()
ObjectGetString(0,name,OBJPROP_LEVELTEXT,int level);
ObjectGetShiftByValue()
ObjectGetTimeByValue(0,string name,double value,int line_id);
ObjectGetValueByShift()
ObjectGetValueByTime(0,string name,datetime time, int line_id);
ObjectMove()
ObjectMove(0, string name, int point, datetime time1, double price1)
ObjectName()
ObjectName(0,int pos,int nwin=-1,int type=-1);
ObjectsDeleteAll()
ObjectsDeleteAll(0,int window=EMPTY, int type=EMPTY)
ObjectSet()
read ObjectSetIngeger/Double/String
ObjectSetFiboDescription()
ObjectSetString(0,string name,OBJPROP_LEVELTEXT,int level,string newstring);
ObjectSetText()
ObjectSetString(0,string name,OBJPROP_LEVELTEXT,string newstring);
ObjectsTotal()
ObjectsTotal(0,int nwin=-1,int type=-1);
ObjectType()
ObjectGetInteger(0,name,OBJPROP_TYPE);




StringConcatenate()
int StringConcatenate(string& string_var,void arg1,void arg2....);
StringGetChar()
StringGetCharacter()
StringSetChar()
StringSetCharacter()




iBars()
Bars()
iBarShift()
iClose()
iHigh()
iHighest()
iLow()
iLowest()
iOpen()
iTime()
iVolume()
use mt4timeseries.mqh ()
iTime()
datetime iTime(string symbol,ENUM_TIMEFRAMES timeframe,int index)
{
datetime Times[];
datetime tm=0;
ArraySetAsSeries(Times,true);
int copied=CopyTime(symbol,timeframe,0,Bars(symbol,timeframe),Times);
if(copied>0 && index<copied) tm=Times;
return(tm);
}// My Simple code..




HideTestIndicators()
LOST????
Period()
PeriodSeconds(Period())/60
RefreshRates()
LOST????
WindowBarsPerChart()
ChartGetInteger(0,CHART_VISIBLE_BARS)
WindowExpertName()
MQL5InfoString(MQL5_PROGRAM_NAME)???
WindowFind()


WindowFirstVisibleBar()
ChartGetInteger(0,CHART_FIRST_VISIBLE_BAR)
WindowHandle()
*ChartGetInteger(0,CHART_WINDOW_HANDLE)
WindowIsVisible()
ChartGetInteger(0,CHART_WINDOW_IS_VISIBLE)
WindowOnDropped()
ChartWindowOnDropped()
WindowPriceMax()
ChartGetDouble(0,CHART_PRICE_MIN,0);
WindowPriceMin()
ChartGetDouble(0,CHART_PRICE_MAX,0);
WindowPriceOnDropped()
ChartPriceOnDropped()
WindowRedraw()
ChartRedraw()
WindowScreenShot()
read ChartScreenShot
WindowTimeOnDropped()
ChartTimeOnDropped()
WindowsTotal()
ChartGetInteger(0,CHART_WINDOWS_TOTAL)
WindowXOnDropped()
ChartXOnDropped()
WindowYOnDropped()
ChartYOnDropped()


声明:以上内容来源于网络,如有侵权请联系我们(123@shiyan.com)删除!
页: [1]
查看完整版本: MQL4/MQL5 函数变化对照表(mt5/mt4对比)