欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件金字塔软件问题提交 → 关于比例下单语句,求解

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有5247人关注过本帖树形打印复制链接

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

帅哥哟,离线,有人找我吗?
skylands
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:755 积分:6 威望:0 精华:0 注册:2013/5/16 5:52:00
关于比例下单语句,求解  发帖心情 Post By: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楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2016/6/28 21:53:32 [只看该作者]



金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
skylands
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:755 积分:6 威望:0 精华:0 注册:2013/5/16 5:52:00
  发帖心情 Post By: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
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2016/6/29 8:41:43 [只看该作者]

1.

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

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



编程无捷径,技巧靠积累。
 回到顶部
帅哥哟,离线,有人找我吗?
skylands
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:755 积分:6 威望:0 精华:0 注册:2013/5/16 5:52:00
  发帖心情 Post By:2016/6/29 8:49:49 [只看该作者]

了解了0的作用。我上述第一个问题的答案是YES吗?
如果用0,我可能有一个麻烦,那就是我多策略同时值守交易,如果填0应会把别的策略的持仓都给平掉吧?

 回到顶部
美女呀,离线,留言给我吧!
pyd
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By: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
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:755 积分:6 威望:0 精华:0 注册:2013/5/16 5:52:00
  发帖心情 Post By:2016/6/29 8:52:47 [只看该作者]

我希望的是能准确判断策略中的持仓,并准确平掉该策略的实际持仓。如何能做到?

 回到顶部
美女呀,离线,留言给我吧!
pyd
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:8439 积分:0 威望:0 精华:0 注册:2014/7/14 13:43:36
  发帖心情 Post By:2016/6/29 8:54:25 [只看该作者]

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


 回到顶部
帅哥哟,离线,有人找我吗?
skylands
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:黑侠 帖子:755 积分:6 威望:0 精华:0 注册:2013/5/16 5:52:00
  发帖心情 Post By:2016/6/29 9:15:16 [只看该作者]

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

 回到顶部
帅哥哟,离线,有人找我吗?
wenarm
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:26632 积分:0 威望:0 精华:7 注册:2015/4/9 14:59:07
  发帖心情 Post By:2016/6/29 9:20:29 [只看该作者]

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



编程无捷径,技巧靠积累。
 回到顶部
总数 24 1 2 3 下一页