Domande dai principianti MQL5 MT5 MetaTrader 5 - pagina 829
![MQL5 - Linguaggio delle strategie di trading integrato nel client terminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
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
L'esperto di valute multiple nel ciclo chiede i dati per simbolo. C'è un tale frammento:
Tutti i simboli passano normalmente. Durante il primo passaggio il tempo è di circa 120ms, perché i buffer degli indicatori si riempiono. A partire dal secondo passaggio il tempo di calcolo sulla barra corrente è inferiore a 1 ms.
La particolarità è che un noto broker ha il simbolo EURRUR, per il quale non ci sono dati ("Wait for update"). Quindi il calcolo è bloccato su questa linea per 51 secondi. Errore 4806. 51 secondi è inaccettabile anche per una (prima) volta, figuriamoci per un ciclo.
Domanda. Come posso scoprire rapidamente che non ci sono dati per un dato personaggio? Poi lo memorizzavo e nelle iterazioni successive ci passavo sopra e andavo avanti senza perdere il ritmo.
Colleghi, per favore consigliate come convertire un array di tipo double in stringa. Ho bisogno di scriverlo in un file. Ecco un codice di formazione generale.
Informazioni prese dall'articolo
Salvare e caricare array da un file
Quando salviamo e carichiamo un array da un file, dobbiamo considerare la differenza tra la prima dimensione della dimensione dell'array e il numero totale dei suoi elementi. Quando salvate un array, dovreste prima scrivere la dimensione dell'array (il numero totale di elementi determinato da ArraySize()) nel file, poi l'intero array:
Ciao, sto affrontando il seguente problema.
Ho due EAs per lo stesso strumento con diversi magiks rispettivamente. Ho impostato il mio magik attraverso CTrade e ho aperto una posizione anche attraverso CTrade. Quando ho una posizione aperta del primo EA, il suo magik è assegnato al secondo EA (l'ho controllato dopo aver aperto una posizione, vedi sotto), quindi il controllo delle posizioni aperte non vede il mio magik e apro molte posizioni in una direzione. Il conto è su una demo, questo non può essere rilevato nel tester. Se il valore del magik è salvato nella classe, forse dovrebbe essere azzerato, ma non so come.
Ciao, sto affrontando il seguente problema.
Ho due EAs per lo stesso strumento con diversi magiks rispettivamente. Ho impostato il mio magik attraverso CTrade e ho aperto una posizione anche attraverso CTrade. Quando ho una posizione aperta del primo EA, il suo magik è assegnato al secondo EA (l'ho controllato dopo aver aperto una posizione, vedi sotto), quindi il controllo delle posizioni aperte non vede il mio magik e apro molte posizioni in una direzione. Il conto è su una demo, questo non può essere rilevato nel tester. Se il valore del magik è salvato nella classe, forse deve essere azzerato, ma non so come.
Si prega diincollare il codice correttamente, non come un foglio di testo.
Per quanto riguarda il codice: impostate i parametri di ingresso di ogni EA con il suo magik. Diciamo che hai impostato il primo a 10001, poi il secondo a 10002.
Si prega diinserire il codice correttamente, non come un foglio di testo.
Per quanto riguarda il codice: impostate i parametri di ingresso di ogni EA con la sua magia. Supponiamo che impostiate il primo a 10001, poi il secondo a 10002.
Grazie per una risposta così breve. Ma questo è il punto, le magie sono diverse. Così, ho stabilito che il secondo robot apre le posizioni con il primo mago. Non so come avviene e dove salva il primo numero magico di EA ma vorrei scoprirlo.
Grazie per la risposta rapida. Ma è questo il punto, i maghi sono diversi. Così ho scoperto che il secondo robot apre le posizioni con il numero magico del primo. Non so come avviene e dove salva il primo numero del mago, ma vorrei scoprirlo.
In questo caso, è meglio impostare il magik
// выставляем магик m_trade.SetExpertMagicNumber(Magic);
prima di ogni apertura di posizione/ordine invece che in OnInit.In questo caso, è meglio specificare un magik
prima di ogni apertura di posizione, non in OnInit.In questo caso, non è "meglio", è esattamente ciò di cui avete bisogno - è una classe wrapper per funzioni commerciali standard. Non memorizza magiks multipli. Ecco perché dovrebbe essere impostato un magik ogni volta prima e quando si vuole aprire una posizione con un nuovo magik.
Generalmente la sequenza è la seguente:
ecc...
In questo caso, è meglio impostare un magik
Prima di ogni apertura di una posizione/ordine, e non in OnInit.In origine era così, non aiuta. Ma negli esempi è di solito in OnInit quindi si è spostato. Per molto tempo ho pasticciato con questo, i gufi sul test sembrano funzionare senza problemi, poi improvvisamente apro il server e ci sono 20 posizioni in una direzione. Può il fatto che il controllo delle posizioni aperte non avviene attraverso le classi?
Grazie per la risposta rapida. Ma è questo il punto, i maghi sono diversi. Così ho scoperto che il secondo robot apre le posizioni con il numero magico del primo. Non so come succede e dove salva il primo numero magico di EA ma voglio scoprirlo.
Poiché non esiste un metodoGetExpertMagicNumber nella classe CTrade, si prega di stampare questo codice dopo l'operazione di trading:
In questo modo puoi controllare se entrambi gli EA hanno magie diverse.