以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  求老师指导  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=30434)

--  作者:漫步金字塔
--  发布时间:2012/11/6 16:21:51
--  求老师指导

当满足cound1时

 

价格每天从最高价下降5个点,加一手空单,再将5个点,再加一手空单,一直加。当价格上升5个点时,平两手空单,然后再生5个点,平一手空单,。

加的时候,一手一首的加,平的时候,先平2手,在一手一手的平。

 

我想的是这样来判断。加仓的信号就降5点就加,上次的信号若是开仓的信号这次就平两手。上次若是平仓信号,这次就只平一手。老师,这个怎么实现。


--  作者:lichenghu
--  发布时间:2012/11/7 9:11:14
--  
您稍等,需要点时间。
--  作者:lichenghu
--  发布时间:2012/11/7 9:21:04
--  
楼主您用于是日线周期?
--  作者:漫步金字塔
--  发布时间:2012/11/7 11:56:49
--  

30分钟周期,老师


--  作者:lichenghu
--  发布时间:2012/11/7 12:57:56
--  

//中间变量

VARIABLE:HH=0,NN=0,DD=0,XX=0;//全局变量
NN:=BARSLAST(DATE<>REF(DATE,1)+1);
HH:=HHV(HIGH,NN);//记录当天最高价
//交易条件
COND1:=TIME>090000;//这个是根据您的cond1附加的,请您自己修改
COND2:=CLOSE<=REF(CLOSE,ENTERBARS+1)-5*MINDIFF;//比上次开仓下降5个点加空条件
COND3:= CLOSE>=REF(CLOSE,ENTERBARS+1)+5*MINDIFF;//比上次开仓回升5个点平空条件
COND5:=CLOSE>=REF(CLOSE,EXITBARS+1)+5*MINDIFF;//第二次回升5个点平空条件
COND4:=CLOSE<=HH-5*MINDIFF;//最高价下降5个点开空条件
//交易系统
IF COND1 THEN
BEGIN
      IF COND4 AND XX=0 THEN
      BEGIN
      开空:BUYSHORT(1,1,THISCLOSE);
      DD:=0;
      XX:=1;
       END

      IF COND2 THEN
      BEGIN
      2次开空:BUYSHORT(1,1,THISCLOSE);
      DD:=0;
      END
      IF HOLDING<0 AND COND3 AND DD=0 THEN
      BEGIN
      平空:SELLSHORT(1,2,THISCLOSE);
      DD:=1;
      END
      IF  HOLDING<0 AND COND5 THEN
      BEGIN
      2次平空:SELLSHORT(1,1,THISCLOSE);
      END
     IF CLOSE=HH THEN
     BEGIN
     XX=0;
     END
END
//全局变量用于控制,防止重复开仓或平仓

 


--  作者:lichenghu
--  发布时间:2012/11/7 13:07:41
--  
COND1  是您自己的条件 我随便加的