Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 6. - pagina 1060
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
Qui puoi trovare parte delle risposte: https://www.mql5.com/ru/forum/131859
1. Grazie, ma non ho trovato la risposta. C'è una funzione SetOrder(), ma è la stessa di OrderSend() in sostanza. Non è possibile aprire più ordini contemporaneamente con questa funzione.
Non puoi aprire diversi ordini allo stesso tempo con qualsiasi funzione, perché il server esegue gli ordini uno per uno e non in parallelo, e gli ordini sono di tutti i clienti, non solo tuoi.
Nel migliore dei casi, gli ordini saranno aperti con pochi millisecondi di differenza uno dopo l'altro, ma solo se c'è una certa domanda sul mercato.
Non puoi aprire diversi ordini allo stesso tempo con qualsiasi funzione, perché il server esegue gli ordini uno per uno e non in parallelo, e gli ordini sono di tutti i clienti, non solo tuoi.
Nel migliore dei casi gli ordini si apriranno con pochi millisecondi di differenza uno dopo l'altro, ma solo se c'è una domanda sul mercato.
Ecco, vedo che hai capito il problema! L'unica cosa che mi viene in mente è se apri questi ordini in modo pendente. Allora è possibile aprirli allo stesso tempo?
No, il server li eseguirà ancora uno per uno, in attesa o a mercato.
1. allora il problema della "simultaneità" viene eliminato. Allora sotto questo aspetto non c'è differenza tra l'apertura di un mercato o un mercato in sospeso.
2. È corretto controllare manualmente su ogni tick se l'ordine ha chiuso, per cogliere il momento di questa chiusura (per TP o SL) o ci sono funzioni già pronte?
1. Poi la domanda sulla "simultaneità" viene rimossa. Allora in questo aspetto non c'è differenza tra l'apertura del mercato o in sospeso.
2. È corretto controllare manualmente ad ogni tick se l'ordine è chiuso, per determinare il momento di questa chiusura (per TP o SL) o ci sono funzioni pronte?
2 Guarda attentamente: https://www.mql5.com/ru/forum/131859
isCloseLastPosByStop();isCloseLastPosByTake();
Potete consigliarmi quale società di intermediazione scegliere? Interessato ai problemi di deposito/prelievo e all'affidabilità delle quotazioni. Per esempio, i risultati dei test del server Alpari sono molto diversi da quelli di metaquote a favore di quest'ultimo. I parametri delle candele su diversi server hanno valori diversi, ecc.
È interessante che Alpari e il forex club non avevano una licenza la settimana scorsa, sono stati perquisiti da Teletrade. Come continuare a vivere?
Ciao a tutti. Voglio fare una funzione personalizzata completamente autonoma. Nessun problema con l'emulazione OnInit(). La funzione utente stessa viene eseguita per definizione. Ma ho problemi con lo pseudoOnDeinit(const int reason).
Chiarire il compito. La funzione utente deve cancellare i suoi oggetti grafici all'ultimo passaggio e, per esempio, salvare alcuni dati nelle variabili globali del terminale.
In un programma in loop, il segno della fine del programma può essere IsStopped()==true. In un programma non in loop, è sempre=0. Non è un metodo universale.
Ho provato a chiamare la funzione UninitializeReason() da OnTick(). Il risultato è sempre=0. Eppure sarebbe logico fargli dare il valore del motivo della deinizializzazione imminente all'ultimo passaggio.
Così, la funzione UninitializeReason() è troncata e può essere usata solo dentro OnDeinit(const int reason).
Tutte le funzioni utente possono essere scritte in aggiunta nella funzione di deinizializzazione OnDeinit(const int reason) e uno dei parametri obbligatori passati alla funzione utente dovrebbe essere reason-il motivodella deinizializzazione.
La presenza di un valore non nullo passato da OnDeinit(const int reason) alla funzione utente sarà il segno dell'arresto del programma principale.
Forse ci sono altri modi e variabili di sistema di cui avete bisogno per questo scopo. Scrivimi. Condividete le vostre esperienze. Se non ti dispiace. ;-)
Ho provato a chiamare la funzione UninitializeReason() da OnTick(). Il risultato è sempre 0, anche se sarebbe logico fargli dare il motivo della prossima deinizializzazione all'ultimo passaggio.