以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 请编写一个简单的模型 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=174134) |
-- 作者:没啥事 -- 发布时间:2020/2/3 13:55:43 -- 请编写一个简单的模型 麻烦编写一个简单的交易模型 5,15.30分钟三个周期,3条线,5,20.60.开多条件:15分钟站上60线,且5分钟周期站上5.20.60线三线,开多,如果破前一根K线最低点止损; 开空:如果5分钟周期20线和60线交叉向下,突破60日线,且15分钟周期5,20线向下交叉,开空,站上5分钟60线止损
|
-- 作者:wenarm -- 发布时间:2020/2/3 14:13:17 -- 当前是什么周期?,使用的是5,15,30分钟周期的收盘价? 5,20,60是当前周期的均线还是别的什么? [此贴子已经被作者于2020/2/3 14:13:41编辑过]
|
-- 作者:FireScript -- 发布时间:2020/2/3 14:22:26 -- 需要明确: 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日均线 请在上面这三个周期 三种均线上描述下你的需求逻辑。
|
-- 作者:没啥事 -- 发布时间:2020/2/3 14:47:28 -- 老师,不知你有没有看到我的回复 我的逻辑其实就是在开仓看15分钟周期里现价是否站上60线,如果站上,再看看5分钟周期里面,是不是也站上5分钟周期里的60均线,且5分钟周期里,..5,20.60均线是多头排列形态。我不知道这样的逻辑能否实现,谢谢
|
-- 作者:FireScript -- 发布时间:2020/2/3 14:51:51 -- 意思是15分钟和5分钟 里 都满足现价(5分钟和15分钟)大于60周期均线 且五分钟周期满足5,20,60均线多头排列 是这样对吗? |
-- 作者:没啥事 -- 发布时间:2020/2/3 14:54:54 -- 是的 |
-- 作者:FireScript -- 发布时间:2020/2/3 15:07:36 -- 以多头为例: 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);//平多 |
-- 作者:没啥事 -- 发布时间:2020/2/3 15:25:24 -- 谢谢老师的快速回复,现在的服务跟文华一样了, 能否把空头开单的也写一下,然后我想去跑一下回测,谢谢!
|
-- 作者:FireScript -- 发布时间:2020/2/3 15:45:47 -- 请稍等。 |
-- 作者:FireScript -- 发布时间:2020/2/3 15:53:56 -- 之前的代码可以弃用掉。按照之前的方式 代码太冗余了。代码稍微改进下吧。 你新建一个指标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部分代码 是需要分开的: |