Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共24 条记录, 每页显示 10 条, 页签: [1] [2][3]
[浏览完整版]

标题:关于比例下单语句,求解

1楼
skylands 发表于:2016/6/28 21:42:44
比例下单手数,我用的如下代码:SS:INTPART(((BJ*(BL/100))/(ref(c,1)*MULTIPLIER*TACCOUNT(41)))),linethick0; 
其中BJ代表本金,BL代表下单比例。设了这两个参数后,我就可以任意根据当时的账户实际资金来调整下单数量。但实盘中发现一个问题:
就是当平仓的时候,经常平不干净,总会留那么几手不平,这是因为随着行情上涨,ref(c,1)数值变大,计算出来的SS手数变小,到高位平仓时的下单手数小于低位开仓时的手数。
我不明白的是,平仓语句中我用的是holding,系统并没有自动判断出开仓时的手数,而是重新按ref(c,1)来计算持仓的手数,这样计算出来的持仓与实际持仓是有差距的,因为ref(c,1)的值不一样了。
请问有什么解决之道?谢谢
2楼
王锋 发表于:2016/6/28 21:53:32
http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=99738
3楼
skylands 发表于:2016/6/29 8:31:08
我不太确定荐贴中的情况与我是否同一回事。烦请进一步解惑:
SS:INTPART(((BJ*(BL/100))/(ref(c,1)*MULTIPLIER*TACCOUNT(41)))),linethick0;
sell(翻空信号 and holding>0,holding,thisclose),pertrader;   
1. 上述语句中,平仓语句中加了pertrader控制符后,就能确保全部平干净所持仓位?(在价格高位时平掉低位时买进的仓位)
2. 这个pertrader控制符的内在原理是什么,是代表着会在下单时实时扫描账户的实际持仓吗?

4楼
wenarm 发表于:2016/6/29 8:41:43

1.

2.全平持仓,你可以直接在手数位置填0,它代表实际持仓全平。sell(翻空信号 and holding>0,0,thisclose)。

或者你的手数使用百分比开仓,而不用自己程序化去计算手数。pertrader函数的说明,其实就是实际操作真实的持仓

5楼
skylands 发表于:2016/6/29 8:49:49
了解了0的作用。我上述第一个问题的答案是YES吗?
如果用0,我可能有一个麻烦,那就是我多策略同时值守交易,如果填0应会把别的策略的持仓都给平掉吧?
6楼
pyd 发表于:2016/6/29 8:52:44

1,全平写0,

SS:INTPART(((BJ*(BL/100))/(ref(c,1)*MULTIPLIER*TACCOUNT(41)))),linethick0;
sell(翻空信号 and holding>0,0,thisclose);

2,是的

7楼
skylands 发表于:2016/6/29 8:52:47
我希望的是能准确判断策略中的持仓,并准确平掉该策略的实际持仓。如何能做到?
8楼
pyd 发表于:2016/6/29 8:54:25

平掉该策略的是holding,平掉该品种所有持仓是写0

9楼
skylands 发表于:2016/6/29 9:15:16
这就回到我一开始的问题了:写holding时无法平干净,总会留那么几手,就因为价格变动之后计算的结果变了,我一直以为holding会自动判断开仓时所计算出来的手数,目前来看似乎是在平仓时重新按当前价位计算手数……有没有什么好建议解决这个问题?
10楼
wenarm 发表于:2016/6/29 9:20:29

可以采用全局变量进行记录手数手数变化,在全平时,只要读取当前的全局变量记录的持仓情况

共24 条记录, 每页显示 10 条, 页签: [1] [2][3]


Powered By Dvbbs Version 8.3.0
Processed in 1.35156 s, 2 queries.