以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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 |