金字塔决策交易系统

 找回密码
 

微信登录

微信扫一扫,快速登录

搜索
查看: 3549|回复: 11

关于图表系统仓位的问题

[复制链接]

9

主题

25

帖子

35

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
发表于 2021-5-29 09:11 | 显示全部楼层 |阅读模式
您好:
最近在用图表交易系统进行模拟盘交易,初始资金100万。
在图表框架中对连续合约下单,已勾选相应选项,出现两单问题:
因为是刚开始,所以模拟账户的实际持仓是0,但是图表中有持仓。

在螺纹钢品种中,下单语句是:
if holding = 0 then begin
    趋势开多 : buy(趋势开多条件, 17% , MarketR);
    趋势开空 : buyshort(趋势开空条件, 8.5% , MarketR);
end
if holding > 0 then begin
    趋势平多 : sell(趋势平多条件, 0 , MarketR);
    震荡平多 : sell(震荡开空条件, 0 , MarketR);
    震荡开空 : buyshort(震荡开空条件, 8.5% , MarketR);
end
if holding < 0 then begin
    趋势平空 : sellshort(趋势平空条件, 0 , MarketR);
    震荡平空 : sellshort(震荡开多条件, 0 , MarketR);
    震荡开多 : buy(震荡开多条件, 17% , MarketR);
end
log文件如下:
2021-05-27 09:04:56.570    【图表】框架:QH2021 触发下单 SELLSHORT 品种 RB00 下单K线 2021.05.27 13:05:00 公式:RBCM V0.1 alpha2 RB00 窗格ID:Window5 代码行:44
2021-05-27 09:04:56.570    【图表】模型下单 20
2021-05-27 09:04:56.570    【图表】下单系数调整后 手数:20
2021-05-27 09:04:56.570    【图表】实际持仓 0
……
2021-05-27 09:09:56.578    【图表】框架:QH2021 触发下单 BUY 品种 RB00 下单K线 2021.05.27 13:10:00 公式:RBCM V0.1 alpha2 RB00 窗格ID:Window5 代码行:35
2021-05-27 09:09:56.578    【图表】模型下单 56
2021-05-27 09:09:56.578    【图表】下单系数调整后 手数:56
2021-05-27 09:09:56.578    【图表】直接下单
2021-05-27 09:09:56.593    【图表】RB00 运行完毕
2021-05-27 09:09:56.593    【下单】RB10 价0.000000 量56 买卖0 类型1 开平0 账户18601400077 Formula 1
2021-05-27 09:09:56.593    【下单】已提交,订单ID :453314534
2021-05-27 09:09:56.718    【指令】收到回报指令 ID = 453314534
2021-05-27 09:09:56.718    【回报】18601400077 : RB10 - 已报单 56 价格:4753 开 买
2021-05-27 09:09:56.796    【指令】收到Order回报指令 ID = 453314534 Status = 3
2021-05-27 09:09:56.921    【指令】收到成交回报指令 ORDERID = 453314534
2021-05-27 09:09:56.921    【回报】18601400077 : rb2110 - 已成交 56 价格:4750 开 买
2021-05-27 09:09:56.921    【回报】18601400077 : rb2110 - 全部成交 56
先后在9:05和9:10分执行了平空和开多两个操作。
开多语句是趋势开多 : buy(趋势开多条件, 17% , MarketR);
按照正常计算,应该是动用17万保证金,下单17万/(4750×10×19%)=19.2手 ——测算模拟盘保证金率是19%。无论19还是20手都是可以接受的。
但是实盘下了56手,接近3倍,究竟是什么原因?
回复

使用道具 举报

9

主题

25

帖子

35

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2021-5-29 09:32 | 显示全部楼层
在IF00上,还有一次
下单语句:
//买卖条件
if attr > ttr then begin
    趋开多 := High > UB_t ;
    趋开空 := Low < LB_s ;
    振平空开多 := Low > LB_s and High > LB_t ;
    振平多开空 := High < UB_t and Low < UB_s ;
    趋平多 := Low < LB_t ;
    趋平空 :=  High > UB_s ;
end

//下单,IC00:16%保证金比例
IF Holding > 0 and dayHolding = 0 and time < 145600 then Begin
    平多1 : Sell(趋平多,0,MarketR)  , colorgreen;
    平多2 : Sell(振平多开空,0,MarketR)  , colorgreen;
    多翻空 : BuyShort(振平多开空,1,MarketR) , OrderQueue , colorgreen;

