Caratteristiche del linguaggio mql5, sottigliezze e tecniche - pagina 34

 
Alexey Kozitsyn:
In che altro modo posso ottenere dati dal simbolo/TF giusto? CopyBuffer funziona solo con gli handle.

Questo è come funziona in MT4:

//+------------------------------------------------------------------+
double GetDataAO(string symbol_name, int timeframe, int shift) {
   return(iAO(symbol_name,timeframe,shift));
}
//+------------------------------------------------------------------+

I dati che inviate alla funzione sono quelli che ottenete. Immediatamente, senza creare 21 maniglie dello stesso indicatore.


 
Artyom Trishkin:

Questo è come funziona in MT4:

I dati che inviate alla funzione sono quelli che ottenete. Immediatamente, senza creare in anticipo 21 maniglie dello stesso indicatore.

So come ricevere dati da MT4. Puoi resistere a come farlo in MT5, ma non cambierà.
 
Alexey Kozitsyn:
So come ricevere dati da MT4. Puoi resistere a come farlo in MT5, ma non cambierà.

Non sto resistendo, né sto cercando di cambiare. Voglio ottenere lo stesso risultato su MT5 come nel video, che mostra come ottenere dati da qualsiasi traf su MT4 senza ritardi visibili.

Come?

Eseguendo l'indicatore, raccolgo tutti i dati di tutte le correnti in array e poi leggo da essi secondo l'indice? Ma la memoria non è gommosa.

Richiedere in un momento i dati su una barra del prezzo richiesto - ma dice che non ci sono dati e cosa devo fare per averli?

Hai capito? Non sto criticando MT5, voglio capire e ottenere il risultato buono come MT4.

 
Artyom Trishkin:

Non sto resistendo, né sto cercando di cambiare. Voglio ottenere lo stesso risultato su MT5 come nel video, che mostra come ottenere dati da qualsiasi traf su MT4 senza ritardi visibili.

Come?

Eseguendo l'indicatore, raccolgo tutti i dati di tutte le correnti in array e poi leggo da essi secondo l'indice? Ma la memoria non è gommosa.

Richiedere in un momento i dati su una barra del prezzo richiesto - ma l'indicatore dice che non ci sono dati, e cosa fare per la loro disponibilità?

Hai capito? Non sto criticando MT5, voglio capire e ottenere il risultato buono come MT4.

Se volete senza ritardi - avviate il timer ogni 60-90s per il simbolo/TF richiesto per mantenere i dati aggiornati. Anche se... Non sono sicuro se questo metodo funzionerà per i dati dell'indicatore da un simbolo straniero/TF. Devo provarlo.
 

28 caratteri per 6 TF = 168 maniglie (MA). Si avvia in 8 secondi, si aggiorna ogni 4 secondi senza alcun problema

Ma nel tester, ahimè, un tubo

 
Alexey Kozitsyn:
Non voglio ritardi - timer per iniziare ogni 60-90s per il simbolo desiderato/TF per mantenere i dati aggiornati.
Cosa fare al primo lancio? Sul video non ci sono ritardi nell'esecuzione dell'indicatore. Su MT5 tutto si blocca senza alcun segno di vita quando l'indicatore si avvia. Se l'utente aspetta, vedrà i dati disegnati. Ma possono decidere che l'indicatore non funziona. Messaggio al grafico con un grande schermo - "Aspetta, sto scaricando dati sul 21° timeframe"? Stampella.
 
Alexander Puzanov:

28 caratteri per 6 TF = 168 maniglie (MA). Si avvia in 8 secondi, si aggiorna ogni 4 secondi senza alcun problema

Ma nel tester, ahimè, un tubo.

Eseguitelo su un simbolo che non è mai stato usato e per il quale semplicemente non avete alcun dato.

E, sì, è un bene che tu abbia ottenuto un risultato - è quello che voglio ottenere. Raccogliendo le mie opinioni su come migliorarlo.

 
Artyom Trishkin:
Cosa fare al primo lancio? Non c'è ritardo nel lancio dell'indicatore su video. Tutto si blocca su MT5 senza alcun segno di vita all'avvio dell'indicatore. Se l'utente aspetta, vedrà i dati disegnati. Ma possono decidere che l'indicatore non funziona. Messaggio al grafico con un grande schermo - "Aspetta, sto scaricando dati sul 21° timeframe"? Stampella.

Se l'utente è così impaziente, che compri un ferro da stiro più velocemente, ma per il resto di noi, il comportamento normale e ragionevole è:

1. Impostare un numero adeguato di barre nella finestra e nella cronologia;

2. Per i calcoli seri informano l'utente che tutto è a posto, devono solo aspettare. È possibile creare un indicatore della storia aggiungendo.

 
Alexey Kozitsyn:

Se l'utente è così impaziente, che compri un ferro da stiro più velocemente, ma per il resto di noi, il comportamento normale e ragionevole è:

1. Impostare un numero adeguato di barre nella finestra e nella cronologia;

2. Per i calcoli seri informano l'utente che tutto è a posto, devono solo aspettare. Per amor di bellezza, potete creare un indicatore di sottotraccia della storia.

Ho impostato 5000 barre di storia sia in MT4 che in MT5. Quando uso MT4 ottengo un avvio immediato, mentre MT5 ha un'attesa di circa 20-30 secondi. E questo supponendo che ripetutamente il simbolo EURUSD sia usato per i test - c'è storia in entrambi i terminali.

Non c'è bisogno di informare in ogni modo un utente "impaziente" che deve aspettare. Si vuole evitare ritardi irragionevoli al lancio e al passaggio del tempo corrente.

Ecco perché sono interessato a possibili modi per risolvere questo problema. Per ora. Poi sperimenterò con loro - cosa funzionerà davvero.

 
Artyom Trishkin:

Ho impostato 5000 barre di storia sia in MT4 che in MT5. Il mio MT4 mostra un avvio istantaneo, mentre MT5 mostra un periodo di attesa da 20 a 30 secondi. E questo supponendo che ripetutamente il simbolo EURUSD sia usato per i test - c'è una storia in entrambi i terminali.

Non è necessario dire a un utente "impaziente" di aspettare. È necessario evitare ritardi irragionevoli nel lancio e nella commutazione dei tempi.

Ecco perché sono interessato a possibili modi per risolvere questo problema. Per ora. Li sperimenterò più tardi - cosa succede veramente.

20-30 secondi? .... Omg... Credo che tu abbia fatto qualcosa di sbagliato... I miei indicatori di tick contano molte volte più velocemente. Un po' alla volta su un grafico.
Motivazione: