以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 金字塔软件问题提交 (http://weistock.com/bbs/list.asp?boardid=2) ---- 关于比例下单语句,求解 (http://weistock.com/bbs/dispbbs.asp?boardid=2&id=99755) |
-- 作者: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)的值不一样了。 请问有什么解决之道?谢谢
|
-- 作者:王锋 -- 发布时间:2016/6/28 21:53:32 -- http://www.weistock.com/bbs/dispbbs.asp?boardid=2&Id=99738 |
-- 作者: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控制符的内在原理是什么,是代表着会在下单时实时扫描账户的实际持仓吗? |
-- 作者:wenarm -- 发布时间:2016/6/29 8:41:43 -- 1. 2.全平持仓,你可以直接在手数位置填0,它代表实际持仓全平。sell(翻空信号 and holding>0,0,thisclose)。 或者你的手数使用百分比开仓,而不用自己程序化去计算手数。pertrader函数的说明,其实就是实际操作真实的持仓 |
-- 作者:skylands -- 发布时间:2016/6/29 8:49:49 -- 了解了0的作用。我上述第一个问题的答案是YES吗? 如果用0,我可能有一个麻烦,那就是我多策略同时值守交易,如果填0应会把别的策略的持仓都给平掉吧?
|
-- 作者: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,是的 |
-- 作者:skylands -- 发布时间:2016/6/29 8:52:47 -- 我希望的是能准确判断策略中的持仓,并准确平掉该策略的实际持仓。如何能做到? |
-- 作者:pyd -- 发布时间:2016/6/29 8:54:25 -- 平掉该策略的是holding,平掉该品种所有持仓是写0 |
-- 作者:skylands -- 发布时间:2016/6/29 9:15:16 -- 这就回到我一开始的问题了:写holding时无法平干净,总会留那么几手,就因为价格变动之后计算的结果变了,我一直以为holding会自动判断开仓时所计算出来的手数,目前来看似乎是在平仓时重新按当前价位计算手数……有没有什么好建议解决这个问题? |
-- 作者:wenarm -- 发布时间:2016/6/29 9:20:29 -- 可以采用全局变量进行记录手数手数变化,在全平时,只要读取当前的全局变量记录的持仓情况 |