iClose
iClose
返回对应的图表上柱形图的收盘价(通过’shift’参数表示)。
double iClose(
const string symbol, // 交易品种
ENUM_TIMEFRAMES timeframe, // 周期
int shift // 转移
);参数
- 交易品种
[in] 金融工具的交易品种名称。NULL表示当前交易品种。
- timeframe
[in] 周期。它可以是ENUM_TIMEFRAMES其中一个枚举值。0表示当前图表周期。
- shift
[in] 来自时间序列返回值的指数(相对于当前柱形图的指定柱形图数量的向后偏移)。
返回值
对应的图表上柱形图的收盘价(通过’shift’参数表示)或者错误情况下为0。错误详情,请调用GetLastError()函数。
注意
这个函数始终返回实际数据。为此,它对每次调用期间指定交易品种/周期的时间序列执行请求。这意味着如果第一次函数调用时没有准备好的数据,则可能需要一些时间来准备结果。
这个函数不会存储之前的调用结果,也没有快速返回值的本地缓存。
例如:
input int shift=0;
//+------------------------------------------------------------------+
//| 函数-事件处理程序"tick" |
//+------------------------------------------------------------------+
void OnTick()
{
datetime time = iTime(Symbol(),Period(),shift);
double open = iOpen(Symbol(),Period(),shift);
double high = iHigh(Symbol(),Period(),shift);
double low = iLow(Symbol(),Period(),shift);
double close = iClose(NULL,PERIOD_CURRENT,shift);
long volume= iVolume(Symbol(),0,shift);
int bars = iBars(NULL,0);
Comment(Symbol(),",",EnumToString(Period()),"\n",
"Time: " ,TimeToString(time,TIME_DATE|TIME_SECONDS),"\n",
"Open: " ,DoubleToString(open,Digits()),"\n",
"High: " ,DoubleToString(high,Digits()),"\n",
"Low: " ,DoubleToString(low,Digits()),"\n",
"Close: " ,DoubleToString(close,Digits()),"\n",
"Volume: ",IntegerToString(volume),"\n",
"Bars: " ,IntegerToString(bars),"\n"
);
}