以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=184699) |
-- 作者:CK13 -- 发布时间:2021/3/15 12:12:42 -- [求助]请老师修改公式 请老师修改成触发多单条件 STICKLINE(CROSS(CLOSE,多) AND REF(N2<N1,1) AND CLOSE>=OPEN,OPEN,CLOSE,10,1),COLORFF00FF; STICKLINE(CROSS(CLOSE,多) AND REF(N2<N1,1) AND CLOSE>=OPEN,LOW,MIN(OPEN,CLOSE),1,1),COLORFF00FF; STICKLINE(CROSS(CLOSE,多) AND REF(N2<N1,1) AND CLOSE>=OPEN,HIGH,MAX(OPEN,CLOSE),1,1),COLORFF00FF; STICKLINE(CROSS(CLOSE,多) AND REF(N2<N1,1) AND CLOSE<OPEN,OPEN,CLOSE,10,1),COLORFF00FF; STICKLINE(CROSS(CLOSE,多) AND REF(N2<N1,1) AND CLOSE<OPEN,LOW,MIN(OPEN,CLOSE),1,1),COLORFF00FF; STICKLINE(CROSS(CLOSE,多) AND REF(N2<N1,1) AND CLOSE<OPEN,HIGH,MAX(OPEN,CLOSE),1,1),COLORFF00FF;
|
-- 作者:FireScript -- 发布时间:2021/3/15 13:21:09 -- 1.代码不完整。 “CROSS(CLOSE,多) ”这里“多”这个变量缺乏定义。 2.“触发多单条件”是指画柱线条件改成下单条件?
|
-- 作者:CK13 -- 发布时间:2021/3/15 13:37:40 -- 1.STICKLINE(CROSS(CLOSE,IF(BS=0,CURRDN,REF(CURRDN,BS)) AND REF(N2<N1,1) AND CLOSE>=OPEN,OPEN,CLOSE,10,1),COLORFF00FF; 2.是的,画柱线条件改成下单条件 |
-- 作者:FireScript -- 发布时间:2021/3/15 13:58:27 -- 如果只是单纯改成下单是没问题的。 开多条件:CROSS(CLOSE,多) AND REF(N2<N1,1) AND CLOSE>=OPEN; buy(开多条件,1,market); 未定义的部分,你自行填充进去就行了。 另外因为你没有平仓条件,加载数据太多时候可能因为模型虚拟资金不足会出不了信号。最好能完整的有开仓条件,也有平仓条件。
|
-- 作者:CK13 -- 发布时间:2021/3/15 15:07:52 -- 开多条件:CROSS(CLOSE,多) AND REF(N2<N1,1) AND CLOSE>=OPEN; 开空条件:CROSS(空,CLOSE) AND REF(N1<N2,1) AND CLOSE>=OPEN; |
-- 作者:FireScript -- 发布时间:2021/3/15 15:54:34 -- 反手得话。就这样做: if 平多开空 then begin sell(holding>0,holding,market); buyshort(holding=0,1,market); END 平空开多也是类似的。
|
-- 作者:CK13 -- 发布时间:2021/3/15 16:36:46 -- 谢谢老师,试了一下,不知那里出问题了,没实现,请您帮忙改成完整的,新手上路,请多指教 |
-- 作者:FireScript -- 发布时间:2021/3/15 16:41:12 -- 平空开多:CROSS(CLOSE,多) AND REF(N2<N1,1) AND CLOSE>=OPEN; 平多开空:CROSS(空,CLOSE) AND REF(N1<N2,1) AND CLOSE>=OPEN; if 平多开空 then begin sell(holding>0,holding,market); buyshort(holding=0,1,market); END if 平空开多 then begin sellshort(holding<0,holding,market); buy(holding=0,1,market); END |
-- 作者:CK13 -- 发布时间:2021/3/16 11:33:35 -- 平空开多:STICKLINE(CROSS(CLOSE,多) AND REF(N2<n1,1) and="AND" close="CLOSE" >=OPEN,OPEN,CLOSE,10,1),COLORFF00FF; 平多开空:STICKLINE(CROSS(空,CLOSE) AND REF(N1<n2,1) and="AND" close="CLOSE" >=OPEN,OPEN,CLOSE,10,1),COLORYELLOW; 老师您昨天帮忙改的如下,贴上去之后实现不了程序化,问题出在那里? 平空开多:CROSS(CLOSE,多) AND REF(N2<n1,1) and="AND" close="CLOSE" >=OPEN; 平多开空:CROSS(空,CLOSE) AND REF(N1<n2,1) and="AND" close="CLOSE" >=OPEN; if 平多开空 then begin sell(holding>0,holding,market); buyshort(holding=0,1,market); END if 平空开多 then begin sellshort(holding<0,holding,market); buy(holding=0,1,market); END
|
-- 作者:FireScript -- 发布时间:2021/3/16 13:08:42 -- 因为你没有定义好,这个“多” n2,n1不清楚你前面有没有定义。这个我暂时不管 平空开多:CROSS(CLOSE,多) AND REF(N2<n1,1) and="AND" close="CLOSE" >=OPEN; 平多开空:CROSS(空,CLOSE) AND REF(N1<n2,1) and="AND" close="CLOSE" >=OPEN; 但是这后面你想表达啥?表示收盘价大于开盘价吗? |