以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 策略没有开仓信号 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=71450) |
-- 作者:chyhao -- 发布时间:2014/10/28 13:25:57 -- 策略没有开仓信号 BUY(C>O&&EXITBARS>0&&HOLDING=0,1,THISCLOSE);
简单写了个测试策略,限定一根K线只能够出一个信号,但是加载到主图没有信,麻烦老师们帮忙看看什么问题,谢谢 |
-- 作者:jinzhe -- 发布时间:2014/10/28 13:37:05 -- variable:n=0; if n=0 and holding=0 and c>o then begin buy(1,1,market); n:=1; end if n=0 and holding=0 and c<o then begin buyshort(1,1,market); n:=1; end if n=1 then begin BUY(C>O&&EXITBARS>0&&HOLDING=0,1,THISCLOSE); end |
-- 作者:chyhao -- 发布时间:2014/10/28 14:28:51 -- 老师能否解释下为什么上边要用到全局变量,谢谢 |
-- 作者:jinzhe -- 发布时间:2014/10/28 14:30:39 -- 先写第一次开仓,后面的是后续开仓
你那样写不觉得逻辑有问题吗?开仓条件是平仓周期,而没有开仓,那么平仓周期哪里来呢? |
-- 作者:chyhao -- 发布时间:2014/10/28 14:53:25 -- 哈哈,明白了,谢谢 |
-- 作者:chyhao -- 发布时间:2014/10/28 14:54:46 -- LLV 函数在逐K线模式下不能直接在IF控制语句之内引用。请参阅帮助公式部分的解决方案。
上边的策略出现这个问题,请问该怎么解决? |
-- 作者:jinzhe -- 发布时间:2014/10/28 15:05:52 -- variable:n=0; l3:=llv(c,3); h3:=hhv(h,3); if n=0 and holding=0 and c>o then begin buy(1,1,market); n:=1; end if n=0 and holding=0 and c<o then begin buyshort(1,1,market); n:=1; end if n=1 then begin BUY(C>O&&EXITBARS>0&&HOLDING=0,1,THISCLOSE); end |
-- 作者:chyhao -- 发布时间:2014/10/29 17:42:02 -- 我增加一个条件,平多后超过5个周期才能开空,平空后超过5个周期才能开多,代码如下:
variable:n=0; l3:=llv(c,3); h3:=hhv(h,3); D1:=VALUEWHEN(EXITBARS=0&&HOLDING=0,REF(HOLDING,1))>0 and EXITBARS>5;//平多后超过5个周期才开空 if n=0 and holding=0 and c>o then begin buy(1,1,market); n:=1; end if n=0 and holding=0 and c<o then begin buyshort(1,1,market); n:=1; end if n=1 then begin BUY(C>O&&EXITBARS>0&&HOLDING=0&&D2,1,THISCLOSE); end
但是加载在主图上没有信号,是不是哪里写错了,麻烦老师检查一下,谢谢 |
-- 作者:jinzhe -- 发布时间:2014/10/30 8:56:59 -- variable:n=0; l3:=llv(c,3); h3:=hhv(h,3);
if n=0 and holding=0 and c>o then begin buy(1,1,market); n:=1; end if n=0 and holding=0 and c<o then begin buyshort(1,1,market); n:=1; end if n=1 then begin end |
-- 作者:chyhao -- 发布时间:2014/10/30 13:08:27 -- 上边的这种写法,只是平仓后超过5个周期才开仓,并没有区分平多或者平空啊
|