Rss & SiteMap

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

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

标题:关于给全局变量赋值的问题

1楼
qushixiaotu 发表于:2015/7/3 14:52:30

刚编写了一个交易系统,目的是实现一个趋势跟踪系统。比最近一个最低点回升n1后买入,比最近一个高点下落n2后卖出。

 

具体的程序是:

n1,n2在参数表里定义,缺省值为0.1

 

Variable:low1=7000;
Variable:low2=0;
Variable:high1=0;
Variable:high2=7000;

if holding=0 then begin

  if low<low1 then begin
        low1=low;
    low2=low1*(1+n1);
    KD:=close>=low2;          //开多条件
    开多:BUY(KD,100%,THISCLOSE);          //开多信号
  end
end

else begin

   if high>high1 then begin
     high1=high;
       high2=high*(1-n2);
      PD:=close<=high2;          //平多条件
  
    平多:SELL(PD and holding>0,100%,THISCLOSE);                       //平多信号
   end
end

 

虽然编译能通过,但是测试中发现全局变量low1,high1始终是初始值。

我想做到的是在空仓的时候如果low比low1低,把low的值赋值给low1.

请高手帮我解答一下,如何做到这样的赋值。谢谢!

 

2楼
jinzhe 发表于:2015/7/3 14:54:07
赋值是冒号等号,你全部都写成了等号
3楼
qushixiaotu 发表于:2015/7/3 15:08:00

用:和:=效果一样吗?

我之前用过:赋值,结果编译不通过,说对全局变量low1重复定义了。

4楼
jinzhe 发表于:2015/7/3 15:10:29

不一样,冒号还有显示线段的作用,所以一个公式里面只能有一个同样名字的。冒号等号就不一样,可以随便用。

 

5楼
qushixiaotu 发表于:2015/7/3 15:50:41
懂了,成功测试了,多谢!!
共5 条记录, 每页显示 10 条, 页签: [1]


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