Rss & SiteMap

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

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

标题:对临时变量的误解?

1楼
李亚弟 发表于:2013/6/13 14:40:03
刚刚做了一个测试临时变量的指标,代码:if time=140000 then a:=1;加载后发现在随意周期(不超过日线)上的随意时间,shift+Q都显示a的值为1。原本我以为这种临时变量在周期刷新后如果没有继续定义,就会消失。另外,重新定义后新值覆盖原值。那么这个和variable不就一样了吗?
2楼
jinzhe 发表于:2013/6/13 14:44:18

http://www.weistock.com/bbs/dispbbs.asp?BoardID=4&ID=11990&skin=0

参考一下这个吧

3楼
李亚弟 发表于:2013/6/13 14:56:35
if time=140000 then a:=1;//我的代码

//测试全局变量
variable:maxprofit=0;
IF BARPOS = 2 THEN
   MAXPROFIT := 10;
 
IF BARPOS = 10 THEN
   MAXPROFIT := 30;
 
AA:MAXPROFIT,linethick0;
 
 
//测试普通变量
n:=0;
IF BARPOS = 2 THEN
    n:=1;
IF BARPOS = 10 THEN
    n:=2;
BB:n,linethick0; 
我觉得这些代码有说到点子上,但是我的代码的测试结果和后面的效果上看起来互相矛盾。什么原因?
4楼
jinzhe 发表于:2013/6/13 15:51:12

能截图说明一下哪里是矛盾的吗?我觉得这例子很明显的说明了全局变量和常规变量的区别

5楼
李亚弟 发表于:2013/6/13 16:02:35
//测试全局变量
variable:maxprofit=0;
IF BARPOS = 2 THEN
   MAXPROFIT := 10;
 
IF BARPOS = 10 THEN
   MAXPROFIT := 30;
 
AA:MAXPROFIT,linethick0;
 
 
//测试普通变量
n:=0;
IF BARPOS = 2 THEN
    n:=1;
IF BARPOS = 10 THEN
    n:=2;
BB:n,linethick0; 
这段代码是很清楚的表明了普通变量和全局变量的区别。可是另外一个代码就把这个区别给搞混了。我一次只能传两张图,先传这两张。马上就来。
图片点击可在新窗口打开查看此主题相关图片如下:barpos2.png
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:barpso10.png
图片点击可在新窗口打开查看

6楼
李亚弟 发表于:2013/6/13 16:05:01
if time=140000 then a:=1;
加载这个代码之后,发现无论在那个时间,a的值都是1.上一次回复的两张截图的K线时间是140000之前的,现在我传一张K线时间正好是140000、一张K线时间再140000之后的图。
图片点击可在新窗口打开查看此主题相关图片如下:140000.png
图片点击可在新窗口打开查看
图片点击可在新窗口打开查看此主题相关图片如下:143100.png
图片点击可在新窗口打开查看

7楼
jinzhe 发表于:2013/6/13 16:15:19

想要a在14点之前没有值,需要这么写

a:if(time>=140000,1,drawnull);

不做这样的限定,a会是因为系统设定的关系,自动向前赋值

8楼
李亚弟 发表于:2013/6/13 16:34:29
那140000之后呢?
9楼
jinzhe 发表于:2013/6/13 16:38:11

是只要这个点变1其他没有值?

那么上面的>=改成=

10楼
李亚弟 发表于:2013/6/13 16:49:17
那么在140000赋值为1,之后就一直为1,那不就跟variable混起来了吗?
共11 条记录, 每页显示 10 条, 页签: [1] [2]


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