以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 金字塔软件问题提交 (http://222.73.7.161/bbs/list.asp?boardid=2) ---- 帮我看一下程序,怎么会开多仓2次? (http://222.73.7.161/bbs/dispbbs.asp?boardid=2&id=50591) |
-- 作者:xiaotianshen -- 发布时间:2013/4/2 23:29:40 -- 帮我看一下程序,怎么会开多仓2次? 这是日志记录:显示在13:45和12:00分别开了两次多仓 2013-04-02 13:45:59.171 【图表】触发下单 BUY 品种 IF00 2013-04-02 13:45:59.203 【图表】分品种下单调整后,系数1 2013-04-02 13:45:59.203 【图表】模型下单 1 2013-04-02 13:45:59.203 【图表】下单系数调整后 手数:1 2013-04-02 13:45:59.203 【图表】直接下单 2013-04-02 13:45:59.250 【图表】IF00 运行完毕 2013-04-02 13:45:59.250 【下单】IF04 价0.000000 量1 买卖0 类型1 开平0 账户805756 Formula 1 2013-04-02 13:45:59.578 【回报】805756 : IF04 - 正在申报 1 价格:2489.00 开仓 买入 2013-04-02 13:45:59.718 【回报】805756 : IF04 全部成交 1 价格:2488.2 开 买 2013-04-02 13:46:59.109 【图表】IF00 运行完毕 2013-04-02 13:47:59.125 【图表】IF00 运行完毕 2013-04-02 13:48:59.109 【图表】IF00 运行完毕 2013-04-02 13:49:59.109 【图表】IF00 运行完毕 2013-04-02 13:50:59.109 【图表】IF00 运行完毕 2013-04-02 13:51:59.109 【图表】IF00 运行完毕 2013-04-02 13:52:59.109 【图表】IF00 运行完毕 2013-04-02 13:53:59.109 【图表】IF00 运行完毕 2013-04-02 13:54:59.109 【图表】IF00 运行完毕 2013-04-02 13:55:59.109 【图表】IF00 运行完毕 2013-04-02 13:56:59.109 【图表】IF00 运行完毕 2013-04-02 13:57:59.109 【图表】IF00 运行完毕 2013-04-02 13:58:59.109 【图表】IF00 运行完毕 2013-04-02 13:59:59.125 【图表】IF00 运行完毕 2013-04-02 14:00:59.109 【图表】触发下单 BUY 品种 IF00 2013-04-02 14:00:59.109 【图表】分品种下单调整后,系数1 2013-04-02 14:00:59.109 【图表】模型下单 1 2013-04-02 14:00:59.109 【图表】下单系数调整后 手数:1 2013-04-02 14:00:59.109 【图表】直接下单 2013-04-02 14:00:59.156 【图表】IF00 运行完毕 2013-04-02 14:00:59.156 【下单】IF04 价0.000000 量1 买卖0 类型1 开平0 账户805756 Formula 1 2013-04-02 14:00:59.406 【回报】805756 : IF04 - 正在申报 1 价格:2489.20 开仓 买入 2013-04-02 14:00:59.656 【回报】805756 : IF04 全部成交 1 价格:2488.4 开 买 我的开仓语句只有以下两句: IF M1M2 and time<151000 THEN BEGIN BUY(HOLDING<=0 AND TIME<151000,1); END IF M2M1 and time<151000 THEN BEGIN BUYSHORT(HOLDING>=0 AND TIME<151000,1); END 如果holding>0,就不可能再开多单了,怎么会连开两次呢?M1M2是均线上穿下穿的意思,和这应该没关系。 实在想不明白,请教高手解答。 |
-- 作者:jinzhe -- 发布时间:2013/4/3 8:45:10 -- 13:45 的信号消失,然后在14:00重新出现 |
-- 作者:xiaotianshen -- 发布时间:2013/4/3 9:58:39 -- 我的问题还是没有解决。这个和信号已经没关系。这个问题的实质是第一次已经开仓成功了,在第二次开仓之前,金字塔应该已经检测到holding=1,怎么还会再次开仓呢? |
-- 作者:XO仔 -- 发布时间:2013/4/3 10:35:23 -- 我也出现了重复开仓问题·· 我是这么写的 也重复开仓了,发现新版本 tholding 这个函数 跟以前不一样,以前是交易指令触发了就开仓,信号会在下一根K线才显示的,但现在用得是信号和指令同时出现了 IF 开多 AND tholding=0 THEN BEGIN
BUY(1,P,LIMITR,O+2*MINDIFF); END IF 开空 AND tholding=0 THEN BEGIN BUYSHORT(1,P,LIMITR,O-2*MINDIFF); END |
-- 作者:xiaotianshen -- 发布时间:2013/4/3 11:10:55 -- 我怀疑是holding函数出了问题,就是判断持仓量函数出了问题 |
-- 作者:Ivan -- 发布时间:2013/4/3 12:04:08 -- 以下是引用jinzhe在2013-4-3 8:45:10的发言:
13:45 的信号消失,然后在14:00重新出现 即使信号消失后再出现,因为有holding<=0的条件,应该不会再开多单啊?难道图表程式化交易不读取holding吗?我也有此现象,希望尽快解决问题,谢谢! |
-- 作者:Ivan -- 发布时间:2013/4/3 12:16:07 -- 以下是引用jinzhe在2013-4-3 8:45:10的发言:
13:45 的信号消失,然后在14:00重新出现 我的现象是图表程式化交易记录中显示57秒平多,58秒开空,而模拟账户的交易记录是,58秒是平多,59秒开空,然后在下根k线02秒又开空,怎么两个记录不一样啊?到底是怎么回事呢?固定轮询模式,间隔1秒,选择恢复持仓。
if 开空 and 提前4秒 then begin sell(holding>0,1,MARKETR),ORDERQUEUE; end |
-- 作者:klc -- 发布时间:2013/4/3 12:50:17 -- 消失后holding=0这就是虚拟持仓,哈哈 |
-- 作者:Ivan -- 发布时间:2013/4/3 13:55:15 -- 以下是引用klc在2013-4-3 12:50:17的发言:
消失后holding=0这就是虚拟持仓,哈哈 我那是在下根k线02秒处再发出重复开仓,这时holding=-1了 |
-- 作者:just -- 发布时间:2013/4/3 14:01:35 -- 能否提供相关交易日志以便 工作人员帮您进行分析 |