- 获取最新卖价 Ask
- 获取最新买价 Bid
- 获取图表柱数 Bars
- 获取货币对小数位数 Digits
- 获取货币对点值 Point
对于每个可实施的MQL4程序,在程序起步时(智能交易、脚本或是自定义指标),诸多的预定义变量可以轻松应对图表中的各种价格状态等价格有关信息。
库可以运用模块中的预定义变量。
为了能安全、迅速地访问该数据,客户端程序会为每个单独起步的程序供应预定义变量的本地副本。该数据会在每次运行智能交易或自定义指标后自动更新,或调用RefreshRates()函数更新。
double Ask
获取目前货币对的最新卖价。请调用RefreshRates()函数更新报告。
注意:该Ask变量为程序(智能交易、脚本或是自定义指标)运行的图表上所对应货币对(品种)的Ask价格,假使需要获取其余货币对(品种)的Ask价格应运用Marketlnfo()函数。
参见Marketlnfo()。
示例:
if(iRSI(NULL,0,14,PR洲际交易所_CLOSE,0)<25) { OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Bid-StopLoss*Point,Ask+TakeProfit*Point, "My order #2",3,D'2005.10.10 12:30',Red);return; }
double Bid
获取目前货币对的最新买价。请调用RefreshRates()函数更新报告。
注意:该Ask变量为程序(智能交易、脚本或是自定义指标)运行的图表上所对应货币对(品种)的Bid价格,假使需要获取其余货币对(品种)的Bid价格应运用Marketlnfo()函数。
参见 Marketlnfo()。
示例:
if(iRSI(NULL,0,14,PR洲际交易所_CLOSE,0)>75) { OrderSend("欧元兑美元",OP_SELL,Lots,Bid,3,Ask+StopLoss*Point,Bid-TakeProfit*Point, "My Order #2",3,D'2005.10.10 12:30',Red);return(0);}
int Bars
获取目前图表中柱数。
参见 iBars()。
示例:
int counter=1; for(int i=1; i<=Bars; i++) { Print(关闭[i-1]);}
int Digits
获取目前货币对汇率的小数位数。如欧元兑美元目前价格为1.54321,Digits值为5。
参见 MarketInfo()。
示例:
Print("目前货币对小数位数为:"+Digits);
double Point
返回图表中目前货币对的点值。
如图表目前货币对为欧元兑美元,报价为1.54321,由于有5名小数报价,所以点值Point为0.00001也为5名小数;假使报价为1.5432由于是4名小数报价,所以点值Point为0.0001也应当是4名小数。
参见 Marketlnfo()。
示例:
//下面例子下单的时机同期设置100点止盈//假使这里交易的是欧元兑美元且报价为4名小数,如此是正确的设置了100点止盈int TakeProfit=100;OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point);
//下面例子下单的时机同期设置100点止盈//假使这里交易的是欧元兑美元且报价为5名小数//由于这时Point是0.00001,要设置100点止盈,Point务必再乘以10int TakeProfit=100;OrderSend(Symbol(),OP_BUY,Lots,Ask,3,0,Ask+TakeProfit*Point*10);