parantesi sbilanciate - pagina 6

 
TarasBY:

E dovreste anche imparare ad agire razionalmente in parallelo a questo compito. Il codice in entrambe le funzioni menzionate è identico tranne che per UNA linea - questa linea filtra per tipo di ordine. Pertanto, sarebbe ragionevole fare il controllo con una funzione. Almeno, in questa sceneggiatura.

P.S. Imparare è difficile, ma riqualificarsi è MOLTO IMPORTANTE... ;)))


Sono d'accordo :))
 

Finché TarasBY non può vederlo - è così per due funzioni Kim ;))) Ma è solo per capire come disporre le parentesi. Ma sicuramente ne userò uno di TarasBY. Grazie mille a lui!

UFFFFF - Posso andare a lucidare qualcosa. :)

int start()
 { 
//----
     if(!ExistPositions()){

             if(!ExistOrders()){

                  ticket=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+40*Point,Bid-40*Point,"",magic,0,Red);  
                              }
     
                           }
//----
   return(0);
}
 
liana:

Finché TarasBY non può vederlo - è così per due funzioni Kim ;))) Ma è solo per capire come disporre le parentesi. Ma sicuramente ne userò uno di TarasBY. Grazie mille a lui!

UFFFFF - Posso andare a lucidare qualcosa. :)

Nella tua variante l'ordine non si aprirà finché ci sarà almeno un ordine nel terminale (per qualsiasi strumento). Non credo che sia quello che volevi! :)

Se **avete* fatto qualcosa... ;)))

 
int start()
 { 
//----
     if(!ExistPositions(Symbol(), -1, magic)){

             if(!ExistOrders(Symbol(), -1, magic)){

                  ticket=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+40*Point,Bid-40*Point,"",magic,0,Red);  
                              }
     
                           }
//----
   return(0);
}

L'ho fatto, l'ho fatto.

 

Posso aggiungere un altro ritorno nella vostra versione?

E un'altra domanda - cosa significa il punto esclamativo all'inizio? (!ExistOrders ()) Perché quando l'ho rimosso per curiosità - funziona esattamente allo stesso modo.

int start()
{ 
//----
    if (!ExistOrders (Symbol(), -1, magic))
    {ticket=OrderSend(Symbol(),OP_SELL,0.1,Bid,3,Bid+20*Point,Bid-40*Point,"",magic,0,Red);}
    else 
    {return(0);}
    
//----
   return(0);
}	
 
liana:


E un'altra domanda - cosa significa il punto esclamativo all'inizio? (!ExistOrders ())


https://docs.mql4.com/ru/basis/operations/bool
 

if(!a) Print("non 'a'");

E se viene rimosso, sarà Print("'a' "); ?

Cioè, se (!ExistOrders(Symbol(), -1, magic)) - l'ordine non esiste,

ma se (ExistOrders (Symbol(), -1, magic)) - l'ordine esiste? È vero?

 

se si scrive

bool a = false;

if(!a){
   Print("НЕ а");
}else{
   Print("Таки да - а");
}

То есть такая запись равноценна

if(a==false){}
или
if(a!=true){}

 

Puoi essere più specifico?

if(a){
   Print("а");
if (ExistOrders (Symbol(), -1, magic))
 
liana:

Puoi essere più specifico?

if(true) Alert("истина");
if(!true)Alert("ложь");
Motivazione: