Table de conversion de 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 (http://forum.mql4.com/26550/page14) |
| 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[index]; 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() |