外汇EA编程教程大全之价格函数
任何可见货币对/时间周期的价格数据的一组函数。
iBars
iBarShift
iClose
iHigh
iHighest
iLow
iLowest
iOpen
iTime
iVolume
int iBars( string symbol, int timeframe)
在指定的图表内返回柱的数量。
对于当前图表柱总量的信息在预定义的变量中命名为Bars。
参量:
symbol - 需应用到计算指标的货币对数据 NULL 意味当前货币对名称。
timeframe - 时间周期。可以是时间周期列举的任意值。0 意味着当前图表的时间周期。
示例:
Print("在货币对'EUROUSD'带有PERIOD_H1 柱数",iBars("EUROUSD",PERIOD_H1));
int iBarShift( string symbol, int timeframe, datetime time, void exact)
搜索柱开始的时间。函数返回指定开始时间的柱。如果柱的指定开始时间是省缺值, 函数将返回-1或 最近的柱 exact。
参量:
symbol - 需应用到计算指标的货币对数据 NULL 意味当前货币对名称。。
timeframe - 时间周期。可以是时间周期列举的任意值。0 意味着当前图表的时间周期。
time - 查找值 (柱的开始时间)。
exact - 未发现柱的返回模式。false - iBarShift 返回最近。 true - iBarShift 返回 -1。
示例:
datetime some_time=D'2004.03.21 12:00';
int shift=iBarShift("EUROUSD",PERIOD_M1,some_time);
Print("带有打开时间平移柱 ",TimeToStr(some_time)," 是 ",shift);
double iClose( string symbol, int timeframe, int shift)
对于带有时间周期和平移指定货币对的柱返回 关闭值。如果加载历史为空,函数返回0。
对于当前图表,关于收盘价格的信息在预定义数组中命名为 Close[]。
参量:
symbol - 需应用到计算指标的货币对数据 NULL 意味当前货币对名称。
timeframe - 时间周期。可以是时间周期列举的任意值。0 意味着当前图表的时间周期。
shift - 从指标缓冲器上获取的索引值。
示例:
Print("对于 USDCHF H1当前柱: ",iTime("USDCHF",PERIOD_H1,i),", ", iOpen("USDCHF",PERIOD_H1,i),", ",
iHigh("USDCHF",PERIOD_H1,i),", ", iLow("USDCHF",PERIOD_H1,i),", ",
iClose("USDCHF",PERIOD_H1,i),", ", iVolume("USDCHF",PERIOD_H1,i));
double iHigh( string symbol, int timeframe, int shift)
对于带有时间周期和平移指定货币对 的柱返回 高值。如果加载历史为空,函数返回0。
对于当前图表,关于高价格的信息在预定义数组中命名为High[].
参量:
symbol - 需应用到计算指标的货币对数据 NULL 意味当前货币对名称。
timeframe - 时间周期。可以是时间周期列举的任意值。0 意味着当前图表的时间周期。
shift - 从指标缓冲器上获取的索引值。
示例:
Print("对于USDCHF H1当前柱: ",iTime("USDCHF",PERIOD_H1,i),", ", iOpen("USDCHF",PERIOD_H1,i),", ",
iHigh("USDCHF",PERIOD_H1,i),", ", iLow("USDCHF",PERIOD_H1,i),", ",
iClose("USDCHF",PERIOD_H1,i),", ", iVolume("USDCHF",PERIOD_H1,i));
int iHighest( string symbol, int timeframe, int type, void count, void start)
根据类型返回最大值转移的一个具体数字。
参量:
symbol - 需应用到计算指标的货币对数据 NULL 意味当前货币对名称。。
timeframe - 时间周期。可以是时间周期列举的任意值。0 意味着当前图表的时间周期。
type - 系列数组的识别符。它可以是系列数据识别符列举 的任意值。
count - 周期数字。
start - 移动显示与当前相关的柱,采取数据。
示例:
double val;
// 在范围内20个连续柱计算最大值
// 在当前图表上从第4个至第23个的索引
val=High[iHighest(NULL,0,MODE_HIGH,20,4)];
double iLow( string symbol, int timeframe, int shift)
对于带有时间周期和平移指定货币对 的柱返回 低值。如果加载历史为空,函数返回0。
对于当前图表,关于低价格的信息在预定义数组中命名为Low[].
参量:
symbol - 需应用到计算指标的货币对数据 NULL 意味当前货币对名称。。
timeframe - 时间周期。可以是时间周期列举的任意值。0 意味着当前图表的时间周期。
shift - 从指标缓冲器上获取的索引值。
示例:
Print("对于USDCHF H1当前柱: ",iTime("USDCHF",PERIOD_H1,i),", ", iOpen("USDCHF",PERIOD_H1,i),", ",
iHigh("USDCHF",PERIOD_H1,i),", ", iLow("USDCHF",PERIOD_H1,i),", ",
iClose("USDCHF",PERIOD_H1,i),", ", iVolume("USDCHF",PERIOD_H1,i));
int iLowest( string symbol, int timeframe, int type, void count, void start)
根据类型返回最小值转移的一个具体数字。
参量:
symbol - 需应用到计算指标的货币对数据 NULL 意味当前货币对名称。。
timeframe - 时间周期。可以是时间周期列举的任意值。0 意味着当前图表的时间周期。
type - 系列数组的识别符。它可以是系列数据识别符列举 的任意值。
count - 时间周期。
start - 移动显示与当前相关的柱,采取数据。
示例:
// 在范围内计算连续10个柱的最低值
// 在当前图表从第10个到第19个的索引
double val=Low[iLowest(NULL,0,MODE_LOW,10,10)];
double iOpen( string symbol, int timeframe, int shift)
对于带有时间周期和平移指定货币对 的柱返回 开价格值。如果加载历史为空,函数返回0。
对于当前图表,关于开价格的信息在预定义数组中命名为 Open[].
参量:
symbol - 需应用到计算指标的货币对数据 NULL 意味当前货币对名称。。
timeframe - 时间周期。可以是时间周期列举的任意值。0 意味着当前图表的时间周期。
shift - 从指标缓冲器上获取的价格值指数。
示例:
Print("对于USDCHF H1当前柱: ",iTime("USDCHF",PERIOD_H1,i),", ", iOpen("USDCHF",PERIOD_H1,i),", ",
iHigh("USDCHF",PERIOD_H1,i),", ", iLow("USDCHF",PERIOD_H1,i),", ",
iClose("USDCHF",PERIOD_H1,i),", ", iVolume("USDCHF",PERIOD_H1,i));
datetime iTime( string symbol, int timeframe, int shift)
对于带有时间周期和平移指定货币对 的柱返回 时间值。如果加载历史为空,函数返回0。
对于当前图表,关于时间的信息在预定义数组中命名Time[].
参量:
symbol - 需应用到计算指标的货币对数据 NULL 意味当前货币对名称。。
timeframe - 时间周期。可以是时间周期列举的任意值。0 意味着当前图表的时间周期。
shift - 从指标缓冲器上获取的价格值指数。
示例:
Print("对于USDCHF H1当前货币对: ",iTime("USDCHF",PERIOD_H1,i),", ", iOpen("USDCHF",PERIOD_H1,i),", ",
iHigh("USDCHF",PERIOD_H1,i),", ", iLow("USDCHF",PERIOD_H1,i),", ",
iClose("USDCHF",PERIOD_H1,i),", ", iVolume("USDCHF",PERIOD_H1,i));
double iVolume( string symbol, int timeframe, int shift)
对于带有时间周期和平移指定货币对 的柱返回 替克成交量值。如果加载历史为空,函数返回0。
对于当前图表,关于成交量的信息在预定义数组中命名Volume[].
参量:
symbol - 需应用到计算指标的货币对数据 NULL 意味当前货币对名称。。
timeframe - 时间周期。可以是时间周期列举的任意值。0 意味着当前图表的时间周期。
shift - 从指标缓冲器上获取的价格值指数。
示例:
Print("对于USDCHF H1的当前柱: ",iTime("USDCHF",PERIOD_H1,i),", ", iOpen("USDCHF",PERIOD_H1,i),", ",
iHigh("USDCHF",PERIOD_H1,i),", ", iLow("USDCHF",PERIOD_H1,i),", ",
iClose("USDCHF",PERIOD_H1,i),", ", iVolume("USDCHF",PERIOD_H1,i));
本文地址:https://www.waihuibang.com/fxschool/autotrading/mql4/40618.html