以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  公式模型编写问题提交  (http://222.73.7.161/bbs/list.asp?boardid=4)
----  证券仓位管理代码编写  (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=172502)

--  作者:hupo111
--  发布时间:2019/10/20 10:46:14
--  证券仓位管理代码编写

if (开仓额度+DYNAINFO( 56))/ASSET <仓位 then begin
buy(1,开仓额度/close);
end
//如果即将开仓的开仓额度+原有股票市值在总帐户额度的比例小于仓位,则开仓;反之大于仓位,则不开仓;

请问这段代码是不是函数没用对?

--  作者:FireScript
--  发布时间:2019/10/21 9:16:11
--  
DYNAINFO( 56)
这种函数都不能在图表策略里面参与下单信号或者下单条件的,因为会影响到历史信号。这种动态函数只有最新值,这意味着你的策略在历史K上也都是这个总市值,而这显然是有问题的。

--  作者:hupo111
--  发布时间:2019/10/21 12:42:33
--  
请问,图表策略里有没有办法设定参数实现对仓位的限制?
--  作者:FireScript
--  发布时间:2019/10/21 13:43:30
--  
 能的。不过你要的是限制到实际账号仓位的吧?
如果是这样那就要说明下:图表策略代码逻辑所限制仓位的是策略本身的虚拟持仓的仓位,这个虚拟持仓是从K线图上第一个K开始(加载的第一个K)到当前位置,根据一个虚拟资金以及你的策略代码执行的虚拟交易得出的交易结果。 所以它现在是这么个情况,假设图表策略里面做了仓位限制,不能持仓超过五手,现在最新K位置的虚拟持仓是2手,而实际持仓是4手。那么这种情况下后续开仓条件满足还是会开仓,最多开三手。也就是会基于虚拟持仓的仓位来实施仓位限制的。 

目前后台程序化是直接操作实际账号的。