jyqh00993553 发表于 2021-1-25 09:35:16

怎么才能做到k线快走完才报警?

具体来说:比如说,在小时K线系统里,10点的时候发出了买入信号,相应地也报警了,之后如果信号不消失,同时设置的是连续报警,则会一直保持报警直到11点。那有什么办法做到10点信号出现了不报警,到10:45后才开始连续报警呢?

netlife 发表于 2021-1-25 10:26:00

CLOSE

jyqh00993553 发表于 2021-1-25 10:34:52

不对,你这个变成了下一个k线周期发信号与警报。我要的是本周期但前面不警报。

Yuen_Lee 发表于 2021-1-25 15:48:13

利用CurrentTime和K线时间Time来判断。若选择的是5分钟K线,则CurrentTime在临近Time+0.0005时(自己决定还差多久报警)再报警。

jyqh00993553 发表于 2021-1-26 14:00:18

CurrentTime我知道,Time+0.0005是什么意思呢?能写个短句示范一下吗?谢谢!

Yuen_Lee 发表于 2021-1-27 09:03:31

jyqh00993553 发表于 2021-1-26 14:00 static/image/common/back.gif
CurrentTime我知道,Time+0.0005是什么意思呢?能写个短句示范一下吗?谢谢!

Time是指当前K线的开始时间,如在五分钟K线上,开盘K线的Time==0.0900(早上9:00),当这根K线快走完时,如电脑时间9:04:55,这时CurrentTime==0.090455(<(Time+0.0005==0.0905))。这时可以出发条件报警。
If (CurrentTime >= Time+0.000455 and '满足其它条件')
    Alert("xxx");

jyqh00993553 发表于 2021-1-28 10:46:07

真是聪明啊!非常谢谢!

jyqh00993553 发表于 2021-1-28 14:05:15

根据你的思路,我写了以下的语句来尝试k线结束前若干分钟出买卖信号(小时k线)
timecondition=currenttime>time+0.0040 or (time==0.11 and currenttime>time+0.0010);
       
        If(CNbpk==true and CNbpk==FALSE and timecondition==true)

发现部分信号发生的位置与原来没加时间语句的程序不一样。
所以这里就有个问题,如果把currettime放进去,在历史测试里它改变了什么?

Yuen_Lee 发表于 2021-1-28 15:41:40

currenttime在历史测试上会出错,因为历史中的每根K线上的时间不能和现在的电脑时间做对比。只有在实时状态下,与最新K线的Time作比较才能正确地起作用。

jyqh00993553 发表于 2021-1-28 23:23:26

谢谢!
页: [1] 2
查看完整版本: 怎么才能做到k线快走完才报警?