以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  [原创]请教,信号触发下单的代码编写  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=54268)

--  作者:木鱼石传说
--  发布时间:2013/7/24 14:12:54
--  [原创]请教,信号触发下单的代码编写
我有个策略,有的信号要求条件一触发就下单交易,有的信号要求条件触发后要等K线走完才下单交易,

实际应用中,如果采用图表程式化交易的轮询来控制,难以达到要求,因为如果采用K线走完模式,那么要求一触发就下单交易的信号无法完成,如果用固定间隔时间1秒轮询模式,那么要求要K线走完才下单交易的信号又无法达到要求。


请教,如何编写代码才能达到上述“有的信号要求条件一触发就下单交易,有的信号要求条件触发后要等K线走完才下单交易”的要求?

--  作者:fly
--  发布时间:2013/7/24 14:19:30
--  

如何编写代码才能达到上述“有的信号要求条件一触发就下单交易,有的信号要求条件触发后要等K线走完才下单交易”的要求?

 

选用:固定时间间隔1秒轮询模式

 

(1)原来本根K线满足CON,想要下根K线开盘发单的语句----要求条件触发后要等K线走完才下单交易

---原来写法:IF CON AND HOLDING=0 THEN BUY(1,1,MARKET);

---改为:IF REF(CON,1) AND HOLDING=0 THEN BUY(1,1,MARKET);

 

(2)满足条件,就立马平仓的,就直接使用----要求条件一触发就下单交易

  IF CON2 AND HOLDING>0 THEN SELL....

    在立马平仓的里面,要注意信号闪烁问题,请合理使用OPEN,HIGH,LOW使您的信号不闪烁.


--  作者:木鱼石传说
--  发布时间:2013/7/24 15:08:40
--  
试了一下,不行,开仓的位置变化了,由此还会连锁引起其它信号的变化
--  作者:lichenghu
--  发布时间:2013/7/24 15:25:06
--  

正所谓鱼与熊掌不可兼得。以下方法供参考

 固定轮询模式下

   要求某个开平仓语句要在K线走完后执行,可以考虑用K线走完提前N秒执行来起来类似的效果。

在代码执行条件加time0-timetot0(dynainfo(207))<=N

 例如:if time0-timetot0(dynainfo(207))<=5 then

    buy(1,,) 表示K线走完5秒前下单


--  作者:木鱼石传说
--  发布时间:2013/7/26 21:53:16
--  
提前n秒下单的代码如下面这样写,可以吗?

tqxiadan:= time0-timetot0(dynainfo(207))<=N;
if  tqxiadan then begin
    if  longcond  then begin
    sellshort();
    buy();
   end
   if  shortcond then begin
   sell();
   buyshort();
  end
end