Rss & SiteMap

金字塔客服中心 - 专业程序化交易软件提供商 http://www.weistock.com/bbs/

专业程序化软件提供商
共7 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:判断高低价时有闪烁问题

1楼
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时不会闪,忘记了)

我想在小周期上时时稳定的得到小时最高低价,就这个问题,感谢帮助!
2楼
pyd 发表于:2016/9/2 13:00:58

15分钟引用1小时的是会闪烁,需要向前一个周期引用

MA60_HOUR:=STKINDI('','MA.MA1(60)',0,5,-1);

[此贴子已经被作者于2016-9-2 13:01:09编辑过]
3楼
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
4楼
zxsd 发表于:2016/9/2 13:49:44
 不行啊,我现在实盘看着,18:00这根15分钟线最高价是这根K线的不是一小时的
5楼
zxsd 发表于:2016/9/2 13:52:50
HOUR_AA在18:00这根线上判断为1
6楼
zxsd 发表于:2016/9/2 13:54:58
 闪烁原因是HOUR_AA这个条件闪烁,无法正确判断当前K线是不是小时周期的第一根K线
7楼
wenarm 发表于:2016/9/2 14:05:04

 你3楼的逻辑上就有问题。

小引大,避免闪烁的就向前引一根,用2楼的方式实现

共7 条记录, 每页显示 10 条, 页签: [1]


Powered By Dvbbs Version 8.3.0
Processed in 0.06812 s, 3 queries.