外汇指标
MQL4/MQL5 函数变化对照表
回复:0  浏览:872
  • 楼主admin 圈主
  • 2019-05-05 13:41
MQL4 MQL5
AskSymbolInfoDouble(Symbol(),SYMBOL_ASK);
BidSymbolInfoDouble(Symbol(),SYMBOL_BID);  
BarsBars(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 AccountFreeMarginCheckAccountFreeMarginMode()???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 ArrayBsearchArrayCopyRates()read CopyRatesArrayCopySeries()read CopyClose/CopyHigh/CopyLow/CopyOpen/CopyTickVolume/CopyTimeArrayDimension()????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()_UninitReasonTerminalCompany()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 7IndicatorCounted()const int prev_calculatedIndicatorDigits()IndicatorSetInteger(INDICATOR_DIGITS,_Digits);IndicatorShortName()IndicatorSetString(INDICATOR_SHORTNAME,name);SetIndexArrow()PlotIndexSetInteger(0,PLOT_ARROW,213);SetIndexBuffer()SetIndexBuffer(0,MABuffer,INDICATOR_DATA); // or INDICATOR_CALCULATIonSSetIndexDrawBegin()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/StringObjectGetFiboDescription()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/StringObjectSetFiboDescription()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())/60RefreshRates()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 ChartScreenShotWindowTimeonDropped()ChartTimeonDropped()WindowsTotal()ChartGetInteger(0,CHART_WINDOWS_TOTAL)WindowXonDropped()ChartXonDropped()WindowYonDropped()ChartYonDropped()