If statement Thinkscript中的If语句

If statement Thinkscript中的If语句,if-statement,thinkscript,If Statement,Thinkscript,我是一名初级thinkscript程序员,我正在快速学习thinkscript的语法。然而,我对if语句有困难。我知道在一个if块中可以有一条语句,但是在一个if块中可以有多条语句吗 不:如果(条件)那么(这个)或者(那个) 但是:如果(条件)那么{(这个);(那个);} 这是可能的。只是把绘图变量误认为是条件语句,因为它们反过来又使用条件语句来绘制图形。thinkScript基本上有三种形式的if用法。这三种表单都需要else分支。一种形式允许设置或打印一个或多个值。其他两个仅允许设置或打印一

我是一名初级thinkscript程序员,我正在快速学习thinkscript的语法。然而,我对if语句有困难。我知道在一个if块中可以有一条语句,但是在一个if块中可以有多条语句吗

不:如果(条件)那么(这个)或者(那个)


但是:如果(条件)那么{(这个);(那个);}

这是可能的。只是把绘图变量误认为是条件语句,因为它们反过来又使用条件语句来绘制图形。

thinkScript基本上有三种形式的
if
用法。这三种表单都需要
else
分支。一种形式允许设置或打印一个或多个值。其他两个仅允许设置或打印一个值

  • if
    语句:可以为括号内的
    plot
    def
    变量设置一个或多个值
  • if
    函数:与上述类似,但更紧凑,这是thinkScript(r)版本的三元条件语句。区别在于真值和假值必须是双值。因此,它不能用于设置颜色,例如,或其他不表示双值的项目

  • 作为旁注,虽然示例中没有显示,但是可以使用
    def
    关键字以及
    plot
    关键字来定义变量值。与论坛站点不同,我们不使用“感谢”或“感谢任何帮助”或签名。请参阅“.顺便说一句,这是“提前感谢”,而不是“提前感谢”。感谢您编辑John SaundersSorry…我不明白这一点。这也不能真正回答问题:“在一个if块中是否可能有多个语句?”如果可能,那么如何?
    def val1;
    plot val2;
    if (cond) {
      val1 = <value>;
      val2 = <value>;
    } else {
      # commonly used options:
    
      # sets the variable to be Not a Number
      val1 = Double.NaN;
    
      # sets the variable to what it was in the previous bar
      # commonly used for recursive counting or retaining a past value across bars
      val2 = val2[1];
    }
    
    def val1 = if <condition> then <value if true> else <value if false>;
    
    def var1 = if(<condition>, <value if true>, <value if false>);
    
    # using version 3, "if function"
    plot Maximum1 = if(close > open, close, open);
    
    # using version 2, "if expression"
    plot Maximum2 = if close > open then close else open;
    
    # using version 1, "if statement", with two variables, a `plot` and a `def`
    plot Maximum3;
    def MinimumThing;
    if close > open {
        Maximum3 = close;
        MimimumThing = open;
    } else {
        Maximum3 = open;
        MinimumThing = close;
    }