以文本方式查看主题

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

--  作者:michael000
--  发布时间:2013/8/10 10:31:09
--  请教一个开平仓不同步的问题
模型希望是平仓同时反手,但不明白为什么有时候可以同步,有时候又不同步,隔了一条k线,想请教一下,谢谢~~


代码:

if 开空条件  and HOLDING>0 then sell(1,手数,MARKET);

if 开多条件  and HOLDING=0 then begin
开多:BUY(1,手数,MARKET);
hl:=h;//记录开仓后的最高点
zs:=enterprice*(1-stop0*0.01);//初始止损
s:=0;
end

if 开多条件 and HOLDING<0 then sellshort(1,手数,MARKET);


if 开空条件   and HOLDING=0 then begin 
开空:BUYSHORT(1,手数,MARKET);
hl:=l;//记录开仓后的最高点
zs:=enterprice*(1+stop0*0.01);//初始止损
b:=0;
end;

--  作者:michael000
--  发布时间:2013/8/10 10:44:47
--  

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20130810104358.jpg
图片点击可在新窗口打开查看

--  作者:michael000
--  发布时间:2013/8/10 11:35:56
--  
刚才又试了一下,发现把平仓的两个语句放到最前面,开仓的放后面,就正常了,是因为语句顺序的原因吗?
--  作者:eonianhouge
--  发布时间:2015/6/2 11:37:17
--  
if 开多条件 and HOLDING<=0 then sellshort(1,手数,MARKET);


if 开空条件   and HOLDING>=0 then begin 
开空:BUYSHORT(1,手数,MARKET);
hl:=l;//记录开仓后的最高点
zs:=enterprice*(1+stop0*0.01);//初始止损
b:=0;
end;


没有去程序验证,看过去应该是holding那里的问题,改一下试试

--  作者:jinzhe
--  发布时间:2015/6/2 13:10:32
--  

要希望反手,平仓要写在开仓语句之前

比如

 

平空

开多

 

平多

开空

 

这样的顺序写