Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 1350

 
Evgeny Dyuka #:

... In seguito alla domanda precedente

C'è la possibilità di un buffer di scambio tra l'Expert Advisor e gli indicatori aperti nello stesso grafico?
Cioè l'Expert Advisor ci mette qualcosa e gli indicatori ne leggono qualcosa.

Database
 
Aliaksandr Hryshyn #:
Database
Sì, questa è l'opzione migliore, specialmente se si carica su una cornice
 

Ho incontrato uno strano problema. Mentre l'EA è in esecuzione, a volte l'EA viene terminato a causa della divisione per zero.

C (HYDR-12.21,M2)  zero divide in 'C.mqh' (1321,60)

Ecco la linea 1321.

 if( B != 0 && A/B > 1.1)

Come è possibile? Perché nella prima condizione " B " non è uguale a zero. Quindi nel secondo caso non può essere anche la divisione per zero. O le condizioni sono state verificate fuori dall'ordine?

 
pivomoe #:

Di fronte a un problema confuso.

Dite bene, le condizioni sono controllate in ordine. Se il primo è falso, il secondo non viene controllato.

Tuttavia, il vostro terminale sta imprecando al 60° carattere della stringa, mentre la divisione è al massimo 17. Forse non è 'C.mqh' che stai guardando.


Mi piace anche fare così:

if(A > B*1.1)
 
Aleksei Stepanenko #:

Tuttavia, avete il terminale che impreca al 60° carattere della stringa, e la divisione è al massimo 17.

Ho cambiato la stringa per facilitare la lettura. Ecco l'originale.

if( BestSymmaSchtrafov != 0 && IdealnaySymmaSchtrafov/BestSymmaSchtrafov > 1.1)

Il segno di divisione è esattamente nella 60a posizione.

 

Fai un'impronta "B" davanti alla condizione. Cosa scriverà?


if( BestSymmaSchtrafov != 0)
   {
   printf(BestSymmaSchtrafov);
   if(IdealnaySymmaSchtrafov/BestSymmaSchtrafov > 1.1)
       {

       }
   }
 
Farò un tentativo. Ma purtroppo fa scintille solo nella vita reale. E molto raramente. Dobbiamo aspettare...
 
pivomoe #:
Lo proverò. Ma purtroppo scintille solo sul reale. E molto raramente. Dobbiamo aspettare...

Faccio come Alexei, 2 se. In un ifa con AND logico ha preso anche la divisione per zero negli AND seguenti. Due "se" hanno risolto il problema.

 
Valeriy Yastremskiy #:

E stava anche catturando la divisione per zero nelle E seguenti. Due iphs hanno risolto il problema.

Grazie.

 
Ho rimosso tutto Tutto quello che non ti piace è stato rimosso. L'isolamento è ancora in corso!!!