以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=181890) |
-- 作者:arutema -- 发布时间:2020/8/25 17:10:44 -- 金叉 死叉问题 input:xs(300,3,300,3); ma60:ma(c,xs); ma1:ma(c,1); t3l:=ref(llv(l,3),1); t3h:=ref(hhv(h,3),1); t3m:(T3L+T3H)/2; l1:ma(c/ma60,1); tt1:c>t3m; tt2:c<t3m; tt3:c<ma60; tt4:c>ma60; PD:cross(ma1,ma60) and tt3;// //平多条件 死叉60均 并小于60日均 PK:cross(ma1,ma60) and tt4;// //平空条件金叉60均 并大于60日均 KD:cross(ma1,t3m) and tt4; // //开多条件 金叉 并大于60日均 KK:cross(ma1,t3m) and tt3;// //开空条件收盘价死叉 并小于60日均 //交 平多:SELL(PD,1,marketr); 平空:SELLSHORT(PK,1,marketr); //平空信号 开多:BUY(KD AND HOLDING=0,1,marketr); //开多信号 //平多信号 开空:BUYSHORT(KK AND HOLDING=0,1,marketr); //开空信号 执行不了 请问老师错在那
|
-- 作者:FireScript -- 发布时间:2020/8/25 17:13:58 -- 把数据量扩充大点。你默认的ma参数是300.那么至少300个K,ma60才能正常有值。 |
-- 作者:wenarm -- 发布时间:2020/8/25 17:14:32 -- 程序没有语法错误。只是条件比较苛刻。能满足条件的k线位置很少。自然不会或者出现开平记录。 |
-- 作者:FireScript -- 发布时间:2020/8/25 17:15:20 -- 扩充后信号还是有的。
|
-- 作者:arutema -- 发布时间:2020/8/25 22:28:02 -- pk 和 pd 如果不加 tt3 tt4 能执行 但是就分不清金叉还是死叉了 这个怎么解决 cross 没法判断 是 上叉还是下叉 ,加上tt3 和 tt4就不执行了 就卡在这 |
-- 作者:arutema -- 发布时间:2020/8/25 22:31:02 -- 比如做多 离场 就 c 下叉 ma60 如果这么 写cross(c,ma60)既能是上叉又能是下叉 不加 tt3 是没法判断了 |
-- 作者:FireScript -- 发布时间:2020/8/26 9:09:32 -- cross 就是表示上穿的意思。不存在说分不分得清。通常金叉,死叉只是把cross里面2个参数换个位置。 金叉是 cross(a,b) 那么死叉满足就是cross(b,a)
|