Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 990

 
Alexandr Sokolov:

***

Qui ho appena alerato, e moltiplicando solo per EMPTY_VALUE si ottiene inf

***

О! Ottimo esempio! Necessità di salvare ...

   double a=EMPTY_VALUE;
   Print("- - -");
   Print("EMPTY_VALUE / 2 = ",a/2.0);
   Print("EMPTY_VALUE * 2 = ",a*2.0);
   Print("EMPTY_VALUE - 2 = ",a-2.0);
   Print("EMPTY_VALUE + 2 = ",a+2.0);
   Print("EMPTY_VALUE = ",a);

e il risultato:

2019.11.02 07:50:48.131 INF (ATD.B.XTSE,H1)     - - -
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE / 2 = 8.988465674311579 e+307
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE * 2 = inf
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE - 2 = 1.797693134862316 e+308
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE + 2 = 1.797693134862316 e+308
2019.11.02 07:50:48.142 INF (ATD.B.XTSE,H1)     EMPTY_VALUE = 1.797693134862316 e+308
 

https://www.mql5.com/ru/docs/constants/namedconstants/otherconstants

EMPTY_VALUE  Пустое значение в индикаторном буфере DBL_MAX


inf è un overflow
 
werter:

Divertente.

Questo è BuySellVolume. Il volume totale non è uguale alla somma di Buy e Sell, ma solo leggermente superiore.

Descrivi il problema in dettaglio, rimuovi le cose inutili dal codice...

Non voglio scavare in un codice così merdoso, anche se è piccolo...

 
Vladimir Pastushak:

Descrivi il problema in dettaglio, rimuovi le cose inutili dal codice...

Non voglio scavare in un codice così merdoso, anche se è piccolo...

Non ho bisogno di altro, grazie, ho trovato l'errore.
 
LuckyTrader:

Matrice fuori portata

L'errore si è verificato dopo l'aggiunta di strict

Il compilatore vi dice la linea e la posizione del cursore in cui si verificherà l'errore, se non imparate ad usare ME, non ha senso continuare a fare questo

 
LuckyTrader:
Vi ho mostrato la linea:

significa che la variabile i nel ciclo

for(int i=0; i<62; i++)

è diventato più grande dell'array numberFibo[]

cercare dove si descrive l'array o cambiare la dimensione di questo array

potete prefissare il ciclo con

Print("Размер массива numberFibo = " , ArraySize(numberFibo));
 

Come rendere leggibile questo messaggio?

Alert("Тестовое \r\nсообщение №1");
Alert("Тестовое \r\nсообщение №2");


Il punto è che l'ultimo messaggio nella finestra di avviso vicino alla grande campana può essere letto per intero, ma i precedenti solo nel registro dell'esperto (ma poi bisogna concentrare l'attenzione per separarli l'uno dall'altro)


Cosa si può fare per renderlo conveniente per un utente regolare? Immaginate cosa succederebbe se io, per esempio, mostrassi un simbolo, il timeframe, la direzione del trade, il prezzo aperto, lo stop e il profitto?

 
LuckyTrader:

Matrice fuori portata

L'errore si è verificato dopo l'aggiunta di strict

Questo

   for(int i=0; i<62; i++)
     {
      numberFibo            [i]=0;
      numberPesavento       [i]=0;
      numberGartley         [i]=0;
      numberGilmorQuality   [i]=0;
      numberGilmorGeometric [i]=0;
      numberGilmorHarmonic  [i]=0;
      numberGilmorArithmetic[i]=0;
      numberGilmorGoldenMean[i]=0;
      numberSquare          [i]=0;
      numberCube            [i]=0;
      numberRectangle       [i]=0;
      numberExt             [i]=0;
     }

può essere sostituito da

ZeroMemory(numberFibo);
ZeroMemory(numberPesavento);
ZeroMemory(numberGartley);
ZeroMemory(numberGilmorQuality);
ZeroMemory(numberGilmorGeometric);
ZeroMemory(numberGilmorHarmonic);
ZeroMemory(numberGilmorArithmetic);
ZeroMemory(numberGilmorGoldenMean);
ZeroMemory(numberSquare);
ZeroMemory(numberCube);
ZeroMemory(numberRectangle);
ZeroMemory(numberExt);

E poi, per qualche motivo, non vedo il ridimensionamento dell'array. Prima del riempimento, che dimensione viene assegnata all'array?

 
Alexandr Sokolov:

Come rendere leggibile questo messaggio?


Il punto è che l'ultimo messaggio nella finestra di avviso vicino alla grande campana può essere letto per intero, ma i precedenti solo nel registro dell'esperto (ma poi bisogna concentrare l'attenzione per separarli l'uno dall'altro)


Cosa si può fare per renderlo conveniente per un utente regolare? Immaginate cosa succederebbe se io, per esempio, mostrassi un simbolo, il timeframe, la direzione del trade, il prezzo aperto, lo stop e il profitto?

Vorrei che gli sviluppatori facessero nel prossimo aggiornamento per visualizzare un messaggio accanto alla grande campana che l'utente ha cliccato sotto nella finestra di avviso

 
LuckyTrader:

Hai avuto un errore quando stavi lavorando in un ciclo

Forum sul trading, sistemi di trading automatico e test di strategia

Tutte le domande dei neofiti su MQL4 e MQL5, aiuto e discussione su algoritmi e codici

LuckyTrader, 2019.11.04 09:08

Stringa mostrata (il compilatore non mostra nulla, l'errore appare nell'indicatore durante il test, trovato nel log):

      numberFibo            [i]=0;

e tu mostri un esempio completamente diverso. Non ci dovrebbero essere errori in quello scarabocchio sulla pagina precedente.