MACD多周期共振系统
- 系统原理很简单,MACD的柱状线,在1分钟,3分钟,5分钟,15分钟及30分钟都是红柱,即都大于0时,多头开仓。
当1分钟的MACD柱线变绿柱,即小于0时,多头平仓。
- 做空的条件类似,收盘平仓。
- 在此提供这个系统的目录是为了演示跨周期数据处理的方法,本系统并不是一个完善有效的系统,照此交易,后果自负
代码分为两部分,1个用户函数,1个交易指令。
用户函数:MinsXAverage,代码如下
//------------------------------------------------------------------------
// 简称: MinsXAverage
// 名称: 1分钟转换N分钟的指数平均
// 类别: 用户函数
// 类型: 用户函数
// 输出: 数值型
//------------------------------------------------------------------------
Params
Numeric nMinSet(3);
NumericSeries Price(10);
Numeric Length(10);
Vars
NumericSeries MinsBarIndex;
BoolSeries FirstMin(True);
Numeric sFcactor;
NumericSeries XAvgValue;
Begin
If(CurrentBar == 0)
{
FirstMin = True;
}Else
{
FirstMin = FirstMin[1];
If(FirstMin && IntPart(Minute/nMinSet) != IntPart(Minute[CurrentBar]/nMinSet))
{
FirstMin = False;
}
}
If(IntPart(Minute%nMinSet)==0)
{
MinsBarIndex = 1;
}Else
{
MinsBarIndex = MinsBarIndex[1] + 1;
}
sFcactor = 2 / ( Length + 1 );
if (FirstMin)
{
XAvgValue = Price;
}else
{
XAvgValue = XAvgValue[MinsBarIndex] + sFcactor * ( Price - XAvgValue[MinsBarIndex] ) ;
}
Return XAvgValue;
End
//------------------------------------------------------------------------
// 编译版本 GS2004.06.12
// 用户版本 2008/06/20 14:09
// 版权所有 nopain
// 更改声明 TradeBlazer Software保留对TradeBlazer平台
// 每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
交易指令。MACERS,仅适用于1分钟周期
//------------------------------------------------------------------------
// 简称: MACDRS
// 名称: MACD Resonance System
// 类别: 交易指令
// 类型: 多头建仓
// 输出:
//------------------------------------------------------------------------
Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
NumericSeries MACDValue1;
NumericSeries MACDValue3;
NumericSeries MACDValue5;
NumericSeries MACDValue15;
NumericSeries MACDValue30;
Numeric AvgMACD1;
Numeric AvgMACD3;
Numeric AvgMACD5;
Numeric AvgMACD15;
Numeric AvgMACD30;
Numeric MACDDiff1;
Numeric MACDDiff3;
Numeric MACDDiff5;
Numeric MACDDiff15;
Numeric MACDDiff30;
Bool LongEntryCon;
Bool ShortEntryCon;
Bool LongExitCon;
Bool ShortExitCon;
Begin
MACDValue1 = XAverage( Close, FastLength ) - XAverage( Close, SlowLength );
AvgMACD1 = XAverage(MACDValue1,MACDLength);
MACDDiff1 = MACDValue1 - AvgMACD1;
MACDValue3 = MinsXAverage(3, Close, FastLength ) - MinsXAverage(3, Close, SlowLength );
AvgMACD3 = MinsXAverage(3,MACDValue3,MACDLength);
MACDDiff3 = MACDValue3 - AvgMACD3;
MACDValue5 = MinsXAverage(5, Close, FastLength ) - MinsXAverage(5, Close, SlowLength );
AvgMACD5 = MinsXAverage(5,MACDValue5,MACDLength);
MACDDiff5 = MACDValue5 - AvgMACD5;
MACDValue15 = MinsXAverage(15, Close, FastLength ) - MinsXAverage(15, Close, SlowLength );
AvgMACD15 = MinsXAverage(15,MACDValue15,MACDLength);
MACDDiff15 = MACDValue15 - AvgMACD15;
MACDValue30 = MinsXAverage(30, Close, FastLength ) - MinsXAverage(30, Close, SlowLength );
AvgMACD30 = MinsXAverage(30,MACDValue30,MACDLength);
MACDDiff30 = MACDValue30 - AvgMACD30;
LongEntryCon = MACDDiff1 > 0 && MACDDiff3 > 0 && MACDDiff5 > 0 && MACDDiff15 > 0 && MACDDiff30 > 0;
ShortEntryCon = MACDDiff1 0;
Commentary("MACDDiff1="+Text(MACDDiff1));
Commentary("MACDDiff3="+Text(MACDDiff3));
Commentary("MACDDiff5="+Text(MACDDiff5));
Commentary("MACDDiff15="+Text(MACDDiff15));
Commentary("MACDDiff30="+Text(MACDDiff30));
If(MarketPosition == 0)
{
If(LongEntryCon)
{
Buy(1,NextOpen,True);
}Else if(ShortEntryCon)
{
SellShort(1,NextOpen,True);
}
}Else If(MarketPosition == 1 && LongExitCon)
{
Sell(1,NextOpen,True);
}Else if(MarketPosition == -1 && ShortExitCon)
{
BuyToCover(1,NextOpen,True);
}
If(Time >= 0.1459)
{
Sell(1,Open);
BuyToCover(1,Open);
}
End
//------------------------------------------------------------------------
// 编译版本 GS2004.06.12
// 用户版本 2008/06/20 14:47
// 版权所有 nopain
// 更改声明 TradeBlazer Software保留对TradeBlazer平台
// 每一版本的TrabeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
关键字:程序化交易, TradeBlazer, 跨周期
风险提示及免责条款
市场有风险,投资需谨慎。本文不构成个人投资建议,也未考虑到个别用户特殊的投资目标、财务状况或需要。用户应考虑本文中的任何意见、观点或结论是否符合其特定状况。据此投资,责任自负。本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!