设为首页收藏本站

 找回密码
 注册
查看: 1532|回复: 8

请教开仓数量的限制 [复制链接]

Rank: 2

精华
0
UID
276245
积分
101
帖子
58
主题
11
阅读权限
30
注册时间
2019-3-1
最后登录
2021-4-6
发表于 2019-3-27 13:01:54 |显示全部楼层
我设置的开仓数量为  所有可用资金(即最新权益)的50%,由于只交易一个品种的主力合约,无加减仓,且持仓方向只可能有一种,也就是不可能在一个主力合约上形成对冲。
1、首先不用  “公式应用设置-全局交易设置里  初始资金和默认数量”;
2、用程序里的Units = A_FreeMargin*50/100; //
                      Units = IntPart(Units);     // 对小数去掉小数位取整

3、还是程序里的Units = Portfolio_CurrentCapital *50/100; //
            Units = IntPart(Units);     // 对小数去掉小数位取整
请问我选2还是3?程序里有无错误?谢谢!

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
发表于 2019-3-27 13:22:10 |显示全部楼层
使用a_sendorder发单 ,可以使用2的方式

使用buy,sell发单 ,则使用3的方式

使用道具 举报

Rank: 2

精华
0
UID
276245
积分
101
帖子
58
主题
11
阅读权限
30
注册时间
2019-3-1
最后登录
2021-4-6
发表于 2019-3-27 13:24:42 |显示全部楼层
小米 发表于 2019-3-27 13:22
使用a_sendorder发单 ,可以使用2的方式

使用buy,sell发单 ,则使用3的方式

明白,谢谢

使用道具 举报

Rank: 2

精华
0
UID
276245
积分
101
帖子
58
主题
11
阅读权限
30
注册时间
2019-3-1
最后登录
2021-4-6
发表于 2019-4-3 10:25:21 |显示全部楼层
小米 发表于 2019-3-27 13:22
使用a_sendorder发单 ,可以使用2的方式

使用buy,sell发单 ,则使用3的方式

在实际运行中,用Portfolio_CurrentCapital()的数值算出来的开仓手数不太对,开仓用buy(units,myentryprice),是不是受“公式应用设置--全局交易设置--初始资金和手数 ”的影响了?
我想 每次开仓时     都用见信号时的开仓价计算出来的账户里所有 最新 可用资金数额的50%来计算手数,不要和“公式应用设置--全局交易设置--初始资金和手数 ”有关系,也不要和图表 的初始bar有关系,不要和回测有关系,怎么设置?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
发表于 2019-4-3 11:10:39 |显示全部楼层
zhanghualawyer 发表于 2019-4-3 10:25
在实际运行中,用Portfolio_CurrentCapital()的数值算出来的开仓手数不太对,开仓用buy(units,myentrypri ...

portfolio_currentcapital的值与全局交易设置的初始资金有关。
此函数并不会读取帐户里的真实资金量。
如果要使用帐户资金量进行计算,整个公式 都需要改为A_xxxx类的函数进行判断以及指令委托方可。

使用道具 举报

Rank: 2

精华
0
UID
276245
积分
101
帖子
58
主题
11
阅读权限
30
注册时间
2019-3-1
最后登录
2021-4-6
发表于 2019-4-3 11:26:06 |显示全部楼层
小米 发表于 2019-4-3 11:10
portfolio_currentcapital的值与全局交易设置的初始资金有关。
此函数并不会读取帐户里的真实资金量。
如 ...

用A_xxxx类的函数读取帐户里的真实资金量,那么整个公式里原先用于发单的buy,sell和SellShort ,buy to cover的发单方式是不是必须改为a_sendorder?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
发表于 2019-4-3 11:29:29 |显示全部楼层
zhanghualawyer 发表于 2019-4-3 11:26
用A_xxxx类的函数读取帐户里的真实资金量,那么整个公式里原先用于发单的buy,sell和SellShort ,buy to co ...

对。。
不过要事先说一下,buy、sell等图表信号函数与a_sendorder等帐户函数的属性及机制是完全不同的。。
不是直接简单地替换一下函数,就可以实现的。。
如果一定要使用帐户函数,建议一定要多加了解TB的相关机制,以及代码以发单 等的控制后,方好使用。

使用道具 举报

Rank: 2

精华
0
UID
276245
积分
101
帖子
58
主题
11
阅读权限
30
注册时间
2019-3-1
最后登录
2021-4-6
发表于 2019-4-3 11:38:39 |显示全部楼层
小米 发表于 2019-4-3 11:29
对。。
不过要事先说一下,buy、sell等图表信号函数与a_sendorder等帐户函数的属性及机制是完全不同的。 ...

嗯,之前在平仓bar上不开仓的问题,我试着把程序中的    开仓和平仓程序(先开仓再平仓)在程序中写了2遍,这样平仓bar上就可以开仓了,也不存在重复发单的问题,但是如果改为a_sendorder发单方式后,会不会有重复发单的情况啊?有的话有什么办法可以控制?

使用道具 举报

Rank: 10Rank: 10Rank: 10

精华
3
UID
5
积分
26584
帖子
12686
主题
49
阅读权限
200
注册时间
2007-7-20
最后登录
2021-11-3
发表于 2019-4-3 13:33:28 |显示全部楼层
zhanghualawyer 发表于 2019-4-3 11:38
嗯,之前在平仓bar上不开仓的问题,我试着把程序中的    开仓和平仓程序(先开仓再平仓)在程序中写了2遍 ...

A_SENDORDER下单,没有bar的概念。
所以你想让这个指令执行几次,何时执行,都需要你的条件进行控制 。。
一般是使用仓位,已报单数,以及全局变量等进行控制 。

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

bottom

静态版|手机版|联系我们|交易开拓者 ( 粤ICP备07044698   

GMT+8, 2024-4-19 08:12

Powered by Discuz! X2 LicensedChrome插件扩展

© 2011-2012 交易开拓者 Inc.

回顶部