我该如何声明变量,比较它们,然后在函数内部使用它们

问题描述:

我正在开发一个ea,它要求我比较先前2个柱线的高点和哪个高点,将其用作止损值。我该如何声明变量,比较它们,然后在函数内部使用它们

相同的交易对手,我需要比较前2低点,并使用较低的一个作为止损价值。

我在做什么是这样的: -

void onTick() 
{ 
    static int ticket=0; 

    double ab=(//calculation for ab); 
    double de=(//calculation for de); 
    if(Low[1]<Low[2]) 
     double sll=Low[1]; 
    if(Low[1]>Low[2]) 
     double sll=Low[2]; 
    if(buy logic comes here) 
    { 
    double entryPrice=////////; 
    double stoploss=sll-xyz; 
    double takeprofit=entryPrice+((entryPrice-stoploss)*3); 
    ticket = OrderSend(Symbol(),...entryPrice,stoploss,takeprofit,.....); 
    } 
    if(ticket == false) 
     { 
      Alert("Order Sending Failed"); 
     } 
} 

问题是我不能够引用的SLL值,并得到一个错误信息,说“SLL未声明的标识符”

我相当新编程,并会很感激,如果有人可以帮助我这个。 我已经添加了大部分代码来了解逻辑。

你必须声明它们的如果,如果你想使用变量其他任何地方,所以在做这看看这个

double sll; // declare sll outside the if statements 
if(Low[1]<Low[2]) 
    sll=Low[1]; 
if(Low[1]>Low[2]) 
    sll=Low[2]; 
if(buy logic comes here) 
{ 
bool res = OrderSend(..........); 
} 

由你写什么看的报表,它看起来范围之外就像你可能在其他地方也使用res那样你就需要在if语句之外定义,因为是范围界定。