首页 > 解决方案 > 不能用 'expr1'=series[bool] 调用 'operator >='。参数的类型应该是: const float

问题描述

trend= input(5, minval=1, title="Trend in Bars")

DojiSize = input(0.06, minval=0.01, title="Doji size")

data=(abs(open - close) <= (high - low) * DojiSize)

plotchar(data, title="Doji", text='Doji', color=color.white)

dojialert = (data >= 0.01) and (DojiSize <= 0.06)

我实际上正在尝试运行此代码但收到错误:

Cannot call 'operator >=' with 'expr1'=series[bool]. The argument should be of type: const float

我能得到一些帮助吗?

标签: pine-script

解决方案


我没有运行代码,但我认为问题出在第 3 行:

data=(abs(open - close) <= (high - low) * DojiSize)

看来您正在将比较的值分配给您真正想要的值。

试试这个...

data = ( abs(open - close) <= ((high - low) * DojiSize) ) ? abs(open - close) : (high - low) * DojiSize

此外,您必须做一些与趋势有关的事情,例如:

trendEma = ema(close, trend)

...您不能只创建一个名为“趋势”的变量输入,并期望 TradingView 知道您想用它做什么。

我怀疑您来自更高级别的脚本语言,这些事情是针对您完成的。使用 Pine Script,您可以自己编写更多代码(然后大部分代码将尝试找到解决该语言中烦人的限制和错误的解决方法!)。


推荐阅读