以文本方式查看主题

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

--  作者:cyt3872730
--  发布时间:2015/9/24 14:52:24
--  求助,交易系统的问题

我想问一下,在交易系统里,该如何编排buy(),sell(),buyshort(),sellshort()顺序来保证平多后可以开空。

我的程序回测只有开多平多,而没有开空平空的过程,求解,谢谢。


--  作者:jinzhe
--  发布时间:2015/9/24 14:56:20
--  

sellshort

buy

sell

buyshort


--  作者:cyt3872730
--  发布时间:2015/9/24 15:11:12
--  

我也按照你说的这个顺序了,但是还是无法执行开空

我的交易代码如下

 SELLSHORT(C1||A,1,MARKET);
 BUY(C1||A&&HOLDING=0,1,MARKET);

 SELL(D1&&HOLDING>0,0,MARKET);
 BUYSHORT(D1&&HOLDING<0,0,MARKET);

请问我这里问题在哪,谢谢回答


--  作者:jinzhe
--  发布时间:2015/9/24 15:18:10
--  
buyshort的holding条件改成holding=0,
[此贴子已经被作者于2015/9/24 15:18:15编辑过]

--  作者:cyt3872730
--  发布时间:2015/9/24 16:13:15
--  
还是不行啊,请问大大,这四个函数的工作机理是什么啊
--  作者:jinzhe
--  发布时间:2015/9/24 16:18:43
--  
不会不行,把你现在的代码贴出来
--  作者:cyt3872730
--  发布时间:2015/9/24 16:30:48
--  

if H1 then
begin
 SELLSHORT(holding,1,MARKET);
 BUY(C1||A&&HOLDING=0,1,MARKET);

 SELL(D1&&HOLDING>0,0,MARKET);
 BUYSHORT(D1&&HOLDING=0,0,MARKET);
end

求解答,谢谢


--  作者:jinzhe
--  发布时间:2015/9/24 16:36:22
--  

。。。这些代码测试的结果是编译不通过,贴全部代码


--  作者:cyt3872730
--  发布时间:2015/9/24 16:37:06
--  

MA21:MA(CLOSE,21),COLORRED;
A:=CLOSE>REF(CLOSE,1)&&CLOSE>REF(CLOSE,2);
B1:=CLOSE<REF(CLOSE,1)&&CLOSE<REF(CLOSE,2);

E:=CLOSE>MA21;
F:=CLOSE<MA21;

MA215:=MA21+3;
C1:=CROSS(CLOSE,MA21);
D1:=CROSS(MA215,CLOSE);
H1:=(close-MA21)>200;
J:=(OPENINT-ref(OPENINT,1))>500;

if H1 then
begin
 SELLSHORT(holding,1,MARKET);
 BUY(C1||A&&HOLDING=0,1,MARKET);

 SELL(D1&&HOLDING>0,0,MARKET);
 BUYSHORT(D1&&HOLDING=0,0,MARKET);
end


--  作者:jinzhe
--  发布时间:2015/9/24 16:38:03
--  

sellshort(holding<0,0,market);
buy(holding=0,1,market);
sell(holding>0,1,market);
buyshort(holding=0,1,market);

 

最简单的范例,是没有问题的

不开空,是其他问题,你不要贴你认为错误的地方