end
IF Holding < 0 and dayHolding = 0 and time < 145600 then Begin
    平空1 : SellShort(趋平空,0,MarketR) , coloryellow;
    平空2 : SellShort(振平空开多,0,MarketR) , coloryellow;
    空翻多 :  Buy(振平空开多,1,MarketR),OrderQueue, coloryellow;
    //空单止损 : SellShort(止空,0,MarketR) , OrderQueue, coloryellow;
end
IF Holding=0 and time < 145600 then Begin
    开多 : Buy(趋开多,1,MarketR), coloryellow;
    开空 : BuyShort(趋开空,1,MarketR) , colorgreen;
end
log文件输出:
2021-05-28 13:59:54.996    【图表】框架:QH2021 触发下单 SELL 品种 IF00 下单K线 2021.05.28 14:00:00 公式:RBCM V4.03 alpha IF00 窗格ID:Window2 代码行:48
2021-05-28 13:59:54.996    【图表】模型下单 1
2021-05-28 13:59:54.996    【图表】下单系数调整后 手数:1
2021-05-28 13:59:55.012    【图表】实际持仓 0
2021-05-28 13:59:55.012    【图表】框架:QH2021 触发下单 BUYSHORT 品种 IF00 下单K线 2021.05.28 14:00:00 公式:RBCM V4.03 alpha IF00 窗格ID:Window2 代码行:50
2021-05-28 13:59:55.027    【图表】模型下单 1
2021-05-28 13:59:55.027    【图表】下单系数调整后 手数:1
2021-05-28 13:59:55.027    【图表】至队列下单
2021-05-28 13:59:55.043    【图表】IF00 运行完毕
2021-05-28 13:59:55.043    【图表】IC00 运行完毕
2021-05-28 13:59:55.058    【队列】当前队列准备处理数据:1条
2021-05-28 13:59:55.058    【队列】发送下单指令
2021-05-28 13:59:55.074    【下单】IF06 价0.000000 量1 买卖1 类型1 开平0 账户18601400077 Formula 1
2021-05-28 13:59:55.074    【下单】已提交,订单ID :453314537
2021-05-28 13:59:55.152    【指令】收到回报指令 ID = 453314537
2021-05-28 13:59:55.152    【回报】18601400077 : IF06 - 已报单 1 价格:5291.8 开 卖
2021-05-28 13:59:55.230    【指令】收到Order回报指令 ID = 453314537 Status = 3
2021-05-28 13:59:55.355    【指令】收到成交回报指令 ORDERID = 453314537
2021-05-28 13:59:55.355    【回报】18601400077 : IF2106 - 已成交 1 价格:5292.2 开 卖
2021-05-28 13:59:55.355    【回报】18601400077 : IF2106 - 全部成交 1
在同一根K线上先平多(原来没有实际持仓),再多翻空,但是下了两次一手的单。
回复

使用道具 举报

9

主题

25

帖子

35

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2021-5-29 09:38 | 显示全部楼层
不能编辑2楼的贴

2楼的下单确实是1手
但是后续又下了一次单,是平多1的语句。
log如下:
2021-05-28 14:09:55.494    【图表】框架:QH2021 触发下单 SELL 品种 IF00 下单K线 2021.05.28 14:10:00 公式:RBCM V4.03 alpha IF00 窗格ID:Window2 代码行:48
2021-05-28 14:09:55.494    【图表】模型下单 1
2021-05-28 14:09:55.494    【图表】下单系数调整后 手数:1
2021-05-28 14:09:55.509    【图表】实际持仓 0
2021-05-28 14:09:55.509    【图表】框架:QH2021 触发下单 BUYSHORT 品种 IF00 下单K线 2021.05.28 14:10:00 公式:RBCM V4.03 alpha IF00 窗格ID:Window2 代码行:50
2021-05-28 14:09:55.525    【图表】模型下单 1
2021-05-28 14:09:55.525    【图表】下单系数调整后 手数:1
2021-05-28 14:09:55.540    【图表】至队列下单
2021-05-28 14:09:55.540    【图表】IF00 运行完毕
2021-05-28 14:09:55.540    【图表】IC00 运行完毕
2021-05-28 14:09:55.556    【队列】当前队列准备处理数据:1条
2021-05-28 14:09:55.556    【队列】发送下单指令
2021-05-28 14:09:55.572    【下单】IF06 价0.000000 量1 买卖1 类型1 开平0 账户18601400077 Formula 1
2021-05-28 14:09:55.572    【下单】已提交,订单ID :453314538
2021-05-28 14:09:55.650    【指令】收到回报指令 ID = 453314538
2021-05-28 14:09:55.650    【回报】18601400077 : IF06 - 已报单 1 价格:5297.6 开 卖
2021-05-28 14:09:55.712    【指令】收到Order回报指令 ID = 453314538 Status = 3
2021-05-28 14:09:55.837    【指令】收到成交回报指令 ORDERID = 453314538
2021-05-28 14:09:55.837    【回报】18601400077 : IF2106 - 已成交 1 价格:5298.2 开 卖
2021-05-28 14:09:55.837    【回报】18601400077 : IF2106 - 全部成交 1
这个单在框架中没有显示,照理说此时应该是持有1手空单,不符合holding>0的条件。

