欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件公式模型编写问题提交 → 总是不平空就开多,图表上都正常,另外不能在信号消失后恢复持仓,怎么回事?

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有6974人关注过本帖平板打印复制链接

主题:总是不平空就开多,图表上都正常,另外不能在信号消失后恢复持仓,怎么回事?

帅哥哟,离线,有人找我吗?
MMM
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:71 积分:415 威望:0 精华:0 注册:2011/12/8 20:22:33
  发帖心情 Post By:2012/3/12 12:44:07    Post IP:125.33.95.159[只看该作者]

刚才在午盘收盘后有做了逐笔回放模拟交易测试,这次的交易记录中平空开多是正常的,就是开空之前没有平多了。 可能和测试时的模拟帐户的持仓状态关联起来了,昨天测试的时候考虑到逐笔回放必须断开连接,也就估计与持仓状态无关。

无平空就开多的时候模拟帐户是持有多仓,无平多就开空的时候模拟帐户是持有空仓。

 

我的代码如下,请火哥指教:

 

variable:kpos=0;(或用globalvariable声明)//不再使用islastbar

.

.

.

bars:=kpos;
if barpos>kpos then begin

 sellshort(lastlong and holding<0, 1, limitr, o);
 sell(lastshort and holding>0, 1, limitr, o);
 buyshort(lastshort and holding=0, 1, limitr, o);  
 buy(lastlong and holding=0, 1, limitr, o);
 

 kpos:=barpos;
 inkbuy:=0;
end

if InTermBuy then begin //K线中满足条件即交易,之后至新K线产生之前的最后1秒扫描可能有两种情况,1是InTermBuy继续成立(信号保持),但收盘价决定需要主动恢复仓位,这时会改变lastlong和lastshort的状态并通过在新K线产生的第一秒实现主动恢复仓位的操作;2是InTermBuy不成立了(信号消失),这时K线的虚拟仓位状态和实际相反,这时通过勾选的自动回复持仓功能进行恢复。(这个还没有测到,也不知是否会出现问题?)
 sellshort(holding<0, 1, limitr, PriceInK);
 buy(holding=0, 1, limitr, PriceInK);
 inkbuy:=1;
end

[此贴子已经被作者于2012-3-12 12:48:27编辑过]

 回到顶部
总数 13 1 2 下一页