初学TB,做了一个克罗均线系统,关于信号闪烁的问题? [开拓者 TB]
- 咨询内容:
初学TB想做个顺势均线突破系统,写下来,回测了下,一看结果出奇的好就知道不对了。。。
信号有闪烁,大神看下能不能根据交易规则,改一下?然后解释下信号闪烁和回测结果出奇好友什么关系?有什么解决方法?
交易规则:
适用于日线,1小时线
在上升趋势中,只持有多头头寸,或不入市。不持有空头头寸。
在下降趋势中,只持有空头头寸,或不入市。不持有多头头寸。
下一步是将进入和退出的原则公式化,这项讨论将用到下列原则:
我们将用收盘价与三个简单移动平均作比较,
进行长期分析:10天,20天,50天。
买入:当收盘价>10天>20天>50天;
卖出:当收盘从<10天<20天<50天。
进行短期分析,4天,9天,18天。
买入:当收盘价>4天>9天>18天;
卖出:当收盘从<4天<9天<18天
---------------------------------------------------------------------------------------------- 我是分割线(ㄒoㄒ)
Params
Numeric lots(1);
Vars
Numeric ma4;
Numeric ma9;
Numeric ma10;
Numeric ma18;
Numeric ma20;
Numeric ma50;
Begin
ma4=AverageFC(Close,4);
ma9=AverageFC(Close,9);
ma10=AverageFC(Close,10);
ma18=AverageFC(Close,18);
ma20=AverageFC(Close,20);
ma50=AverageFC(Close,50);
If(Close>Close[1])
{
If((Close[1]>ma10 && ma10>ma20 && ma20>ma50) || (Close[1]>ma4 && ma4>ma9 && ma9>ma18))
Buy(lots,Open);
}
If(Close<Close[1])
{
If((Close[1]<ma10 && ma10<ma20 && ma20<ma50) || (Close[1]<ma4 && ma4<ma9 && ma9<ma18))
SellShort(lots,Open);
}
End
- TB技术人员:
自己顶起
- TB客服:
@小米 请帮我看看。。。
- 网友回复:
本帖最后由 小米 于 2015-9-17 10:15 编辑
wu82088465 发表于 2015-9-13 21:17
@小米 请帮我看看。。。- Params
- Numeric lots(1);
- Vars
- Numeric ma4;
- Numeric ma9;
- Numeric ma10;
- Numeric ma18;
- Numeric ma20;
- Numeric ma50;
- boolseries con1;
- boolseries con2;
- Begin
- ma4=AverageFC(Close,4);
- ma9=AverageFC(Close,9);
- ma10=AverageFC(Close,10);
- ma18=AverageFC(Close,18);
- ma20=AverageFC(Close,20);
- ma50=AverageFC(Close,50);
- con1 = Close[1]>ma10 && ma10>ma20 && ma20>ma50) || (Close[1]>ma4 && ma4>ma9 && ma9>ma18;
- con2 = Close[1]<ma10 && ma10<ma20 && ma20<ma50) || (Close[1]<ma4 && ma4<ma9 && ma9<ma18;
- If(Close[1]>Close[2])
- {
- If(con1[1] ==true)
- Buy(lots,Open);
- }
- If(Close[1]<Close[2])
- {
- If((con2[1]==true))
- SellShort(lots,Open);
- }
- End
当一个bar没有结束前,这个close是会变动的。。于是这个值可能会在满足条件与不满足条件之间来回跳动。
当前的处理办法是在这个bar结束时再判断条件是否满足,即在下一个bar一开始时就进行判断条件并决定是否下单 。 - Params
- 网友回复:
小米 发表于 2015-9-14 11:19
你的公式里有信号消失的原因在于使用了close的判断以及close计算的变量结果。
当一个bar没有结束前,这个 ...
个人意见:
24行:If(con1[2] ==true) =====改为======> If(con1[1] ==true)
27行:If(Close[2]<Close[2]) =====改为======> If(Close[1]<Close[2])
有思路,想编写各种指标公式,程序化交易模型,选股公式,预警公式的朋友
可联系技术人员 QQ: 511411198 进行 有偿 编写!(不贵!点击查看价格!)
相关文章
-
没有相关内容