以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 公式模型编写问题提交 (http://weistock.com/bbs/list.asp?boardid=4) ---- 判断高低价时有闪烁问题 (http://weistock.com/bbs/dispbbs.asp?boardid=4&id=139067) |
-- 作者:zxsd -- 发布时间:2016/9/2 12:57:19 -- 判断高低价时有闪烁问题 代码如下: MA60_HOUR:=STKINDI(\'\',\'MA.MA1(60)\',0,5,0); HOUR_AA:=IF(MA60_HOUR<>REF(MA60_HOUR,1),1,0); AA_HIGH:=HHV(HIGH,BARSLAST(HOUR_AA)),NOAXIS; AA_LOW:=LLV(LOW,BARSLAST(HOUR_AA)),NOAXIS; IF HOUR_AA THEN BEGIN HIGH_60:=HIGH; LOW_60:=LOW; END IF HOUR_AA<>1 THEN BEGIN HIGH_60:=IF(AA_HIGH>HIGH_60,AA_HIGH,HIGH_60); LOW_60:=IF(AA_LOW<LOW_60,AA_LOW,LOW_60); END 这段的目的是,用在15分钟周期上,每次小时周期开始,到小时周期结束显示出这一小时中的最高价和最低价 但是实盘测试时候发现,不知道为什么HIGH_60、LOW_60这两个变量会闪烁,表现为: 如果当前这根15分钟周期K线没有创新高,那么HIGH_60就会随着最新价的变化在“这一小时的最高价”与“当前K线最高价”之间闪烁(如果创新高则不闪) 如果当前这根15分钟周期K线没有创新低,那么LOW_60就会随着最新价的变化在“这一小时的最低价”与“当前K线最低价”之间闪烁(如果创新低则不闪) (好像HOUR_AA=1时不会闪,忘记了) 我想在小周期上时时稳定的得到小时最高低价,就这个问题,感谢帮助! |
-- 作者:pyd -- 发布时间:2016/9/2 13:00:58 -- 15分钟引用1小时的是会闪烁,需要向前一个周期引用 MA60_HOUR:=STKINDI(\'\',\'MA.MA1(60)\',0,5,-1); [此贴子已经被作者于2016-9-2 13:01:09编辑过]
|
-- 作者:zxsd -- 发布时间:2016/9/2 13:27:53 -- 那如果我改成这样,是不是也可以呢: 原始: MA60_HOUR:=STKINDI(\'\',\'MA.MA1(60)\',0,5,0); HOUR_AA:=IF(MA60_HOUR<>REF(MA60_HOUR,1),1,0); 修改: MA60_HOUR:=STKINDI(\'\',\'MA.MA1(60)\',0,5,0); MA60_HOUR_REF:=VALUEWHEN(MA60_HOUR<>REF(MA60_HOUR,1),REF(MA60_HOUR,1)); HOUR_AA:=IF(MA60_HOUR_REF<>REF(MA60_HOUR_REF,1),1,0); 把时时引用的小时MA60用VALUEWHEN改为上一个小时的MA60 |
-- 作者:zxsd -- 发布时间:2016/9/2 13:49:44 -- 不行啊,我现在实盘看着,18:00这根15分钟线最高价是这根K线的不是一小时的 |
-- 作者:zxsd -- 发布时间:2016/9/2 13:52:50 -- HOUR_AA在18:00这根线上判断为1 |
-- 作者:zxsd -- 发布时间:2016/9/2 13:54:58 -- 闪烁原因是HOUR_AA这个条件闪烁,无法正确判断当前K线是不是小时周期的第一根K线 |
-- 作者:wenarm -- 发布时间:2016/9/2 14:05:04 -- 你3楼的逻辑上就有问题。 小引大,避免闪烁的就向前引一根,用2楼的方式实现 |