Il problema del trasferimento da MT4 a MT5. O, più precisamente, l'impossibilità di eseguire alcuni algoritmi in MT5 senza 'err. - pagina 6

 
Perché non creare il proprio terminale in primo luogo?
 
Artyom Trishkin:
Dovete contare tutte le serie temporali una volta, e poi aggiungerne solo altre. Questo può essere fatto nella finestra.
Sì, nei loro array. Puoi usare il SB. La classe delle serie temporali è propria.

Questa è una sciocchezza!

A cosa servono allora il terminale e il MQL? Per scrivere tutto da solo? E per inviare ordini tramite fix direttamente al broker?

 
Eugeni Neumoin:

Quindi suggerisci di non usare i buffer, ma di lavorare con i tuoi array?

A cosa servono allora i buffer?

Quindi proponi di fare la tua stampella, invece dei buffer :(

E invece di iTime, iLow, ecc. fate le vostre funzioni... Riscrive tutto a modo suo, bypassando le funzioni che non funzionano da MT5...

Questo è drastico. Ma lasciate che gli appassionati lo facciano. Mi faccio da parte. Non guarderò nemmeno il processo.

Ho fatto molti indicatori in questo modo - su classi di serie temporali. C'è tutto, e non è diverso dal lavorare con indicatori ordinari. Ma in aggiunta - un mucchio di comodità.
 
Andrey Khatimlianskii:

Un errore di logica allora, forse. Potrebbe non esserci un bar.

C'è un bar. Non è sempre una funzione che dà -1. Credo che sia solo questo dalla descrizione della lingua di MT5:

"...Disponibilità dei dati.

La disponibilità di dati in formato HCC o anche in formato HC pronto all'uso non significa sempre la disponibilità incondizionata di questi dati per la visualizzazione su un grafico o per l'uso in programmi mql5.

Quando si accede ai dati dei prezzi o ai valori degli indicatori dai programmi mql5 , si dovrebbe tenere presente che non è garantito che siano disponibili in un certo momento, o da un certo punto nel tempo..."

 
Andrey Khatimlianskii:

Questa è una sciocchezza!

A cosa servono allora i terminali e i MQL? Quindi puoi scrivere tutto da solo? E per inviare ordini tramite fix direttamente al broker?

Cos'è questa sciocchezza? Che avete dati pronti nel buffer? È stato fatto più di una volta in 4 per accelerare le cose.
 
Artyom Trishkin:
Lì tutto funziona. Ma a volte l'accesso è negato. Forse a causa degli aggiornamenti delle serie temporali - non lo so. Quando si rifiuta, bisogna ripetere la richiesta, perché la prima richiesta attiva lo scambio di dati.

Se tutto funzionasse, non ci sarebbero un milione di topic dedicati a questo problema.

La logica si è rivelata più complicata di quanto gli utenti del terminale siano pronti a gestire.
E ci devono essere degli errori, ma gli sviluppatori non hanno il tempo di cercarli, e nessuno vuole nemmeno riprodurli e provarli tra gli utenti.

 
Artyom Trishkin:
Qual è l'illusione? Che avete dati pronti nel buffer? Questo è stato fatto più di una volta in 4 per accelerare le cose.

L'assurdità sta nell'organizzare la propria copia dei dati, che è già disponibile nel terminale.

 
Eugeni Neumoin:

Il bar è lì. La funzione non produce sempre un -1. Credo che sia proprio questo dalla descrizione della lingua di MT5:

"...Disponibilità dei dati

La disponibilità di dati in formato HCC o anche in formato HC pronto all'uso non significa sempre la disponibilità incondizionata di questi dati per la visualizzazione su un grafico o per l'uso in programmi mql5.

Quando si accede ai dati dei prezzi o ai valori degli indicatori dai programmi mql5 , si dovrebbe tenere presente che non è garantito che siano disponibili in un certo momento, o da un certo momento..."

iBarShift() funziona allo stesso modo in entrambi i terminali. E restituiscono gli stessi codici di ritorno nelle stesse condizioni.
 
Artyom Trishkin:
Ho fatto molti indicatori in questo modo - su classi di serie temporali. Lì c'è tutto, e non differisce dal lavoro ordinario con gli indicatori. Ma in aggiunta - un sacco di comodità.

Tuttavia, è meglio che le funzioni linguistiche funzion ino correttamente senza questi espedienti. O il linguaggio è stato fatto nel modo che lei suggerisce. In altre parole, affinché i programmatori non si inventino qualcosa a modo loro con le discussioni sul forum, il linguaggio deve essere implementato, forse attraverso alcune funzioni aggiuntive, senza fallire l'accesso alle serie temporali.

 
Artyom Trishkin:
iBarShift() funziona allo stesso modo in entrambi i terminali. E gli stessi codici di ritorno vengono restituiti nelle stesse condizioni.

Perché, allora, la descrizione della lingua contiene la citazione che ho fatto? Se tutto funziona bene, perché scrivere nella guida linguistica che l'accesso può essere negato in qualsiasi momento?

E quando c'è un diniego di accesso e gli sviluppatori sono onesti su di esso, quindi ci sono un sacco di thread sul forum. E OGNI programmatore incontra questo problema. E ognuno cerca di risolvere questo problema a modo suo. Alcuni possono farlo e altri no.

Gli sviluppatori letterati creano librerie, ad esempio tensorflow, in modo che la gente non si senta in agonia. E qui... Bene, all'inizio del thread, tutti hanno letto le risposte di Renat...