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

 
Vitaly Muzichenko #:

Grazie. Ci lavorerò. Il manuale è un casino.

 
Sergey Dymov #:

Grazie. Ci lavorerò. Il manuale è un casino.

Sembra essere adattato...

Tutti dicono che mql5 è più veloce di mql4. Allora ho una domanda. Perché lo stesso Expert Advisor è stato eseguito in 164 ms su mql4 e 527 ms su mql5? Quale potrebbe essere il problema?

 
Sergey Dymov #:

L'adattamento sembra aver funzionato...

Tutti dicono che mql5 è più veloce di mql4. Allora ho una domanda. Perché lo stesso Expert Advisor gira in 164 ms su mql4 e 527 ms su mql5? Quale potrebbe essere il problema?

Con cosa e come avete misurato le prestazioni?

 
Sergey Dymov un EA multicurrency che ho scritto in mql4. Nel tester ovviamente non funziona. Ho deciso che dovrei passare a mql5.

Ho adattato tutti gli errori del compilatore e li ho corretti. ECCO l'uso degli indicatori tecnici. La mia testa è immersa nelle fiamme e non ho idea di cosa fare. La documentazione è incomprensibile e copre due pagine. Forse sto cercando nel posto sbagliato.

Una linea di codice in mql4 come segue

double MA1EURGBP_TF = iMA("EURGBP",15,MA1_Period,0,MODE_EMA,PRICE_OPEN,0);

o

double Stoch_M_GBPUSD=iStochastic("GBPUSD", Stoch_Period, K_Period, D_Period, Slowing, MODE_EMA, 0, MODE_MAIN, 0);

Secondo la documentazione, l'intera pagina di codice cambia in mql5. Maniglie, buffer, array con parametri, questo per iniziare, questo per calcolare, gestione degli errori durante la creazione della maniglia... questo è pazzesco... Forse sto cercando nel posto sbagliato.

E se uso diverse coppie e diversi timeframe, ottengo "Guerra e Pace".

In 4ka, la parte informativa dovrebbe funzionare con altri simboli, la parte dell'ordine no. Ma dobbiamo prima caricare i simboli richiesti nell'archivio delle citazioni. Prima non funzionava. Funzionerà per la profondità di caricamento dell'archivio da un simbolo. Potete vedere la data nell'archivio.

 

Altri consigli, per favore.

Ho trasferito l'EA su mt5, tutto sembra funzionare. Ho scritto un indicatore personalizzato su mt4 per verificare la correttezza dell'esecuzione, lo sto anche spostando su mt5.

Ho adattato l'indicatore, sembra che funzioni anche, ma non molto bene.

1) non funziona cancellando gli oggetti dal grafico quando si disinstalla. Penso che non ci sia posto per fare un errore.

int OnInit()

{

ObjectCreate(0, "GBP_S0",OBJ_LABEL,0,0,0);

return(INIT_SUCCEED);

}

void OnDeinit(const int reason);

{

ObjectDelete(0, "GBP_S0");

}

2)

Se lo facciamo in questo modo

ExtGBPBuffer[i]=GBPTP;

ObjectSetString(0, "GBP_S101",OBJPROP_TEXT,ExtGBPBuffer[i]);

Allora il valore GBP_S101 è esattamente quello che stiamo cercando. Ma la linea è zero. Come può essere? Cioè la linea è disegnata e tutto va bene, colore, larghezza, tutto tranne i valori.


Anche se lo faccio in questo modoExtGBPBuffer[i]=2; la linea è ancora 0

 
Sergey Dymov #:

1) Cancellare gli oggetti dal grafico quando si disinstalla non funziona. Sembra che non ci sia nessun posto in cui sbagliare.

Funziona

 
for(int cycle=1; cycle<=6; cycle++) { int period = per+(CountBuy()+CountSell()); vgran = iCustom(NULL,TF,"Канал_1",period,1,0);      }
Un consiglio. Aggiungo un indicatore tramite iCustom e faccio un loop attraverso questo indicatore, cambiando 1 istanza parametro-periodo. Di conseguenza, scelgo qualche variante e ci lavoro. Prendo solo l'ultima barra. Ma quando fermo il mio Expert Advisor, noto che visualizza una dozzina di indicatori con diversi parametri, e per tutta la durata della storia. Quando modifico un indicatore in un istogramma (una finestra separata), appaiono rispettivamente dieci finestre di istogramma. Come rimuovere (non visualizzare le linee), e non utilizzare l'intero indicatore durante l'enumerazione del ciclo, ma solo l'ultimo valore.
 
Aleksandr Kononov quando fermo il mio Expert Advisor, noto che visualizza una dozzina di indicatori con diversi parametri, e per tutta la durata della storia. Quando modifico un indicatore in un istogramma (una finestra separata), appaiono rispettivamente dieci finestre di istogramma. Come rimuovere (non visualizzare le linee), e non utilizzare l'intero indicatore durante l'enumerazione del ciclo, ma solo l'ultimo valore.
   HideTestIndicators(true); 
   MaCurrent=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,0); 
   MaPrevious=iMA(NULL,0,56,0,MODE_EMA,PRICE_CLOSE,1); 
   HideTestIndicators(false);
 

Ragazzi, consiglio su mql4 indicatore personalizzato costruito su MA basato sui prezzi di apertura, non cambia le sue letture con nuovi tick in arrivo, è per questo che si basa sui prezzi di apertura.

Su mql5 l'indicatore adattato cambia le sue letture nella zona di transizione ad ogni tick... Anche aprendo i prezzi, anche così


copy=CopyBuffer(MA2EURJPY,0,1,CountBars,MA2EURJPY_TF);

se(copia<0)

Print("Copia fallita MA2EURJPY_MAS");


per fare una seconda lettura, ma continua a ticchettare avanti e indietro


Andrey Sokolov #:

Funziona

Funziona solo una volta, ho la sensazione che la lingua sia glitchata. Quando modifico un frammento non correlato in mql5, tutto smette di funzionare...



 
Sergey Dymov #:

Ho l'impressione che il linguaggio sia glitchato come l'inferno. Quando modifico una sezione non correlata in mql5, tutto smette di funzionare... Ho avuto anch'io situazioni simili, ma ogni volta scopro che "non era la babina", quindi non è la babina, quindi non è mql4.

Anche io ho avuto situazioni simili, ma ogni volta si è scoperto che "non era la babina", quindi...