以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://www.weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://www.weistock.com/bbs/list.asp?boardid=2) ---- 后台多账户下单的问题请教 (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=96711) |
-- 作者:dwjgwsm -- 发布时间:2016/4/25 16:50:29 -- 后台多账户下单的问题请教 A:主账户,钱多一些 B:跟随账户,钱少一些 如果A与B的下单比例为1:0.8,那么当A账户下2手的时候,B账户下0.8*2=1.6,也就是1手。 如果A账户下1手的时候,我希望B账户无论如何最低也要下1手。如何实现? |
-- 作者:王锋 -- 发布时间:2016/4/25 16:51:24 -- 这个你后台的下单数量做下判断就可以,当计算的下单数量小于1手时调整为1手就可以了 [此贴子已经被作者于2016/4/25 16:51:59编辑过]
|
-- 作者:dwjgwsm -- 发布时间:2016/4/25 17:11:29 -- 是不是这样的: Tbuy(多开条件,max(手数,1),MKT,0,0,\'\',品种); 那么,如果我想B账户的1.6手不是向下取整为1手,而是四舍五入为2手.那么我只需要这样写就可以了? Tbuy(多开条件,round(max(手数,1)),MKT,0,0,\'\',品种); |
-- 作者:wenarm -- 发布时间:2016/4/25 17:12:49 -- 你可以通过算法计算出开仓手数。然后通过这个资金多的手数计算资金少的。手数你用if语句判断,如果小于1,就将其手数从新设置为1. 手数:(TCASH*0.2)/(c*MULTIPLIER*TACCOUNT(41)); //20%资金开仓手数 资金少的手数:INTPART(a*0.8);
[此贴子已经被作者于2016/4/25 17:16:31编辑过]
|
-- 作者:dwjgwsm -- 发布时间:2016/4/25 17:18:01 -- 因为是多账户交易,我没办法在策略中为每个账户去计算INTPART(a*0.8); 按照王锋的意思,似乎只要简单地按照3楼的写法就能实现.不知道我理解的对不对? |
-- 作者:dwjgwsm -- 发布时间:2016/4/25 17:21:38 -- 另外,我的手数不是像4楼那样计算的,而是从其他策略中引用过来的一个值,你可以视为一个常量 [此贴子已经被作者于2016/4/25 17:22:50编辑过]
|
-- 作者:wenarm -- 发布时间:2016/4/25 17:24:12 -- 可以, |