以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (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=159762) |
-- 作者:yuanman -- 发布时间:2017/11/22 14:00:41 -- 交易指令问题 请教老师;我在模型运行中出现信号漂移问题,模型在30分钟周期上运行,9.30分时出信号开仓下单,10,00时信号漂移至10.00的K线上,模型又一次开仓下单,我的交易指令是这样编写的; IF SELLSHORT4 THEN BEGIN
平空:SELLSHORT(1,0),ORDERQUEUE; 开多:BUY(HOLDING=0,ORDVOL,MARKET); HIGHPRICE:=ENTERPRICE; //将开仓价保存到最高价 END 我的问题是9,30分开仓后,仓位大于0的情况下(HOLDING=0),应该是不会开仓的,为什么还是开仓了?谢谢 |
-- 作者:wenarm -- 发布时间:2017/11/22 14:39:44 -- 看下你的SELLSHORT4 开仓条件是怎么写的 |
-- 作者:yuanman -- 发布时间:2017/11/22 15:00:16 -- 其他的应该没问题,就是一个跨周期MACD指标在30分钟周期引用了45分钟周期上的数据,我知道这个是造成信号漂移的原因,我的模型是一开一平,没有加仓模式,我想解决的问题是在 平空:SELLSHORT(1,0),ORDERQUEUE; 开多:BUY(HOLDING=0,ORDVOL,MARKET);这样的交易指令中,在已经有多单的情况下是不是不应该再开多单?请老师解惑。谢谢! |
-- 作者:FireScript -- 发布时间:2017/11/22 15:20:35 -- 交易语句没问题,问题还是在信号闪烁上。 9:30那个K出现过信号,但是后来信号消失,虚拟持仓会恢复为0.所以10点的K才会再次开仓。 每次分笔来的时候,指标每次都会从第一个K开始计算,10点的时候9:30的K上是没信号的,所以虚拟持仓的计算结果在9:30点的K上就是holding=0 了,到10点,自然就开仓了。 你需要理解的是虚拟持仓和实际账号持仓是独立的,单向的关系。不会因为实际账号有持仓,使得holding发生变化。而且指标里的虚拟持仓,最新K上也是在不断计算中变化的,历史K是稳定的。 |
-- 作者:yuanman -- 发布时间:2017/11/22 15:48:26 -- 这样的话持仓量函数holding=0不就没有什么意义了?有真实仓位都不能识别吗?不太理解!请问老师,还有什么方法可以解决这个问题?老师不要说从编程上解决,金字塔小周期调用大周期的跨周期造成的信号漂移好像没法解决,我只想解决在有仓位的情况下,如何不再开同方向单的问题。请老师帮助!谢谢 |
-- 作者:FireScript -- 发布时间:2017/11/22 16:14:03 -- 1.图表是一个独立的系统,图表是无法获取真实仓位持仓情况的 。实际账号是跟随图表信号进行下单操作的,但是这是个单向关系,图表系统收不到实际账户的反馈的。 holding=0不是没有意义,只是你用的固定轮询情况下,不太好避免闪烁。 2.可以考虑使用持仓同步的功能。它会根据你虚拟仓位和实际账户的仓位对比来进行调整。 |