Rss & SiteMap

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

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

标题:怎么限制开仓次数

1楼
netfox 发表于:2014/2/20 18:16:41

holding 不能用,因为用 c2:=cash(1)/10000; 这样来确定开仓数目了

  所以本来的 abs(holding)<10  就不可以用了

 

for i:=1 to 1 do
BEGIN
c2:=cash(1)/10000;
开空:=ref(KK,1);
buyshort(开空 ,c2,limitr,open); // 开空代码
end

 

这样每次信号“开空” 出现就会执行1次, 我通过限制成  abs(holding)<10  可以控制开仓次数,只要大于10就不会继续交易

 

现在改成c2:=cash(1)/10000; 自动算钱后就无法控制开仓次数了 ,开仓只要开3次要怎么写?

 

在就是是不是REF最好放在 for上面才能避免程序风险?

2楼
王锋 发表于:2014/2/20 18:45:56

你在FOR循环里加交易语句是没效果的,一行语句只能执行一次的.

除非你用后台交易

3楼
netfox 发表于:2014/2/20 19:00:08
以下是引用王锋在2014/2/20 18:45:56的发言:

你在FOR循环里加交易语句是没效果的,一行语句只能执行一次的.

除非你用后台交易

 那开仓3次意思是改结构?  写3个IF来判定是否开了3次?

4楼
jinzhe 发表于:2014/2/21 9:20:54

图表用全局变量来记录下单次数

variable:n=0;

if n<3 and 开空条件  then begin

    buyshort.....;

    n:=n+1;

end

 

if 重置变量条件 then n:=0;

 

后面要加上一条判断条件让n重置变量,不然n的值会在下单3次之后不再变化

5楼
netfox 发表于:2014/2/21 10:57:34
以下是引用jinzhe在2014/2/21 9:20:54的发言:

图表用全局变量来记录下单次数

variable:n=0;

if n<3 and 开空条件  then begin

    buyshort.....;

    n:=n+1;

end

 

if 重置变量条件 then n:=0;

 

后面要加上一条判断条件让n重置变量,不然n的值会在下单3次之后不再变化

 

 

 

3Q 学会了

[此贴子已经被作者于2014/2/21 10:58:02编辑过]
共5 条记录, 每页显示 10 条, 页签: [1]


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