以文本方式查看主题

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

--  作者:gavinwon
--  发布时间:2013/10/8 14:37:58
--  模型编写的问题

//中间变量

HC:REF(HHV(C,M),1);//长周期收盘价高点

LC:REF(LLV(C,M),1);//长周期收盘价低点

HC:REF(HHV(C,M1),1);//短周期收盘价高点

LC:REF(LLV(C,M1),1);//短周期收盘价低点

手数:=SS;

 

//开平仓条件

长周期开多平空信号:=C>HC;

长周期开空平多信号:=C<HC;

平多条件:=C<LC ;

平空条件:=C>HC ;

开多条件:=C>HC ;

开空条件:=C<LC ;


 

//意图:

多单:在长周期发出开多信号起,到长周期发出平仓信号止,在短周期上只做多不做空;

空单:在长周期发出开空信号起,到长周期发出平仓信号止,在短周期上只做空不做多。

 

//交易系统:

(怎样在这里加入限制条件,即长周期开多平空条件成立起直到长周期开空平多条件成立止,进行如下操作)

平多:SELL( 平多条件 AND HOLDING>0,手数,LIMITR,C);

开多:BUY( 开多条件 AND HOLDING<=0,手数,LIMITR,C);

 

(怎样在这里加入限制条件,即长周期开空平多条件成立起直到长周期开多平空条件成立止,进行如下操作)

平空:SELLSHORT(平空条件 AND HOLDING<0,手数,LIMITR,C);

开空:BUYSHORT(开空条件 AND HOLDING>=0,手数,LIMITR,C);

 

[此贴子已经被作者于2013/10/8 14:38:51编辑过]

--  作者:jinzhe
--  发布时间:2013/10/8 14:51:28
--  

平多条件:=C<LC短 ;

平空条件:=C>HC短 ;

开多条件:=C>HC短 ;

开空条件:=C<LC短 ;

 

 

这4个是对应短周期条件吗?


--  作者:gavinwon
--  发布时间:2013/10/8 14:53:21
--  
是的
--  作者:gavinwon
--  发布时间:2013/10/8 14:54:20
--  
不知道说的是不是清楚,就是不会发图片


--  作者:jinzhe
--  发布时间:2013/10/8 15:16:18
--  

前面的定义代码不变,后面得要这样改

 

variable:n=0;
variable:m=0;

if 长周期开多平空信号:=C>HC长 then begin
 n:=1;
 m:=0;
end

if 长周期开空平多信号:=C<HC长 then begin
  m:=1;
  n:=0;
end
平多条件:=C<LC短 ;
平空条件:=C>HC短 ;
开多条件:=C>HC短 ;
开空条件:=C<LC短 ;
//意图:
//多单:在长周期发出开多信号起,到长周期发出平仓信号止,在短周期上只做多不做空;
//空单:在长周期发出开空信号起,到长周期发出平仓信号止,在短周期上只做空不做多。

 
//交易系统:
//(怎样在这里加入限制条件,即长周期开多平空条件成立起直到长周期开空平多条件成立止,进行如下操作)
if n=1 then begin
平多:SELL( 平多条件 AND HOLDING>0,手数,LIMITR,C);
开多:BUY( 开多条件 AND HOLDING<=0,手数,LIMITR,C);
end

//(怎样在这里加入限制条件,即长周期开空平多条件成立起直到长周期开多平空条件成立止,进行如下操作)
if m=1 then begin
平空:SELLSHORT(平空条件 AND HOLDING<0,手数,LIMITR,C);
开空:BUYSHORT(开空条件 AND HOLDING>=0,手数,LIMITR,C);
end


--  作者:gavinwon
--  发布时间:2013/10/8 15:23:06
--  
谢谢你这么快回复我,我先试试看啦,有问题再请教您!!
--  作者:gavinwon
--  发布时间:2013/10/8 19:17:34
--  

你好,测试了一下,基本实现了设想,但是在长周期开仓条件和短周期平仓条件重合时,不出现信号,既不平仓也不能重新开仓,必须等到下一次长周期开仓条件成立时,再出现信号,请问哪里需要修改??


--  作者:gavinwon
--  发布时间:2013/10/8 19:36:25
--  
以下是引用gavinwon在2013/10/8 19:17:34的发言:

你好,测试了一下,基本实现了设想,但是在长周期开仓条件和短周期平仓条件重合时,不出现信号,既不平仓也不能重新开仓,必须等到下一次长周期开仓条件成立时,再出现信号,请问哪里需要修改??

上面说的不对,应该是在长周期开仓条件和短周期平仓条件重合时,不出现信号,既不平仓也不能重新开仓,要等到这个短周期平仓后,才能再回到正常的开平仓规则中,会造成重合的那个长周期条件的那个时间段没有交易,始终持有前一个短周期仓位,这样会逆向持仓很长时间。


--  作者:gavinwon
--  发布时间:2013/10/8 20:07:25
--  
呵呵,问题解决了。再请教个问题,平仓条件怎样控制不向不利的方向移动。比如空单的话,平仓条件只向下不向上移动;多单的情况则平仓条件只向上不向下移动。
--  作者:jinzhe
--  发布时间:2013/10/9 9:10:37
--  
啥叫如何控制方向移动?