以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  策略编写求助区  (http://weistock.com/bbs/list.asp?boardid=11)
----  求助五分钟K线策略  (http://weistock.com/bbs/dispbbs.asp?boardid=11&id=9239)

--  作者:zhphappy
--  发布时间:2011/12/5 9:50:19
--  求助五分钟K线策略
上午10点到下午14:00分操作,每天最多只操作一次 开多:当五分钟K线收盘价涨幅大于上根K线收盘价0.3%时开多,止损:上根K线的收盘价为止损价,当这根K线涨幅大于0.5%时,止损价变为:进场价-0.5%*进场价 开空:当五分钟K线收盘价跌幅大于上根K线收盘价0.3%时开空,止损:上根K线的收盘价为止损价,当这根K线跌幅大于0.5%时,止损价变为:进场价+0.5%*进场价 平仓: 多单:跌破前十根K线低点 空单:涨破前十根K线低点 15:05时清空所有仓位.
--  作者:26327756l
--  发布时间:2011/12/5 10:28:26
--  

问题正在解决中

 


--  作者:26327756l
--  发布时间:2011/12/5 14:26:23
--  

条件永远不成立

数据使用不恰当

请在仔细想想

代码贴出来,逻辑存在,修改比较数据就可以了。

variable:kai=0,b=0;
cc:=ref(c,1);
s:DYNAINFO( 14);
ss:cc*0.003;
sz:DYNAINFO( 12);
ssz:cc*-0.003;
if time>100000 and time<140000 and b=0 then
begin
  if DYNAINFO( 14)>cc*0.003 then
   begin
     sellshort(holding<0,0,market);
     buy(holding=0,1,market);
     b:=1;
    
     if  DYNAINFO( 14)>0.005 then
     begin
        sell(holding>0,0,limit,c-0.005*c);
     end
     else  sell(holding>0,0,limit,cc);
   end
   if DYNAINFO( 12)<cc*-0.003  then
    begin
     sell(holding>0,0,market);
     buyshort(holding=0,1,market);
     b:=1;
     if DYNAINFO( 14)<-0.005 then
       begin
          sellshort(holding<0,0,limit,c+0.005*c);
       end
       else sellshort(holding<0,0,limit,cc);
    end
   
   
    if holding>0 and c<llv(l,10) then sell(1,0,market);
    if holding<0 and c>llv(l,10)  then sellshort(1,0,market);
      

end
if time>150500 then
begin
  sell(holding>0,0,market);
  sellshort(holding<0,0,market);
end