- 精华
- 0
- 在线时间
- 9 小时
- UID
- 280088
- 积分
- 2
- 帖子
- 1
- 阅读权限
- 10
- 注册时间
- 2019-6-12
- 最后登录
- 2019-6-28
- 精华
- 0
- UID
- 280088
- 积分
- 2
- 帖子
- 1
- 主题
- 1
- 阅读权限
- 10
- 注册时间
- 2019-6-12
- 最后登录
- 2019-6-28
|
你好,第一次学习TB。请问这个MACD根据原有的改的,为什么无法开仓,没有开仓信号?资金设置的10w,且每次只开一手。
//------------------------------------------------------------------------
// 简称: MACD
// 名称: 平滑异同移动平均线
// 类别: 公式应用
// 类型: 内建应用
//------------------------------------------------------------------------
Params
Numeric FastLength(12);
Numeric SlowLength(26);
Numeric MACDLength(9);
Vars
NumericSeries MACDValue;
Numeric AvgMACD;
Numeric MACDDiff;
Begin
If(!CallAuctionFilter()) Return;
MACDValue = XAverage( Close, FastLength ) - XAverage( Close, SlowLength ) ;
AvgMACD = XAverage(MACDValue,MACDLength);
MACDDiff = MACDValue - AvgMACD;
PlotNumeric("MACD",MACDValue);
PlotNumeric("MACDAvg",AvgMACD);
If (MACDDiff >= 0)
{
PlotNumeric("MACDDiff",MACDDiff,0,Red);
}
Else If(MACDDiff<0)
{
PlotNumeric("MACDDiff",MACDDiff,0,Green);
PlotNumeric("零线",0);
}
If(MACDDiff>=0 && CrossOver(MACDVAlue,AvgMACD)) //只要MACD>0且金叉则买入
{
Buy(1,Data0.Close); //买入一手
Commentary("买入");
}
If(MACDDiff<0 && CrossUnder(MACDVAlue,AvgMACD)) //只要MACD<0且死叉则卖出
{
SellShort(1,Data0.Close); //卖出一手
Commentary("卖出");
}
If(MarketPosition>0 && CrossUnder(MACDVAlue,AvgMACD)) //当有多头持仓,而MACD死叉
{
Sell(1,Data0.Close); //平多仓
}
If(MarketPosition<0 && CrossOver(MACDVAlue,AvgMACD)) //当有空头持仓,而MACD金叉
{
BuyToCover(1,Data0.Close); //平空仓
}
End
//------------------------------------------------------------------------
// 编译版本 GS2010.12.08
// 版权所有 TradeBlazer Software 2003-2010
// 更改声明 TradeBlazer Software保留对TradeBlazer平
// 台每一版本的TradeBlazer公式修改和重写的权利
//------------------------------------------------------------------------
谢谢!! |
|