麻烦编写一个简单的交易模型
5,15.30分钟三个周期,3条线,5,20.60.开多条件:15分钟站上60线,且5分钟周期站上5.20.60线三线,开多,如果破前一根K线最低点止损;
开空:如果5分钟周期20线和60线交叉向下,突破60日线,且15分钟周期5,20线向下交叉,开空,站上5分钟60线止损
当前是什么周期?,使用的是5,15,30分钟周期的收盘价?
5,20,60是当前周期的均线还是别的什么?
[此贴子已经被作者于2020/2/3 14:13:41编辑过]
需要明确:1.当前运行的周期
2.“15分钟站上60线,且5分钟周期站上5.20.60线三线” 这个没说清除。你现在一共有三个周期的三种均线 那么一共是九条线了。
5min_ma5:STKINDI('','ma.ma1',0,2,0);//5分钟的5日均线
5min_ma20:STKINDI('','ma.ma3',0,2,0);//5分钟的20日均线
5min_ma60:STKINDI('','ma.ma4',0,2,0);//5分钟的60日均线
30min_ma5:STKINDI('','ma.ma1',0,4,0);//30分钟的5日均线
30min_ma20:STKINDI('','ma.ma3',0,4,0);//30分钟的20日均线
30min_ma60:STKINDI('','ma.ma4',0,4,0);//30分钟的60日均线
60min_ma5:STKINDI('','ma.ma1',0,5,0);//60分钟的5日均线
60min_ma20:STKINDI('','ma.ma3',0,5,0);//60分钟的20日均线
60min_ma60:STKINDI('','ma.ma4',0,5,0);//60分钟的60日均线
请在上面这三个周期 三种均线上描述下你的需求逻辑。
老师,不知你有没有看到我的回复
我的逻辑其实就是在开仓看15分钟周期里现价是否站上60线,如果站上,再看看5分钟周期里面,是不是也站上5分钟周期里的60均线,且5分钟周期里,..5,20.60均线是多头排列形态。我不知道这样的逻辑能否实现,谢谢
意思是15分钟和5分钟 里 都满足现价(5分钟和15分钟)大于60周期均线 且五分钟周期满足5,20,60均线多头排列 是这样对吗?
以多头为例:5min_ma5:STKINDI('','ma.ma1',0,2,0);//5分钟的5日均线
5min_ma20:STKINDI('','ma.ma3',0,2,0);//5分钟的20日均线
5min_ma60:STKINDI('','ma.ma4',0,2,0);//5分钟的60日均线
5min_dtpl:5min_ma60<5min_ma20 and 5min_ma20<5min_ma5;//5分钟周期上多头排列
15min_ma60:STKINDI('','ma.ma4',0,3,0);//15分钟的60日均线
5min_c:CALLSTOCK('',vtCLOSE,5);//5分钟现价
15min_c:CALLSTOCK('',vtCLOSE,3);//15分钟现价
cd1:5min_c>5min_ma60;//5分钟现价大于5分钟的60周期均线
cd2:15min_c>15min_ma60;
if cd1 and cd2 and 5min_dtpl then buy(holding=0,1,market);//开仓
if L<ref(l,1) and holding>0 then sell(holding>0,holding,market);//平多
谢谢老师的快速回复,现在的服务跟文华一样了,
能否把空头开单的也写一下,然后我想去跑一下回测,谢谢!
之前的代码可以弃用掉。按照之前的方式 代码太冗余了。代码稍微改进下吧。你新建一个指标MAZ:
INPUT:N1(5,1,100,10),N2(10,1,120,12),N3(20,1,200,20),N4(60,1,200,20);
ma1:ma(c,n1);
ma2:ma(c,n2);
ma3:ma(c,n3);
ma4:ma(c,n4);
dtpl:ma3>ma4 and ma3>ma1;//多头排列
xp:c>ma4;//现价大于60周期均线
sc1:cross(ma1,ma4);//5周期下穿60周期
sc2:cross(ma3,ma4);//20周期下穿60周期
sc3:cross(ma3,ma1);//5分钟下穿20周期
sc:sc1 and sc2;
上面这部分是被调用的代码:
下面这里是交易的部分:
dtpl:STKINDI('','MAZ.dtpl',0,2,0);//5分钟的5日均线
15min_xp:STKINDI('','MAZ.xp',0,3,0);//15分钟 现价大于60周期均线
5min_xp:STKINDI('','MAZ.xp',0,2,0);//5分钟 现价大于60周期均线
sc1:STKINDI('','MAZ.sc',0,2,0);//5分钟的5周期,20周期均线分别下破60周期均线
sc2:STKINDI('','MAZ.sc3',0,3,0);//15分钟 5周期均线下破20周期均线
if L<ref(l,1) and holding>0 then sell(holding>0,holding,market);//多头平仓
if 15min_xp and 5min_xp and dtpl then buy(holding=0,1,market);//多头开仓
if 5min_xp and holding<0 then sellshort(holding<0,holding,market);//空头平
if sc1 and sc2 and holding=0 then buyshort(holding=0,1,market);//空头开仓
2部分代码 是需要分开的:
此主题相关图片如下:temp.png
