首页 > 解决方案 > 在 PineScript 中检查过去的蜡烛是否是同一类型

问题描述

我正在尝试检查过去的n蜡烛是否属于同一类型。

例如,之前的五根蜡烛都是看涨的,还是都看跌的。

使用我的方法,我不断收到错误消息:

lines 30:37: Return type of one of the 'if' blocks is not compatible with return type of other block(s) (void; series[bool]; series[bool])

我在迭代中出了什么问题?

谢谢大家。

我也愿意尝试任何其他工作方法/想法。

// Determine if we have a valid setup
isBullish = true
isBearish = true

for i = (iterationCount - 1) to 0
    notSeries = not(isBullish or isBearish)

    if notSeries
        break
    else if close[i] > open[i] and isBullish
        isBearish := false
    else 
        isBullish := false

标签: pine-scriptcandlestick-chart

解决方案


不知道为什么它会抛出那个错误,因为即使你把它放在isBearish := false前面break,错误仍然存​​在,即使if语句中的每个路径都返回一个bool.

我会这样写,因为你不需要break评估你的isBullishand isBearish。你只需要break停止你的for循环。

for i = (iterationCount - 1) to 0
    notSeries = not(isBullish or isBearish)

    if notSeries
        break

    if close[i] > open[i] and isBullish
        isBearish := false
    else 
        isBullish := false

推荐阅读