以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://222.73.7.161/bbs/index.asp) -- 公式模型编写问题提交 (http://222.73.7.161/bbs/list.asp?boardid=4) ---- 请教“:”与“:=”的问题 (http://222.73.7.161/bbs/dispbbs.asp?boardid=4&id=176060) |
-- 作者:cui53228 -- 发布时间:2020/5/15 14:25:01 -- 请教“:”与“:=”的问题 AA[BARPOS-1]:High; TE:AA[BARPOS-1]; 逐K模式,上面的例子,AA可以显示为后一天的高价,TE显示当天高价,这没啥问题。但当第一句加上“=”, AA[BARPOS-1]:=High; TE:AA[BARPOS-1]; 现在TE却变成0了,这是咋回事?这不就是简单的一个序列变量的一个序列值赋值为high,然后直接调用这个序列值,咋就不是high了?百思不得其解 |
-- 作者:FireScript -- 发布时间:2020/5/15 15:04:34 -- 这种写法就是存在问题的。 规避下就行了。:和:= 的确有差异,但是具体这个差异怎么影响到上面的操作,目前不太清楚。原因应该是和一些底层的机制有关系,所以只能建议用户规避这些造成问题的用法了。 |
-- 作者:cui53228 -- 发布时间:2020/5/15 15:31:22 -- 那请问给序列变量赋值,不用:=,要用什么呢?直接用=?那需要事先申明变量为序列变量吧,且不说金字塔好像没有像NUMERICSERIES这种直接指定为序列的关键字,我试着改成这样: VARIABLE:AA:=CLOSE; AA[BARPOS-1]=High; TE:AA[BARPOS-1],LineThick0; 结果TE还是0啊 |
-- 作者:cui53228 -- 发布时间:2020/5/15 15:55:55 -- 同样的写法,不管这里是用AA[1]还是AA[BARPOS-1],用在MC或金魔方之类上都是正常的。而金字塔只有AA[1]这种下标是常数才正常。但因为金字塔的序列下标是按顺序而不是像其他很多软件一样倒叙,想给上一根赋值这种常用操作岂不是都不能用了?明明你们的范例里都有MA1:=MA1+CLOSE[BARPOS-J]这种写法 |
-- 作者:FireScript -- 发布时间:2020/5/15 16:27:51 -- 赋值就是“:=”。唯一的问题就是 你无法给H,C这类自带的序列变量赋值。直接或者间接的都不行。也无法在当前K给上一个K的任何变量赋值。 只支持如下方式的读取值。 直接如下操作即可,它本身作为一个序列变量是可用指定用下标处理的: x1:High[BARPOS+1];//当前K前(未来方向)一个K的最高价 x2:High[DATACOUNT];//最新K位置最高价 x3:High[BARPOS-1];//最新K位置的上一个K的最高价 没必要把H再赋值给一个变量来重现定义一个序列变量。 [此贴子已经被作者于2020/5/15 16:30:03编辑过]
|
-- 作者:cui53228 -- 发布时间:2020/5/18 10:13:59 -- 问题是有时候需要回溯的周期是变量,事先并不知道。比如说画趋势线,是事后才确认高低点。 比如说要在从高点回落超过20%时才确认高点,然后画上轨趋势线。如果不用向前赋值,那该怎么处理实现呢? |
-- 作者:FireScript -- 发布时间:2020/5/18 10:17:13 -- 回溯数值也可以用ref或者refx这种函数,一个是向历史回溯,一个是未来函数,回溯的周期可以是变量。 |
-- 作者:cui53228 -- 发布时间:2020/5/18 10:22:46 -- 因为金字塔没有像其他软件的TL_new这类直接指定划线起始点的函数,只能用DRAWLINE这种当根确认满足条件的。如果不使用像 “高点[事后才确定的高点位置]=1”这种向前赋值,如何实现划趋势线?用refx当根并没法确定向后回溯多少啊,只有事后才知道然后向前赋值
|
-- 作者:FireScript -- 发布时间:2020/5/18 10:32:38 -- 我明白你这个思路。但是目前所有画线都是以当前K的条件作为标准。暂时没其他办法。也无法给历史序列位置的变量赋值。所有你这个需求应该是实现不了了。 |
-- 作者:cui53228 -- 发布时间:2020/5/18 10:43:30 -- 好吧,希望能尽快加入TL_NEW,TL_GET,TL_SET这类脱离序列划线的函数,这样配合脱离序列的数组函数,可以实现很多划线下单和算法处理功能 |