- 精华
- 0
- 在线时间
- 3840 小时
- UID
- 20842
- 积分
- 931
- 帖子
- 382
- 阅读权限
- 255
- 注册时间
- 2010-12-3
- 最后登录
- 2022-2-15
- 精华
- 0
- UID
- 20842
- 积分
- 931
- 帖子
- 382
- 主题
- 2
- 阅读权限
- 255
- 注册时间
- 2010-12-3
- 最后登录
- 2022-2-15
|
发表于 2011-6-13 01:57:13
|显示全部楼层
编译好上面的MtMacd函数后,以后就可以随时通过调用这个函数来显示跨周期的MACD指标,以及在小周期上根据大周期的MACD指标进行交易,下面继续举个例子,也是在V4中实现,把指标和交易指令放在一个公式应用中,注意要在“属性设置”中,设置成“子图显示”。这次简单点,没有做成多周期共振,只是简单地在5分钟图表上,根据30分钟的MACD指标交叉来进行交易,代码如下:- Params
- Numeric TimeFrame(30); // 目标时间周期参数,参数说明参见MtBar
- Numeric BarsBack(1); // 目标时间周期BAR偏移参数,说明见MtBar函数
- Numeric FastLength(12);
- Numeric SlowLength(26);
- Numeric MACDLength(9);
- Numeric Lots(1);
- Vars
- NumericSeries MACDValue;
- NumericSeries AvgMACD;
- NumericSeries MACDDiff;
- Numeric ooMACDValue;
- Numeric ooAvgMACD;
- Numeric PreBar;
- Begin
- PreBar = MtMACD(TimeFrame,BarsBack,FastLength,SlowLength,MACDLength,ooMACDValue,ooAvgMACD);
- MACDVAlue = ooMACDValue;
- AvgMACD = ooAvgMACD;
- MACDDiff = MACDValue - AvgMACD;
- PlotNumeric("MACD",MACDValue);
- PlotNumeric("MACDAvg",AvgMACD);
- If (MACDDiff >= 0)
- PlotNumeric("MACDDiff",MACDDiff,0,Red);
- Else
- PlotNumeric("MACDDiff",MACDDiff,0,Green);
- PlotNumeric("零线",0);
- If (MacdDiff[PreBar]<0 and MacdDiff>0)
- {
- Buy(Lots,Open);
- }
- If (MacdDiff[PreBar]>0 and MacdDiff<0)
- {
- SellShort(Lots,Open);
- }
- End
复制代码 |
|