MQL中有一组“函数”,他们长得跟其他函数不一样,是不一样的函数,就是下面这几个功能强大的“函数”
Open[]、Close[]、High[]、Low[]、Time[]、Volume[]
一般的函数名字后面是(),这另类的“函数”名字后面是[]。
double Open[]
函数只有一个整型参数,功能是返回当前图表交易品种某一根K线的开盘价
double Close[]
函数只有一个整型参数,功能是返回当前图表交易品种某一根K线的收盘价
double High[]
函数只有一个整型参数,功能是返回当前图表交易品种某一根K线的最高价
double Low[]
函数只有一个整型参数,功能是返回当前图表交易品种某一根K线的最低价
long Volume[]
函数只有一个整型参数,功能是返回当前图表交易品种某一根K线的成交量
datetime Time[]
函数只有一个整型参数,功能是返回当前图表交易品种某一根K线的时间
脚本实例
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
datetime time= Time[0];
double open = Open[0];
double high = High[0];
double low = Low[0];
double close = Close[0];
long volume = Volume[0];
Print("Current bar time: ",time);
Print("Current bar open: ",open);
Print("Current bar high: ",high);
Print("Current bar low: ",low);
Print("Current bar close: ",close);
Print("Current bar volume: ",volume);
}
实例运行结果
验证下数据窗口
有几个数据是不一样的,因为读取的是当前的K线柱数据,当前K线柱还在波动中,因此最低价、最高价、收盘价、成交量是有不定的。
接下来读取前一根K线柱,看看数据是否一致
把参数改成1.
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
datetime time= Time[1];
double open = Open[1];
double high = High[1];
double low = Low[1];
double close = Close[1];
long volume = Volume[1];
Print("Current bar time: ",time);
Print("Current bar open: ",open);
Print("Current bar high: ",high);
Print("Current bar low: ",low);
Print("Current bar close: ",close);
Print("Current bar volume: ",volume);
}
打印输出结果一致。
工欲善其事,必先利其器,交易最重要的是遵守规则,严格执行。关注公众号,学习MQL入门到精通EA教程,学习更多EA编程,畅写属于自己的EA,锻造属于自己的神兵利器。