0

我想让我的代码更简洁一些,所以我希望为我的每个条件使用一个新行,以创建一个特定的“组” strategy.entry 条件。展示比讲述更容易。请参阅以下内容:

我的策略之一。进入条件“组”:

ent_FishLow() =>
    inDateRange == true
    mmfast>mmslow
    rsi<35
    fish1<-3

实际进入过程,评估是否验证了这个或另一个组:

if ent_RSILow() or ent_FishLow() or ent_TrendUP_FishLow() or...
    strategy.entry()

但是......它不起作用,除非我将所有这些东西格式化在一行中,并在条件之间使用运算符 AND 导致可读性和用户友好性降低,例如:

ent_FishLow() =>
    inDateRange == true and mmfast>mmslow and rsi<35 and fish1<-3

我能做些什么来将这些条件放在不同的行中吗?

4

1 回答 1

0

首先,您在以下函数中缺少andand运算符:or

ent_FishLow() =>
    inDateRange == true
    mmfast>mmslow
    rsi<35
    fish1<-3

你的另一个问题是,当你想要多行语句时,你的下一行应该以一个或多个(不同于 4 的倍数)空格开头。

以下示例可以正常工作。

//@version=5
indicator("My Script")

r = ta.rsi(close, 14)
a = ta.atr(10)

_l() =>
    r > 40 and
      a > 4  // Note the indentation

plot(_l() ? 1 : 0)
于 2022-01-19T17:34:09.300 回答