以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 未达到平仓条件自动平仓的问题 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=82078) |
-- 作者:gzcoolfire -- 发布时间:2015/8/5 23:26:08 -- 未达到平仓条件自动平仓的问题 我在止盈、止损的平仓条件中都加入了LOG语句: DEBUGFILE(\'D:\\NI.TXT\',\'持\'&numtostr(HOLDING,0)&\'手多仓,成本为:\'&numtostr(ENTERPRICE,0)&\',等待平仓时机。MAXPROFIT=\'&numtostr(MAXPROFIT,0)&\', 盈亏WIN1=\'&numtostr(WIN1,0)&\', 回落WIN2=\'&numtostr(WIN2,0)&\', SELLPRICE=\'&numtostr(SELLPRICE,0),0); //多头初始浮亏 P1 止损 IF WIN1<-P1 THEN BEGIN SELL(1,HOLDING,MARKET); DEBUGFILE(\'D:\\NI.TXT\',\'平多仓,原因1:亏损额\'&numtostr(WIN1,0)&\' < \'&numtostr(-P1,2)&\',OPENPROFIT=\'&numtostr(OPENPROFIT,0)&\',挂平仓价 \'&numtostr(CLOSE,0),0); END //多头利润大于 P2 止盈 IF WIN1>P2 THEN BEGIN SELL(1,HOLDING,MARKET); DEBUGFILE(\'D:\\NI.TXT\',\'平多仓,原因2:盈利额\'&numtostr(WIN1,0)&\' > \'&numtostr(P2,2)&\',OPENPROFIT=\'&numtostr(OPENPROFIT,0)&\'挂平仓价 \'&numtostr(CLOSE,0),0); END //多头获利后回撤 P3 止盈 IF CLOSE>ENTERPRICE+(P2/2) AND CLOSE<SELLPRICE THEN BEGIN SELL(1,HOLDING,MARKET); DEBUGFILE(\'D:\\NI.TXT\',\'平多仓,原因3:回撤比例超过\'&numtostr(P3,0)&\'%,超过预设回撤止盈价\'&numtostr(SELLPRICE,1)&\',OPENPROFIT=\'&numtostr(OPENPROFIT,2)&\',挂平仓价 \'&numtostr(CLOSE,2),0); END 2015-08-05 23:17:21.570 持1手多仓,成本为:81030,等待平仓时机。MAXPROFIT=30, 盈亏WIN1=30, 回落WIN2=0, SELLPRICE=81024 2015-08-05 23:17:22.880 持1手多仓,成本为:81030,等待平仓时机。MAXPROFIT=30, 盈亏WIN1=30, 回落WIN2=0, SELLPRICE=81024 2015-08-05 23:17:23.161 持1手多仓,成本为:81030,等待平仓时机。MAXPROFIT=30, 盈亏WIN1=30, 回落WIN2=0, SELLPRICE=81024 2015-08-05 23:17:23.660 持1手多仓,成本为:81030,等待平仓时机。MAXPROFIT=50, 盈亏WIN1=50, 回落WIN2=0, SELLPRICE=81021 2015-08-05 23:17:24.128 没有持仓,等待开仓时机。1分钟DIFF:-25.01,1分钟DEA:-29.84,OPEN:81080.0,CLOSE:81080.0 2015-08-05 23:17:24.659 没有持仓,等待开仓时机。1分钟DIFF:-23.42,1分钟DEA:-29.52,OPEN:81080.0,CLOSE:81050.0 在实盘模拟交易时,看到开多后就直接平仓了,查看LOG就是以上记录,完全没有平仓理由,持仓就这样没有了。这个如何追查?会是什么原因? |
-- 作者:gzcoolfire -- 发布时间:2015/8/6 0:16:15 -- 2015-08-06 00:14:09.613 持1手空仓,成本为:80820.00,等待平仓时机。MAXPROFIT=40.00, 盈亏WIN1=10.00, 回落WIN2=30, SELLPRICE=80828 2015-08-06 00:14:12.094 持1手空仓,成本为:80820.00,等待平仓时机。MAXPROFIT=40.00, 盈亏WIN1=0.00, 回落WIN2=40, SELLPRICE=80828 2015-08-06 00:14:13.047 持1手空仓,成本为:80820.00,等待平仓时机。MAXPROFIT=40.00, 盈亏WIN1=0.00, 回落WIN2=40, SELLPRICE=80828 2015-08-06 00:14:13.663 持1手空仓,成本为:80820.00,等待平仓时机。MAXPROFIT=40.00, 盈亏WIN1=-10.00, 回落WIN2=50, SELLPRICE=80828 2015-08-06 00:14:14.591 持1手空仓,成本为:80820.00,等待平仓时机。MAXPROFIT=40.00, 盈亏WIN1=-10.00, 回落WIN2=50, SELLPRICE=80828 2015-08-06 00:14:15.303 没有持仓,等待开仓时机。1分钟DIFF:-10.70,1分钟DEA:-10.89,OPEN=80820.0,MA20=80833.5,CLOSE:80830.0 2015-08-06 00:14:15.720 没有持仓,等待开仓时机。1分钟DIFF:-9.90,1分钟DEA:-10.73,OPEN=80820.0,MA20=80834.0,CLOSE:80840.0 2015-08-06 00:14:16.262 没有持仓,等待开仓时机。1分钟DIFF:-9.90,1分钟DEA:-10.73,OPEN=80820.0,MA20=80834.0,CLOSE:80850.0 2015-08-06 00:14:18.293 没有持仓,等待开仓时机。1分钟DIFF:-9.90,1分钟DEA:-10.73,OPEN=80820.0,MA20=80834.0,CLOSE:80850.0 2015-08-06 00:14:18.686 没有持仓,等待开仓时机。1分钟DIFF:-10.70,1分钟DEA:-10.89,OPEN=80820.0,MA20=80833.5,CLOSE:80850.0 2015-08-06 00:14:19.276 没有持仓,等待开仓时机。1分钟DIFF:-10.70,1分钟DEA:-10.89,OPEN=80820.0,MA20=80833.5,CLOSE:80840.0 今晚多次出现,还没到止盈止损的条件卖出,持仓就没有了,不知原因。
|
-- 作者:jinzhe -- 发布时间:2015/8/6 8:45:46 -- 看下单日志 |
-- 作者:gzcoolfire -- 发布时间:2015/8/6 9:42:38 -- 原来是持仓同步自动帮我平的,这是为啥? |
-- 作者:gzcoolfire -- 发布时间:2015/8/6 9:44:28 -- 下单日志是有触发买入的: 2015-08-06 09:35:23.215 2015.08.06 09:35:18【图表】框架:Technic 触发下单 BUY 品种 IF09 下单K线 2015.08.06 09:35:01 公式:IF1509逼仓 窗格ID:0 代码行:40 2015-08-06 09:35:23.262 【图表】模型下单 1 2015-08-06 09:35:23.262 【图表】下单系数调整后 手数:1 2015-08-06 09:35:24.962 【图表】直接下单 2015-08-06 09:35:25.040 【图表】IF09 运行完毕 2015-08-06 09:35:25.040 【图表】IF09 运行完毕 2015-08-06 09:35:25.040 【图表】IF09 运行完毕 2015-08-06 09:35:25.040 【图表】IF09 运行完毕 2015-08-06 09:35:25.040 【图表】IF09 运行完毕 2015-08-06 09:35:25.040 【下单】IF09 价0.000000 量1 买卖0 类型1 开平0 账户603489 Formula 1 2015-08-06 09:35:36.491 【图表】IF09 运行完毕 2015-08-06 09:35:36.491 【指令】收到回报指令 ID = 1218130841 2015-08-06 09:35:36.506 【图表】IF09 运行完毕 2015-08-06 09:35:36.506 【图表】IF09 运行完毕 2015-08-06 09:35:36.506 【图表】IF09 运行完毕 2015-08-06 09:35:36.506 【图表】IF09 运行完毕 2015-08-06 09:35:36.522 【图表】IF09 运行完毕 2015-08-06 09:35:42.941 【图表】IF09 运行完毕 2015-08-06 09:35:42.941 【回报】603489 : IF1509 - 已报单 1 价格:0.0 开 买 2015-08-06 09:35:44.595 【图表】IF09 运行完毕 2015-08-06 09:35:44.595 【图表】IF09 运行完毕 2015-08-06 09:35:44.595 【图表】IF09 运行完毕 2015-08-06 09:35:44.595 【图表】IF09 运行完毕 2015-08-06 09:35:44.595 【图表】IF09 运行完毕 2015-08-06 09:35:44.595 【指令】收到回报指令 ID = 1218130841 2015-08-06 09:35:44.611 【指令】收到回报指令 ID = 1218130841 但看自己设置的log记录,程序目前又认为没有持仓,这个怎么解决? 2015-08-06 09:37:32.929 没有持仓,等待开仓时机。1分钟DIFF:-17.98,1分钟DEA:-24.78,OPEN:3623.6,CLOSE:3623.8 2015-08-06 09:37:34.879 没有持仓,等待开仓时机。1分钟DIFF:-18.01,1分钟DEA:-24.79,OPEN:3623.4,CLOSE:3623.4 2015-08-06 09:37:36.845 没有持仓,等待开仓时机。1分钟DIFF:-18.01,1分钟DEA:-24.79,OPEN:3623.4,CLOSE:3623.4 2015-08-06 09:37:38.803 没有持仓,等待开仓时机。1分钟DIFF:-17.98,1分钟DEA:-24.78,OPEN:3623.4,CLOSE:3623.8 2015-08-06 09:37:39.271 没有持仓,等待开仓时机。1分钟DIFF:-17.80,1分钟DEA:-24.75,OPEN:3624.4,CLOSE:3626.0 |
-- 作者:jinzhe -- 发布时间:2015/8/6 9:46:49 -- 1.自动持仓是系统的设置,说明你选择了自动持仓同步 2.你代码调试出的结果是没有持仓,但是系统开仓,说明系统的持仓和你调试的持仓不一样,你用什么函数调试持仓的? |
-- 作者:gzcoolfire -- 发布时间:2015/8/6 9:48:09 -- if holding=0 then 判断开仓条件,及开仓操作 if holding>0 then 多头平仓判断及操作 if holding<0 then 空头平仓判断及操作
|
-- 作者:gzcoolfire -- 发布时间:2015/8/6 9:48:36 -- 这个对吗?还是应该用另外的函数进行判断? |
-- 作者:jinzhe -- 发布时间:2015/8/6 9:58:02 -- 我说的是调试,你调试用什么持仓函数的? |
-- 作者:gzcoolfire -- 发布时间:2015/8/6 10:02:36 -- if HOLDING=0 THEN DEBUGFILE(\'D:\\IF1509.TXT\',\'没有持仓,等待开仓时机。1分钟DIFF:\'&numtostr(DIFF,2)&\',1分钟DEA:\'&numtostr(DEA,2)&\',OPEN:\'&numtostr(OPEN,1)&\',CLOSE:\'&numtostr(CLOSE,1),0); 就是这样记录下来的。
|