Rss & SiteMap

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

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

标题:如何启动时从1手开始执行?

1楼
der4788 发表于:2019/8/19 9:09:48
老师你好,我的模型是逐渐加仓模型,代码如下;  我想当我启动的时候从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 
2楼
FireScript 发表于:2019/8/19 9:20:53
 是不是历史K太多了,历史上交易了很多次了。因此在在最新K上它早就递增了很多次了吧。
3楼
der4788 发表于:2019/8/19 9:29:56
是啊,就是问怎么解决这个问题啊?
4楼
wenarm 发表于:2019/8/19 9:37:03

你全局变量只累加,没有复位,当然到10后,就不变了。下面这段逻辑有问题吧

你平图表全部持仓,平完之后SS应该是重置为1.

if B1 and holding>0 then 
begin 
sell(holding>0,holding,market);    //平多
ss:=if(ss<xx1,ss+1,ss);
end 
5楼
FireScript 发表于:2019/8/19 9:46:22
 这个不行。你如果要从程序化启动时候再从1开始逐渐加仓这个是做不到的。或者你可以在策略里面定期对这个ss进行重置。比如每日收盘重置开仓手数。
共5 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.01953 s, 3 queries.