以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://weistock.com/bbs/index.asp)
--  公式模型编写问题提交  (http://weistock.com/bbs/list.asp?boardid=4)
----  倍数增长语句如何实现,谢谢  (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=145286)

--  作者:爬山虎福气
--  发布时间:2016/12/27 9:34:18
--  倍数增长语句如何实现,谢谢
各位请教下,在金字塔内倍数增长的语句怎么实现?
例如,第一根K线,“”A:=10“”,
        第二根,自动计算A=20;
        第三根,           A=40…以此类推。
本人在金字塔内采用
 
    VARIABLE:A=10;
    A:=A*2;
 
 
实现不了,该如何实现,谢谢!!

--  作者:jinzhe
--  发布时间:2016/12/27 9:44:45
--  
你这样的写法可以啊,出了什么问题?
--  作者:爬山虎福气
--  发布时间:2016/12/27 11:43:17
--  

好像是没问题,现在找到一个影响到语句,所以新到问题出现了:

 

  VARIABLE:A=10;
  MUL:=2;

 

  IF  DATE <1120101 THEN  BEGIN
      MUL:=0;                                 //2012年1月1日开始倍增

  END


  A:=A*MUL;

 


此主题相关图片如下:qq截图20161227114027.jpg
按此在新窗口浏览图片


此主题相关图片如下:qq截图20161227113957.jpg
按此在新窗口浏览图片

 

是DATE 函数用错了吗?谢谢


--  作者:netfox
--  发布时间:2016/12/27 11:48:27
--  
DATE < 20120101 这样格式吧  话说。。。难道不是 > 吗? 2016明显比2012大
--  作者:爬山虎福气
--  发布时间:2016/12/27 12:34:44
--  

2016是大于2012,所以每根k线要倍增,

 

2011小于2012 ,所以把倍增参数MUL设为0,不倍增。

 

这个是主思路


--  作者:jinzhe
--  发布时间:2016/12/27 13:27:06
--  
 VARIABLE:A=10;
  MUL:=0;

 

  IF  DATE >=1120101 THEN  BEGIN
      MUL:=2;                                 //2012年1月1日开始倍增

      A:=A*MUL;

  END

 

 


 


--  作者:jinzhe
--  发布时间:2016/12/27 13:27:37
--  

A:=A*MUL;

问题在于在20120101之前这句代码还是一直计算的,所以导致了A一直是0


--  作者:爬山虎福气
--  发布时间:2016/12/27 14:55:16
--  

妙,太妙了。

这样的思路是极好的。