回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2021-5-29 18:03 | 显示全部楼层
是否图表理论holidng是多少不是看出来的,你要在图上去输出holding看就明本了
比如
ho:holding;
一定要去看这个值而不是认为,图表这里触发sell一定就是当时holding大于0的
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2021-5-29 18:04 | 显示全部楼层
百分比开仓是按照交易-合约信息设置这里的费率去计算,不是根据你账户的保证金率的
你可以看下可能那个设置里和你实际费率有出入
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

9

主题

25

帖子

35

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2021-5-29 19:00 | 显示全部楼层
先说螺纹钢的问题

交易--合约信息设置里面,查询到螺纹的多头空头保证金率都是13%,

那么,应该按17%比例下单,应该是:100万×17%/(4750×10×13%)=27手,和实际下单的数量还是不一致?

回复

使用道具 举报

9

主题

25

帖子

35

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2021-5-29 19:06 | 显示全部楼层
似乎找到螺纹问题的原因了
似乎是图表里的资金数量比实盘大得多,因为图表有之前的虚拟成交记录。
那么,在图表里面采用固定比例下单,似乎就是个挺麻烦的事情
是不是应该用
[PEL] 复制代码
ss := cash(0) * 下单比例 / close / 保证金比例

这样下单?


补充内容 (2021-5-29 19:06):
对了,缺了个合约乘数
回复

使用道具 举报

9

主题

25

帖子

35

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2021-5-29 19:19 | 显示全部楼层
资深技术02 发表于 2021-5-29 18:03
是否图表理论holidng是多少不是看出来的,你要在图上去输出holding看就明本了
比如
ho:holding;

IF的问题比较麻烦,按您提供的方法输出了持仓信息

仔细看了一下,在我开始模拟盘之前两三天,图表中有一个多单。

图表上的平多开空都是在14:10这根K线
但是交易log里面14:00这个K线会发了一手空单。实际上这根K线不符合下单条件。
奇怪的是,在这手空单发出后,图表持仓依然是有一手多单。

然后14:10分这根K线是符合平多开空这个条件的。
回复

使用道具 举报

3

主题

2万

帖子

2万

积分

Rank: 8Rank: 8

等级: 超级版主

注册:
2021-5-24
曾用名:
发表于 2021-5-30 10:05 | 显示全部楼层
ss计算没错

那么有一种可能就是信号闪烁,也就是当时的条件和你现在去看的条件不一样
这种只有通过debugfile去实时的输出条件,然后事后再去看。
金字塔提供一对一VIP专业技术指导服务,技术团队实时响应您的日常使用问题与策略编写。联系电话:021-20339086
回复

使用道具 举报

9

主题

25

帖子

35

积分

Rank: 4

等级: 专业版

注册:
2021-5-20
曾用名:
 楼主| 发表于 2021-5-30 14:53 | 显示全部楼层
我是K线走完提前5秒下单,
信号可能闪烁的问题,确实可能存在。
当信号在这5秒内闪没了,是不是图表上就没记录这次下单?

图表有没有方法可以读取真实账户的持仓、资金信息?
或者必须后台系统才可以?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 微信登录

本版积分规则

手机版|小黑屋|上海金之塔信息技术有限公司 ( 沪ICP备13035422号 )

GMT+8, 2024-11-13 07:51 , Processed in 0.267158 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表