开拓者期货期权程序化系统交易论坛
标题:
请教一下大家,看我这个TB公式对不对!
[打印本页]
作者:
xuluo861026
时间:
2009-11-18 08:51:23
标题:
请教一下大家,看我这个TB公式对不对!
我想实现的功能,当日线的DIFF和DEA交叉,再判断30分钟的DIFF和DEA是否交叉,30分钟线交叉后再判断5分钟的DIFF和DEA是否交叉,如果都交叉的话就发出开仓指令!我这个公式是根据NOPAIN老师的MACD多周期共振系统编写的,请大家看一下是否正确!请各位高手们多多指点!谢谢啦!
// 简称: 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
// 简称: MACDRS
// 名称: MACD Resonance System
// 类别: 交易指令
// 类型: 多头建仓
// 输出:
//------------------------------------------------------------------------
Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
NumericSeries MACDValue5;
NumericSeries MACDValue30;
NumericSeries MACDValue240;
Numeric AvgMACD5;
Numeric AvgMACD30;
Numeric AvgMACD240;
Numeric MACDDiff5;
Numeric MACDDiff30;
Numeric MACDDiff240;
Bool LongEntryCon;
Bool ShortEntryCon;
Bool LongExitCon;
Bool ShortExitCon;
Begin
MACDValue5 = MinsXAverage(5, Close, FastLength ) - MinsXAverage(5, Close, SlowLength );
AvgMACD5 = MinsXAverage(5,MACDValue5,MACDLength);
MACDDiff5 = MACDValue5 - AvgMACD5;
MACDValue30 = MinsXAverage(30, Close, FastLength ) - MinsXAverage(30, Close, SlowLength );
AvgMACD30 = MinsXAverage(30,MACDValue30,MACDLength);
MACDDiff30 = MACDValue30 - AvgMACD30;
MACDValue240 = MinsXAverage(240, Close, FastLength ) - MinsXAverage(240, Close, SlowLength );
AvgMACD240= MinsXAverage(240,MACDValue240,MACDLength);
MACDDiff240= MACDValue240 - AvgMACD240;
LongEntryCon = MACDDiff240 > 0 && MACDDiff30 > 0 && MACDDiff5 > 0;
ShortEntryCon = MACDDiff240 < 0 && MACDDiff30 < 0 && MACDDiff5 < 0;
LongExitCon = MACDDiff5 < 0;
ShortExitCon = MACDDiff5 > 0;
Commentary("MACDDiff5="+Text(MACDDiff5));
Commentary("MACDDiff30="+Text(MACDDiff30));
Commentary("MACDDiff240="+Text(MACDDiff240));
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
作者:
lh948
时间:
2009-11-18 09:57:46
MACDValue240不是日线的macd,
日线跨周期参考
http://www.tradeblazer.net/forum/thread-4469-1-1.html
条件交叉用crossover和crossunder
作者:
xuluo861026
时间:
2009-11-18 10:56:45
标题:
请教一下5分钟,30分钟,日线三者怎么结合
请教一下5分钟,30分钟,日线三者怎么结合!他们不能通用同一个程序,那么他们三者该怎么结合呢?
欢迎光临 开拓者期货期权程序化系统交易论坛 (http://bbs.tb18.net/)
Powered by Discuz! X2