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
ObjectXXXX use mt4objects.mqh (http://forum.mql4.com/26550/page16)
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_TEXT,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..
iMA // 1. Add iMA_handle in Grobal variable; //SAMPLE CODE is Sample_iMA.mq5
int iMA_handle;
// 2. Set iMA in OnInit()
iMA_handle=iMA(Symbol(),0,MAPeriod,0,MODE_EMA,PRICE_CLOSE);
// 3. CopyBuffer in OnCalculate();
int copied=CopyBuffer(iMA_handle,0,0,rates_total,MALineBuffer);
iMAOnArray // 1. add MovingAverages.mqh //SAMPLE CODE is Sample_iMAOnArray2.mq5
#include <MovingAverages.mqh>
// 2. add MAonArrayBuffer in Grobal variable;
double MAonArrayBuffer[];
// 3. Set ArraySetAsSeries in OnInit().
ArraySetAsSeries(MAonArrayBuffer,true);
// 4. Resize Arraysize of MAonArrayBuffer in OnCalculate().
ArrayResize(MAonArrayBuffer,Bars);
// 5. Call Simple/Exponential/LinearWeighted/SmoothedMAOnBuffer
int ret=ExponentialMAOnBuffer(Bars,0,0,MAPeriod,OriginalBuffer,MAonArrayBuffer);
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) //MQL4 WindowHandle(Symbol(),Period())
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()