以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://222.73.7.161/bbs/index.asp)
--  金字塔软件问题提交  (http://222.73.7.161/bbs/list.asp?boardid=2)
----  关于变量 回溯 问题  (http://222.73.7.161/bbs/dispbbs.asp?boardid=2&id=183710)

--  作者:jzhfj
--  发布时间:2021/1/2 0:41:36
--  关于变量 回溯 问题

Variable: flag=0;

 

flagref1:=ref(flag,1);


if close<close[BARPOS-1] then
begin

flag:=0;


end;

 

if close>close[BARPOS-1] then
begin

flag:=1;


end;

 

                                              

 

 

 

flagref: ref(flag,1);

flagref11:flagref1;

 

 

发现  

flagref  和 flagref11    的值 不大一样    然后  

flagref1:=ref(flag,1);

这段代码 移到 倒数 第三行  ,就一样了  求解释

--  作者:yukizzc
--  发布时间:2021/1/4 10:28:13
--  
ref他引用的是上一根k线同样代码位置行的时候的flag的值,不是上一根k最后一个位置的flag的值
--  作者:FireScript
--  发布时间:2021/1/4 10:31:22
--  
if close<close[BARPOS-1] then
begin
flag:=0;
end;
if close>close[BARPOS-1] then
begin
flag:=1;
end;
这个过程对变量有处理的。

flagref1:=ref(flag,1); 
这个ref取的是上一个K相同代码位置时候的flag的值。  你现在把这个值给flagref1了,flag值在当前K发生的变化 flagref1它是不会变化的。