以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 如下如题如下 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=80394) |
-- 作者:sadrick -- 发布时间:2015/7/3 9:04:00 -- 如下如题如下 m5:=ma(c,5); m10:=ma(c,10); VARIABLE:a=0; variable:b=1; if b=1 then begin if m5>m10 then a:=a+1; else a:=0; end else a:=0; if a=5 then b:=0; AA:a; bb:b; 1、请问这种if then 语句 是每来一笔新数据重上到下算一次吗 ? 2、如果每笔新的数据条件继续满足,里面的赋值部分 a:=a+1; 也要不断加1吗 ? |
-- 作者:jinzhe -- 发布时间:2015/7/3 9:07:35 -- 1.是的 2.不是,换了k线之后才会再次+1 |
-- 作者:sadrick -- 发布时间:2015/7/3 9:22:55 -- 再请教 1、如果现在a =2 新来的一笔tick 使m5<m10 此时的a应被赋予a=0 的值,对吗 ? 2 、如过再来一笔tick 再次使m5>m10 此时的a又被赋予a=1,对吗 ? |
-- 作者:jinzhe -- 发布时间:2015/7/3 9:32:31 -- 1.变成0, 2.还是2 值是根据公式计算,计算是在上根k线的结果基础上计算,而不是当根k线上一笔数据的结果做计算 |
-- 作者:sadrick -- 发布时间:2015/7/3 10:38:46 -- 还是不太理解 我再举个例子 比如 m5:=ma(c,5); m10:=ma(c,10); VARIABLE:a=0; variable:b=1; if b=1 then a:=-1; ifm5>m10 then a:=1; 如某tick使m5>m10 那么a此时被赋予1 ; 如果再新的一笔tick 使m5<m10 ,那么a是否又被赋予-1 的值 即a:=-1 , 而不是1 , 因为又重新算了一次 if b=1 then a:=-1; 下面的条件不满足 所以不执行 |
-- 作者:jinzhe -- 发布时间:2015/7/3 10:43:15 -- 举个例子 variable:a=0; if c>o then a:=a+1; if c<o then a:=a-1; 当上根k线a的值为0, 那么当期k线a只会在0的基础上做变动。如果当前行情是c>o ,那么a是在0的基础上自加1,变成1;然后不管有多少笔数据都是c>o,那么结果仍然是1,因为值是和上个周期的值比较,而不是上一笔
|
-- 作者:sadrick -- 发布时间:2015/7/3 11:00:11 -- 那就是根据老师你的例子 当上根k线a的值为0, 如果当前行情c>o 此时a取1 如果某一笔使c<o 那么a的取值应该为0-1=-1 而不是用上一笔的a取1时的值来计算1-1=0; |
-- 作者:jinzhe -- 发布时间:2015/7/3 11:01:01 -- 是的,变成-1 |