以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=176123) |
-- 作者:圣啥塔内罗 -- 发布时间:2020/5/19 13:37:05 -- [求助][原创]真心请教模型问题 刚转过了这个软件,编了个模型,有不少问题, MA1:MA(C,5); MA5:MA(C,10); A:MA1>MA5; B:MA1<MA5; A5:STKINDI(\'\',\'MA.A\',0,6,0); //引用当下日周期ma1>ma5 B5:STKINDI(\'\',\'MA.B\',0,6,0); //引用当下日周期ma1<ma5 Kd:=A AND A5; 开多条件 分钟线和日线同向 Kk:=B AND B5; 开空条件 分钟线和日线同向 PD:=CROSS(MA5,MA1); 平多条件 死叉平 PK:=CROSS(MA1,MA5); 平空条件 金叉平 下面不知道写的对不对: 开多:BUY(KD and HOLDING=0,50%,THISCLOSE); 想表达开仓50% 平多:SELL(PD,1,THISCLOSE); 想表达全部平仓 空:BUYSHORT(KK and HOLDING=0,50%,THISCLOSE); 想表达开仓50% 平空:SELLSHORT(PK,1,THISCLOSE); 想表达全部平仓 出来的信号和想的不一样,直接会有反向开仓,没有过滤掉,不知道哪错了,,求助 |
-- 作者:FireScript -- 发布时间:2020/5/19 13:55:09 -- 1.不考虑日线的那个调用。其实你这里平空和开多,平多和开空条件是一致的。 CROSS(MA5,MA1) 的位置 B:MA1<MA5; 也一定是满足的。 所以就看下面这部分了。这个是调用日线的结果了。但是如果你本身就是加载在日线了。那么A和A5是一样的,B和B5是一样的。 这个跨周期调用就没有用了。 A5:STKINDI(\'\',\'MA.A\',0,6,0); //引用当下日周期ma1>ma5 B5:STKINDI(\'\',\'MA.B\',0,6,0); //引用当下日周期ma1<ma5 2.全平写法不对。按照下面方式 开多:BUY(KD and HOLDING=0,50%,THISCLOSE); 综上: 1.你的代码不适用于日线。因为本身就是日线,自然无法拿日线来过滤 2.全平的代码有问题。 |
-- 作者:圣啥塔内罗 -- 发布时间:2020/5/19 13:59:56 -- 谢谢FireScript版主的详细解答,我是想做60f和15f这两个周期来调用日线的数据,上面贴的图是60分钟的图形, |
-- 作者:FireScript -- 发布时间:2020/5/19 14:15:31 -- 是这样的。下面代码中,B满足,PD不一定满足,但是如果PD是满足的那么B一定是满足的。 那意思就是说如果平多满足了。 下面的的A5也满足,这时候就会反手。 你的跨周期调用是无法限定不反手操作的。 A5:STKINDI(\'\',\'MA.A\',0,6,0); //引用当下日周期ma1>ma5 |
-- 作者:FireScript -- 发布时间:2020/5/19 14:32:03 -- 就是你看下A5或者B5那时候的值的情况。 |
-- 作者:圣啥塔内罗 -- 发布时间:2020/5/19 15:09:22 -- 引用版主分析:B满足,PD不一定满足,但是如果PD是满足的那么B一定是满足的。 Kk:=B AND B5; PD:=CROSS(MA5,MA1); pd满足,B一定满足,没问题,但是B5不一定满足,为什么会开空呢,我设定的条件只有B5和B都满足才开空啊. Kd:=A AND A5; 开多条件:60分钟线和日线同向 Kk:=B AND B5; 开空条件:60分钟线和日线同向 PD:=CROSS(MA5,MA1); 平多条件: 死叉平且A5中日线ma1>ma5 PK:=CROSS(MA1,MA5); 平空条件: 金叉平且B5中日线ma1<ma5 谢谢您Firescript |
-- 作者:圣啥塔内罗 -- 发布时间:2020/5/19 15:10:41 -- 是应该看a5和b5当时的情况,但是反馈的结果是感觉没有引用到日线数据,,是不是我的软件不行,昨天刚下的是免费版本 |
-- 作者:FireScript -- 发布时间:2020/5/19 15:20:07 -- 1.和免费版,没有关系。 你这里如果调用到了日线级别的指标,A5和B5肯定有值的。如果图表上没有值。你要补充下这个品种的日线数据。你可以看下A5,B5在图上是否有值。正常肯定 是有值才对的。 2.另外我想问下因为你调用的是系统自带的ma指标,这个指标里面是没有你这里定义的a和b。不知道你是否有在ma指标里面进行相应的修改了? 系统的ma里面代码是这样的。 3.“但是B5不一定满足,为什么会开空呢,我设定的条件只有B5和B都满足才开空啊.”是的。就是B5不一定满足,所以才会出现偶尔会反手。我本地这边加载看 就是部分信号是反手。 总之你先尝试解决下1,2的问题
|
-- 作者:圣啥塔内罗 -- 发布时间:2020/5/19 16:31:17 -- 哈哈,真是忘了,谢谢您,我马上试下, |
-- 作者:圣啥塔内罗 -- 发布时间:2020/5/19 19:31:55 -- 系统ma改了,还是不行,还是平仓即反手 ma1:ma(c,1); ma5:ma(c,10); ma3:ma(c,n3); ma4:ma(c,n4); a:=ma1>ma5; b:=ma1<ma5; |