以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 序列模式疑问 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=159633) |
-- 作者:grayelf -- 发布时间:2017/11/17 14:17:16 -- 序列模式疑问 写个程序判断close和均线的关系,如下代码在逐k模式正常。 在序列模式的时候maGL始终是-1。。。。不明白 MA1:ma(ref(close,1),5); if barpos<malen+1 then maGL:=0; else if close<ma1 then maGL:=-1; else if close>ma1 then maGL:=1; |
-- 作者:FireScript -- 发布时间:2017/11/17 15:03:35 -- 序列模式是每次来一个分笔,只在最新K上计算一次。 逐K会从第一个K计算到最新K。
历史的序列模式不会算,只看最新K结果。 |
-- 作者:grayelf -- 发布时间:2017/11/17 16:19:51 -- 还是有点懵懂。。。 比如ma1:ma(close,10),序列模式,历史k线也能显示均线呀。。。
|
-- 作者:wenarm -- 发布时间:2017/11/20 8:24:31 -- 是可以显示,那是因为一开始就计算好存在那了。 图表程序化只能是逐k模式。其它的后台,技术指标。两个都行。 |
-- 作者:yukizzc -- 发布时间:2017/11/20 8:58:37 -- http://www.weistock.com/runmode.htm 序列模式计算时,控制语句条件允许使用序列变量,由于序列模式只执行一次控制语句解析,对于序列变量,仅取最后一个数据做为条件判断。 |
-- 作者:FireScript -- 发布时间:2017/11/20 10:39:15 -- 序列模式只采用最新一个K的解析结果。历史上的所以K均按照这个解析结果来计算一次。序列模式是解析一次,不是说计算只计算一次。依然是每个K都计算。但是解析只有一次。
这样说不直接。 我给个例子你按照我说的去操作。 代码: if O<c then qq:=o-c; vl:qq;
1.当前最新K是阳线。 那么历史上所有qq的值的计算都采用 o-c; 2.当前最新K是阴线 qq的计算切换成c-o; 3.如果当前K的阴阳线发生变化。相应的计算也会发生改变。
4.如果某一瞬间 c=o,那么图表上qq值就消失了。因为代码里没有对c=o的处理。
|