以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 后台程序化重复开仓 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=147704) |
-- 作者:a383623133 -- 发布时间:2017/2/13 16:01:17 -- 后台程序化重复开仓 开平仓函数如下:运行模式用固定1秒间隔模式,盘中有出现重复开仓的情况,该函数不是检测了仓位=0才开吗?为什么还会重复?请教下是哪里出错了? if pk then tSELLSHORT(1,0,mkt); //平空信号 if kd and tholding=0 then begin tSELLSHORT(1,0,mkt); tBUY(1,1,mkt); //开多信号 end if pd then tSELL(1,0,mkt); //平多信号 if kk and tholding=0 then begin tSELL(1,0,mkt); tBUYSHORT(1,1,mkt); //开空信号 end |
-- 作者:jinzhe -- 发布时间:2017/2/13 16:07:11 -- 请具体的讲一下“重复下单”的情况,是重复下同方向单,还是下反方向单?有记录下单日志吗? |
-- 作者:a383623133 -- 发布时间:2017/2/13 16:12:10 -- 重复下同方向的 |
-- 作者:jinzhe -- 发布时间:2017/2/13 16:14:39 -- 那么当时的持仓情况是什么?同时有多头和空头持仓吗? |
-- 作者:a383623133 -- 发布时间:2017/2/13 16:18:29 -- 只有一边的仓位 |
-- 作者:王锋 -- 发布时间:2017/2/13 16:23:28 -- if kd and tholding=0 then begin 这里有病句的,你1秒间隔扫描,从上一笔下单到最后成交是可能大于1秒的,tholding这里是你的真实持仓的。 建议你 增加条件 if kd and tholding=0 and TISPRVREMAIN = 0 then begin
另外后台交易对编写者的编程能力要求较高,您应该懂得一些基本的调试技巧,以免出现问题后手足无措。
请认真参考
DEBUGFILE----使用日志方式完善您的策略 http://www.weistock.com/bbs/dispbbs.asp?boardid=4&Id=49428 |
-- 作者:jinzhe -- 发布时间:2017/2/13 16:25:04 -- TISPRVREMAIN (0)= 0 上面少参数了,要这样写 |
-- 作者:a383623133 -- 发布时间:2017/2/13 16:47:44 -- 好的,谢谢指导 |
-- 作者:a383623133 -- 发布时间:2017/2/14 15:28:16 -- if pk and TISPRVREMAIN(0)=0 then tSELLSHORT(1,0,mkt); //平空信号 if kd and tholding=0 and TISPRVREMAIN(0)=0 then tBUY(1,ss,mkt); //开多信号 if pd and TISPRVREMAIN(0)=0 then tSELL(1,0,mkt); //平多信号 if kk and tholding=0 and TISPRVREMAIN(0)=0 then tBUYSHORT(1,ss,mkt); //开空信号 持仓:tholding,linethick0; 今天测试了还是重复开仓了
|
-- 作者:jinzhe -- 发布时间:2017/2/14 15:47:21 -- 发下单日志 |