Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共17 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:策略没有开仓信号

1楼
chyhao 发表于:2014/10/28 13:25:57

BUY(C>O&&EXITBARS>0&&HOLDING=0,1,THISCLOSE);
sell(C=LLV(C,3)&&HOLDING>0,HOLDING,THISCLOSE);
BUYSHORT(C<O&&EXITBARS>0&&HOLDING=0,1,THISCLOSE);
SELLSHORT(C=HHV(C,3)&&HOLDING<0,HOLDING,THISCLOSE);

 

简单写了个测试策略,限定一根K线只能够出一个信号,但是加载到主图没有信,麻烦老师们帮忙看看什么问题,谢谢

2楼
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);
  sell(C=LLV(C,3)&&HOLDING>0,HOLDING,THISCLOSE);
  BUYSHORT(C<O&&EXITBARS>0&&HOLDING=0,1,THISCLOSE);
  SELLSHORT(C=HHV(C,3)&&HOLDING<0,HOLDING,THISCLOSE);

end

3楼
chyhao 发表于:2014/10/28 14:28:51
老师能否解释下为什么上边要用到全局变量,谢谢
4楼
jinzhe 发表于:2014/10/28 14:30:39

先写第一次开仓,后面的是后续开仓

 

你那样写不觉得逻辑有问题吗?开仓条件是平仓周期,而没有开仓,那么平仓周期哪里来呢?

5楼
chyhao 发表于:2014/10/28 14:53:25
哈哈,明白了,谢谢
6楼
chyhao 发表于:2014/10/28 14:54:46

LLV 函数在逐K线模式下不能直接在IF控制语句之内引用。请参阅帮助公式部分的解决方案。

 

上边的策略出现这个问题,请问该怎么解决?

7楼
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);
  sell(C=l3 and HOLDING>0,HOLDING,THISCLOSE);
  BUYSHORT(C<O&&EXITBARS>0&&HOLDING=0,1,THISCLOSE);
  SELLSHORT(C=h3 and HOLDING<0,HOLDING,THISCLOSE);

end

8楼
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个周期才开空
D2:=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);
  sell(C=l3 and HOLDING>0,HOLDING,THISCLOSE);
  BUYSHORT(C<O&&EXITBARS>0&&HOLDING=0&&D1,1,THISCLOSE);
  SELLSHORT(C=h3 and HOLDING<0,HOLDING,THISCLOSE);

end

 

但是加载在主图上没有信号,是不是哪里写错了,麻烦老师检查一下,谢谢

9楼
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
  SELLSHORT(C=h3 and  HOLDING<0,HOLDING,THISCLOSE);
  BUY(C>O and EXITBARS>5 and HOLDING=0 ,1,THISCLOSE);
  sell(C=l3 and  HOLDING>0,HOLDING,THISCLOSE);
  BUYSHORT(C<O and EXITBARS>5 and HOLDING=0 ,1,THISCLOSE);
 

end

10楼
chyhao 发表于:2014/10/30 13:08:27

上边的这种写法,只是平仓后超过5个周期才开仓,并没有区分平多或者平空啊

 

共17 条记录, 每页显示 10 条, 页签: [1] [2]


Powered By Dvbbs Version 8.3.0
Processed in 0.03223 s, 3 queries.