以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  ENTERPRICE在开仓当根K线上的数值不更新的问题  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=30014)

--  作者:ma3yue
--  发布时间:2012/10/22 9:56:48
--  ENTERPRICE在开仓当根K线上的数值不更新的问题

以open价格开仓,当前K线上的holding显示已经是>0,

 

但是ENTERPRICE依然是上次开仓的价格,要等到下一根K线出现才变为本次开仓的价格,

 

这会引起同一根K线内不能及时止损的问题,请高人赐教!


--  作者:jinzhe
--  发布时间:2012/10/22 10:29:15
--  

ENTERPRICE的机制是如此的,


--  作者:ma3yue
--  发布时间:2012/10/22 10:41:08
--  

谢谢!

 

如果想实现同一根K线内到价及时止损平仓,有什么其他的办法吗?

 


--  作者:jinzhe
--  发布时间:2012/10/22 11:22:38
--  

公式是啥样的?ENTERPRICE测试后是能够本根k线更新的


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

--  作者:ma3yue
--  发布时间:2012/10/22 13:27:39
--  

辛苦了,感觉好像是代码顺序的问题:

 

//止损平仓

st5:= holding>0 and L<ENTERPRICE*(1-R);
st6:= holding<0 and H>ENTERPRICE*(1+R);
sell(st5,holding,stopr, ENTERPRICE*(1-R) );

sellshort(st6,holding,stopr, ENTERPRICE*(1+R) );

//开仓
st1:= holding=0 and ref(cross(C, up),1) and time<closetime(0);
st2:= holding=0 and ref(cross(lw, C),1) and time<closetime(0);

buy(st1,volunit,limitr, open);
buyshort(st2,volunit,limitr,open);

 

如果平仓代码在先,则同一根K线的止损失效;

反之,开仓代码在先,就可以执行。

 

原本选择的是高频轮询模式运行,还是受代码先后顺序影响;

高频模式下系统不是应该每个tick都执行一遍代码的吗?

还望赐教!谢谢!

 



--  作者:jinzhe
--  发布时间:2012/10/22 13:59:58
--  
高频就是每个分笔数据都会执行公式