以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 请教下怎么固定住ATR的数值? (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=78200) |
-- 作者:onmidas -- 发布时间:2015/5/3 16:57:46 -- 请教下怎么固定住ATR的数值? 我想记录下开仓时K线对应的ATR数值,该ATR直到平仓前数值都保持不变。 我定义了一个全局变量,在开仓语句中,将ATR数值赋给了该全局变量, 以我的理解,全局变量应该不会随着K线变化再变化了 但实际运行下来,却仍然跟着K线变化 哪儿错了? 多谢!
|
-- 作者:netfox -- 发布时间:2015/5/3 18:55:55 -- 看你写的应该不会错,不过你把ATR归零那段写了吗?
然后呢还有个办法, 你这就是说 开仓到现在是多久。 所以呢仔细看函数表,有个叫做自上次开仓至今周期数的函数 ,嗯那,在配下REF
REF(ATR,XXX)
XXX= 自开仓至今多少周期的函数
搞定 |
-- 作者:onmidas -- 发布时间:2015/5/4 9:37:30 -- variable:aa=0; IF 开仓条件 then begin aa:=atr end 我按这个编写,aa是随k线变化的 楼上给的变通方法没解决我对variable的疑惑啊 |
-- 作者:jinzhe -- 发布时间:2015/5/4 9:44:20 -- if 开仓条件 and holding=0 then begin 开仓语句; aa:=atr; end 多加一个条件试试看 |
-- 作者:netfox -- 发布时间:2015/5/4 10:44:06 -- 回楼主:你说ATR会变化是因为你的“开仓条件”又实现了。
IF 开仓条件 then begin BUY(HOLDING=0,XXX,XXX,XX) END
类似上面这写法,第二行只要前头定义是=0 而不是 1或者别什么布尔形态。 IF后续内容就算实现也是不执行的。 但不代表说IF不“运行” 你知道的IF特性就是会一直运行这与while不同。
所以呢你如果想知道为何ATR会变换 只要在下面加一个 I:=I+1; 然后你观察下I ,我估计这个I会好几次求和。
因此你就可以判断,前面"开仓条件" 又实现了几次。
。。。 断点追几次就会发现问题。要善于用断点。 |