老师你好,我的模型是逐渐加仓模型,代码如下; 我想当我启动的时候从1手开始,逐渐的加到10手; 现在的情况是,加载后一开仓就是10手,对吗?如何设置?
A1:=开多;
B1:=开空 ;
VARIABLE:ss:=1;
if A1 and holding=0 then
begin
buy(holding=0,ss,market); //开多
end
if B1 and holding>0 then
begin
sell(holding>0,holding,market); //平多
ss:=if(ss<xx1,ss+1,ss);
end
是不是历史K太多了,历史上交易了很多次了。因此在在最新K上它早就递增了很多次了吧。
你全局变量只累加,没有复位,当然到10后,就不变了。下面这段逻辑有问题吧
你平图表全部持仓,平完之后SS应该是重置为1.
if B1 and holding>0 then
begin
sell(holding>0,holding,market); //平多
ss:=if(ss<xx1,ss+1,ss);
end
这个不行。你如果要从程序化启动时候再从1开始逐渐加仓这个是做不到的。或者你可以在策略里面定期对这个ss进行重置。比如每日收盘重置开仓手数。