Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 1190
Ti stai perdendo delle opportunità di trading:
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Registrazione
Accedi
Accetti la politica del sito e le condizioni d’uso
Se non hai un account, registrati
Chiusura del server demo MetaQuotes
MetaQuotes Software Corp.
4 marzo 2009
Il 5 aprile 2009 il server "demo.metaquotes.net" sarà chiuso. Tuttavia, il Centro Storico con la storia minuta continuerà il suo lavoro.
Da questo giorno la nostra azienda si rifiuta di usare il server demo. Al giorno d'oggi, il numero di aziende che eseguono la piattaforma MetaTrader 4 è così alto, che non vediamo la necessità di mantenere il nostro server.
Questa è una specie di antichità (si parla di un altro server). È stato fatto molte volte quest'anno, l'ultima volta è stato un mese fa su MetaQuotes-Demo un nuovo conto demo è stato creato normalmente.
Inoltre, se il server è stato rimosso, perché viene mostrato e pingato nella procedura guidata di apertura dell'account? L'inceppamento avviene solo nell'ultimo passo.
La prima volta che si accede ai dati storici dall'indicatore, se non ci sono dati locali sufficienti, i dati vengono caricati e la funzione restituisce un errore.
Questo lo capisco perfettamente. Se si trattasse di barre insufficienti nella storia, entrambe le funzioni restituirebbero 0. Tuttavia, una di esse restituisce 0, mentre l'altra restituisce correttamente il numero di barre nella storia. Inoltre, sono chiamati uno dopo l'altro:
Solo i dati nel primo caso sono presi dai premembri pronti (symbol e timeframe) della classe Loader (correttamente inizializzati), ma nel secondo caso, dalle funzioni Symbol() e Period() (che restituiscono esattamente gli stessi valori scritti in symbol e timeframe). I valori delle variabili sono identici a quelli delle funzioni (ho controllato). Ma non è chiaro dove iBars(symbol, timeframe) si incasina con simbolo e timeframe assolutamente corretti. Mentre iBars(Symbol(), Period()) non fa un errore. Così ho deciso che deve essere un errore nel terminale stesso o una compilazione errata del codice sorgente.
Lo capisco molto bene. Se si trattasse di mancanza di barre nella storia, allora entrambe le funzioni restituirebbero 0. Ma così com'è, una funzione restituisce 0, mentre l'altra restituisce correttamente il numero di barre nella storia. Inoltre, sono chiamati uno dopo l'altro:
Solo i dati nel primo caso sono presi dai premembri pronti (symbol e timeframe) della classe Loader (correttamente inizializzati), ma nel secondo caso, dalle funzioni Symbol() e Period() (che restituiscono esattamente gli stessi valori scritti in symbol e timeframe). I valori delle variabili sono identici a quelli delle funzioni (ho controllato). Ma non è chiaro dove iBars(symbol, timeframe) si incasina con simbolo e timeframe assolutamente corretti. Mentre iBars(Symbol(), Period()) non fa un errore. Così ho deciso che c'è un errore da qualche parte nel funzionamento del terminale.
Ora scrivi così, come ti ha consigliato Igor:
E non dimenticate che questo è un costruttore di classe, e viene chiamato prima dell'inizializzazioneLo capisco molto bene. Se si trattasse di mancanza di barre nella storia, allora entrambe le funzioni restituirebbero 0. Ma così com'è, una funzione restituisce 0, mentre l'altra restituisce correttamente il numero di barre nella storia. E vengono chiamati uno dopo l'altro:
Ti viene in mente una storia
e poi si decide di scriverlo come rivendicazione e quindi la domanda
Cosa dice l'aiuto dell'errore 4401?
cosa ho scritto?
Capisci la differenza tra una mancanza di barre e un grafico che non è pronto?
si ha la situazione dopo il riavvio del terminale con l'inizio dell'indicatore, e si richiedono i dati nell'inizializzazione globale del programma MQL (costruttore di classe), che sarà eseguito prima di OnInit()
andato, si scrive più veloce di quanto si legge, cercare il forum 4401 - tutte le risposte
Calcolo il lotto come segue
È all'inizio dell'EA... e l'ho messo alla fine del codice
Quando la variabile Lots viene chiamata nella funzione OnTick, l'EA la trova e la ricalcola.
Non può essere così. La dichiarazione e l'inizializzazione sono in corso, e la variabileLots viene assegnata con un'espressione.
Questa assegnazione può essere eseguita solo una volta all'avvio. Non può essere il caso che un'espressione sia assegnata automaticamente ogni volta che si accede aLots. Non ho sentito che mql può farlo.
Non può essere così. Avete la dichiarazione e l'inizializzazione, e un'espressione viene assegnata alla variabileLots.
Questa assegnazione può essere fatta una volta all'avvio, non può essere che ogni volta che si accede aLots, un'espressione venga assegnata automaticamente. Non ho sentito che mql può farlo.
Ho controllato, quando il saldo cambia, cambia anche il lotto
Wow, lo controllerò. So che si possono inizializzare variabili con elementi di array con funzioni, ma non sapevo che cambiasse automaticamente, non credo che ci sia una cosa del genere neanche in C++, controllerò più tardi.
E non dimenticate che questo è un costruttore di classe, e viene chiamato prima dell'inizializzazione
Questo se l'oggetto è automatico. Ma lo creo con la parola chiavenew (in OnInit()) e lo cancello con la parola chiave delete (in OnDeinit()). Cioè, uso un puntatore a un oggetto di tipo Loader. Ma credo che tu conosca tutti i dettagli. Ecco perché il caricatore viene creato in OnInit() e non ci può essere alcun errore qui.
Se intendi scambiare le funzioni, ho provato e il risultato è lo stesso. Solo che i messaggi vanno in una sequenza diversa :)
Risultato:
2020.06.24 23:10:48.568 Loader::Loader simbolo: EURUSD timeframe: PERIOD_H1
2020.06.24 23:10:48.568 Loader::Loader bars (2): 140435
2020.06.24 23:10:48.568 Loader::Loader bars: 0
2020.06.24 23:10:48.568 Loader::Loader Errore: 4401
Hai inventato una storia.
e poi ha deciso di trasformarlo in una denuncia.
Nessun reclamo! E qual è la storia se ho fornito il codice sorgente e anche descritto la sequenza di azioni per testare il suo lavoro? Ovviamente, mi avete frainteso...
E stai chiedendo dati nell'inizializzazione globale del programma MQL (costruttore della classe), che sarà eseguito prima di OnInit()
andato, stai scrivendo più velocemente che leggendo,cerca nel forum 4401 - tutte le risposte
Non dovrebbe essere eseguito prima diOnInit(), ho scritto in un post precedente. Sei tu che non stai leggendo attentamente, sia i post che il codice sorgente che ho aggiunto per i test.
Questa è una certa antichità (si parla di un altro server). Più di una volta quest'anno, l'ultima volta un mese fa su MetaQuotes-Demo un nuovo conto demo è stato creato normalmente.
Inoltre, se il server è stato rimosso, perché viene mostrato e pingato nella procedura guidata di apertura dell'account? L'inceppamento avviene solo nell'ultimo passo.