以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  【求助】后台重复加仓  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=28258)

--  作者:金字塔散户
--  发布时间:2012/9/20 11:23:51
--  【求助】后台重复加仓

//多头加仓条件

If (High>myEntryPrice+0.5*N) and TurtleUnits<4 Then Begin
myEntryPrice := IF(Open>myEntryPrice+0.5*N ,Open ,myEntryPrice+0.5*N ) ;
myEntryPrice := Ceiling(myEntryPrice/MINDIFF)*MINDIFF ;
TurtleUnits := TurtleUnits+1 ;

tbuy( _TDEBUG,PosNum,LMT,h),ALLOWREPEAT ;

EXTGBDATASET(strEntryBarPos,Barpos ) ;
EXTGBDATASET(strPreEntryPrice,myEntryPrice ) ;
EXTGBDATASET(strTurtleUnits,TurtleUnits ) ;
EXTGBDATASET(strPosition,Position ) ;

End //IF多头加仓条件

后台加仓用的allowrepeat函数,但是在1秒轮询模式下,会出现同一点位重复加仓,有什么办法解决吗?

之前试过用持仓量来判断,但是发现发出信号到实际持仓之间的这段时间内(大概3秒以内)依然会重复加仓。


--  作者:jinzhe
--  发布时间:2012/9/20 13:32:10
--  

sleep

在tbuy后sleep几秒钟


--  作者:金字塔散户
--  发布时间:2012/9/20 17:08:54
--  
我是想即使在信号消失的情况下,只要发出了委托,就不再重复开仓。不取后台实际持仓,直接用全局变量来控制。比如一根k线从10到20,我准备在10,14,17,19,20开5次仓,轮询的时候价格打到14,我就委托。不管是否成交,14这个点位在这根k线以及下一根k线上都不允许再发委托单,这个该怎么写呢?
--  作者:jinzhe
--  发布时间:2012/9/20 17:28:17
--  
这个得要用VBA来写了吧?感觉PEL后台已经实现不了了
--  作者:王锋
--  发布时间:2012/9/20 18:02:18
--  
可以用后台的TISREMAIN函数判断是否有未成交单来控制由于扫描过快,成交回报不及时带来的重复下单问题
--  作者:金字塔散户
--  发布时间:2012/9/20 21:08:01
--  
我在想如果通过判断当前点位是否持仓,是否有过委托记录这2点来用全局变量控制。当前是有持仓的,并且该点位没有委托记录,则可以加仓,但是具体的代码不会写,版主能否代劳?