以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=181725) |
-- 作者:一杯沧海 -- 发布时间:2020/8/14 14:53:12 -- 一小时周期上添加交易中止的语句 我希望在1小时周期交易过程中,在完成一笔交易后在6个交易周期内开仓信号不再执行的语句,谢谢! |
-- 作者:FireScript -- 发布时间:2020/8/14 14:57:29 -- 你这里这个完成一笔交易是指平仓完了,还是指开仓以后。 [此贴子已经被作者于2020/8/14 16:09:53编辑过]
|
-- 作者:一杯沧海 -- 发布时间:2020/8/14 16:37:24 -- 平仓了就不再开仓了 |
-- 作者:FireScript -- 发布时间:2020/8/14 16:52:32 -- 原开仓条件基础上加个判断就行了 如果是开仓之后6个周期内不在重复开仓: 原开仓条件 and (ENTERBARS>5 or ENTERBARS=-1) 如果是平仓之后6个周期内不在开仓: (EXITBARS<=5 or EXITBARS=-1) and 原开仓条件 上面只针对单一的开平,如果有多个开仓语句就不适用了。
|
-- 作者:一杯沧海 -- 发布时间:2020/8/14 16:59:14 -- 好的,谢谢 |
-- 作者:一杯沧海 -- 发布时间:2020/8/17 8:42:49 -- 按照平仓后不开仓那么EXITBARS<=5 or EXITBARS=-1是用一个即可,还是这两个都要加上呢? |
-- 作者:FireScript -- 发布时间:2020/8/17 8:59:03 -- EXITBARS<=5 or EXITBARS=-1 后面这部分不可以去掉。因为第一次开仓时候,前面肯定是没有过平仓的。加后面部分就是为了处理这个的。
|
-- 作者:一杯沧海 -- 发布时间:2020/8/17 9:36:53 -- 收到,我再试试,有问题再请教 |
-- 作者:一杯沧海 -- 发布时间:2020/8/17 11:25:03 -- 我把语句加进去了,但是因为是“非多既空”的模式,所以增加语句没有任何改变,请帮我修改一下: IF HOLDING=0 THEN BEGIN IF TMP<=0 THEN BUY(1,ss,MARKET,CLOSE); END IF HOLDING=0 THEN BEGIN IF TMP>0 THEN BUYSHORT(1,ss,MARKET,CLOSE); END IF HOLDING>0 THEN BEGIN IF TMP>0 THEN BEGIN SELL(1,HOLDING,MARKET,CLOSE); BUYSHORT(EXITBARS<=5 or EXITBARS=-1,ss,MARKET,CLOSE); END END IF HOLDING<0 THEN BEGIN IF TMP<=0 THEN BEGIN SELLSHORT(1,HOLDING,market,CLOSE); BUY(EXITBARS<=5 or EXITBARS=-1,ss,MARKET,CLOSE); END END |
-- 作者:FireScript -- 发布时间:2020/8/17 13:09:36 -- 看你的代码 你的需求是上面这个平空后 6个周期之后才允许开多仓或者平多后6个周期才允许开空仓?是这样的需求? |