以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  使用if的交易条件实际是一样的,但是交易结果就不一样。  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=59005)

--  作者:qq代人发帖
--  发布时间:2013/11/20 13:45:06
--  使用if的交易条件实际是一样的,但是交易结果就不一样。
请教:使用if的交易条件实际是一样的,但是交易结果就不一样。
平空:SELLSHORT(平空条件,手数,MARKET);
平多:SELL(平多条件,手数,MARKET);
开多:BUY(开多条件,手数,MARKET);
开空:BUYSHORT(开空条件,手数,MARKET);
为什么
if cmi >=300 then begin 
  
  if x=0 then begin //趋势kaicang
  趋势开多:BUY(开多条件 ,手数,MARKET);
  趋势开空:BUYSHORT(开空条件 ,手数,MARKET);
    if holding<>0 then begin 
    x:=1;
    end
  end
  if x=1 then begin //趋势pingcang
  趋势平空:SELLSHORT(平空条件,手数,MARKET);
  趋势平多:SELL(平多条件,手数,MARKET);
    if holding=0 then begin 
    x:=0;
    end
  end
end

if cmi <300 then begin
  if  x=1 then begin 
  平空:SELLSHORT(平空条件,手数,MARKET);
  平多:SELL(平多条件,手数,MARKET);
    if holding=0 then begin 
    x:=0;
    end
  end
  {if  y=0 then begin 
  开多1:BUY(开多平空条件 and holding <=0 and cmi<300,手数,MARKET);
  开空1:BUYSHORT(开空平多条件 and holding >=0 and cmi<300,手数,MARKET); 
    if holding<>0 then begin 
    y:=1;
    end
  end
  if  y=1 then begin
  平空2:SELLSHORT(开多平空条件 and holding <0 or p1>0,手数,MARKET);
  平多2:SELL(开空平多条件 and holding >0 or  p1<0,手数,MARKET);
    if holding<>0 then begin 
    y:=0;
    end
  end  
end



//注意交易系统先开后平的原则
{ if  x=0 then begin
   开多:BUY(开多条件 ,手数,MARKET);
  if holding>0 then begin 
   x:=1;
   Y:=1;
   end
  end
  
  if  y = 0 then begin 
   开空:BUYSHORT(开空条件,手数,MARKET);
   if holding<0 then begin 
   X:=1;
   y:=1;
   end
  end   
 if  x=1 then begin
  趋势平多:SELL(平多条件,手数,MARKET);
   if holding <=0 then begin
   x:=0;
   end
  END
  if  y=1 then begin
  趋势平空:SELLSHORT(平空条件,手数,MARKET);
    if holding >=0 then begin
   y:=0;
   end
  ENd}
为什么下面的if代码和上面的不一样
交易结果不一样

--  作者:jinzhe
--  发布时间:2013/11/20 13:54:28
--  

第二段CMI的判断是没写还是忘记发了?