Errori, bug, domande - pagina 2120

 
fxsaber:

Non sembra che sia strettamente focalizzato. Non sembra che sia ancora di dominio pubblico.

Può benissimo essere un prodotto interno di analisi della propria pubblicità, del forum e di qualcos'altro
 
Комбинатор:
Può anche essere il prodotto interno dell'analisi della propria pubblicità, del forum e di qualcos'altro

La descrizione in qualche modo corrisponde male al solo uso interno.

 

?

void OnStart()
{
        int a = 0, b = 0; //Результат:
        Print(( ++a) + ( ++a)); //3
        Print((b+=1) + (b+=1)); //4
}

Risultato: 3 4

Qual è la differenza?

 
A100:

?

Risultato: 3 4

Qual è la differenza?

C'è, ovviamente, una differenza. Nel primo caso, prima va ++a, poi +, poi ++a.

Il secondo è b+=1, poi b+=1, poi b+b.

 
In passato, in MQL4, quando si scriveva una condizione in un EA, si scriveva semplicemente Close[0] indicando il prezzo di chiusura, per esempio, una candela chiudeva sopra la media mobile e l'ordine veniva aperto. In MQL5 (per Forti) non funziona, diversi indicatori possono essere confrontati tramite maniglie, ma la semplice analisi candlestick non funziona. Forse, queste candele (alto, basso, aperto, chiuso) devono essere dichiarate da qualche parte? Per MT4, ho semplicemente scritto Close[0] nella condizione e il sistema ha capito che questo è il prezzo di chiusura della barra corrente.
 
VadimR:
In passato, in MQL4, quando si scriveva una condizione in un EA, si scriveva semplicemente Close[0] indicando il prezzo di chiusura, per esempio, una candela chiudeva sopra la media mobile e l'ordine veniva aperto. In MQL5 (per Forti) non funziona, diversi indicatori possono essere confrontati tramite maniglie, ma la semplice analisi candlestick non funziona. Forse i dati delle candele (high, low, open, close) devono essere dichiarati da qualche parte? Ma per MT4, ho semplicemente scritto Close[0] nella condizione e il sistema ha capito che questo è il prezzo di chiusura della barra corrente.

Utilizzare la funzione CopyXXXX

 
fxsaber:

C'è, ovviamente, una differenza.

Il secondo è b+=1, poi b+=1, poi b+b.

Se si segue questa logica, allora

void OnStart()
{
        int c = 0;    //Результат:
        Print( c     + (c+=1)); //1
}

Prima c+=1, poi c+c e il risultato è 1+1= 2. E il risultato = 1

 
A100:

Se si segue questa logica, allora

Prima c+=1, poi c+c e il risultato è 1+1= 2. E il risultato = 1

Funziona male solo nello script, e funziona bene nell'EA.

Intendo l'esempio precedente.

 
A100:

Se si segue questa logica, allora

Prima c+=1, poi c+c e il risultato è 1+1= 2. E il risultato = 1

Ti manca la logica.

Print((c+=0) + (c+=1)); //2
Print((c+=1) + c); //2
 
fxsaber:

Non hai capito il punto.

Se non capisco la logica, allora perché il risultato https://www.mql5.com/ru/forum/1111/page2140#comment_6484866 è lo stesso in entrambi i casi in C99\C++?

Ошибки, баги, вопросы
Ошибки, баги, вопросы
  • 2018.02.05
  • www.mql5.com
Общее обсуждение: Ошибки, баги, вопросы