Errori tipici e come affrontarli quando si ha a che fare con l'ambiente del trading - pagina 9
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
Buon pomeriggio!
Ho una domanda simile per tutti e specialmente per fxsaber.
Sembra una domanda primitiva, ma non riesco a trovare la risposta.
Mi è stato detto qui https://www.mql5.com/ru/forum/6343/page939 "Prova a cercarlo. fxsaber sta lavorando su questo problema da un po' di tempo. Quello che ha funzionato non lo so, non mi interessa". Così ho deciso di chiedere a voi.
La domanda è questa. Ho aperto una posizione e voglio stampare il contenuto di MqlTradeResult:
retcode, ordine e volume sono stampati, ma deal e prezzo sono sempre degli zeri.
Per favore, consigliatemi cosa sto facendo di sbagliato e come ottenere l'accesso (almeno, stamparlo prima) al contenuto della struttura dei risultati?
Che ne dite di questo?
Apro una posizione e voglio stampare il contenuto di MqlTradeResult come questo:
retcode, ordine e volume sono stampati ma deal e prezzo sono sempre degli zeri.
Per favore consigliatemi cosa sto facendo di sbagliato e come ottenere l'accesso (almeno la stampa prima) al contenuto della struttura dei risultati?
Gli zeri sono scritti nel risultato.
Che ne dite di questo?
Gli zeri e sono prescritti nel risultato.
Vedo un ordine aperto, ottengo result.retcode 10009 e result.price = 0 ?
Puoi spiegare il significato di risultato se non contiene un risultato?
Per favore, spiegate che senso ha il risultato se non contiene il risultato?
Questa è una caratteristica di MT5 in cui il risultato è solo un ordine (biglietto e nessun prezzo) ma non un trade. Hai diverse opzioni
Questa è una caratteristica di MT5 in cui il risultato è solo un ordine (biglietto e nessun prezzo) ma non un trade. Hai diverse opzioni
In MQL4 non c'era una struttura di risultati e abbiamo ricevuto un ticket e selezionato l'ordine appropriato e richiesto i dati necessari. MQL5 ha la struttura dei risultati che contiene molti dati necessari, e sarebbe illogico non usarla.
1. Prima di fare una domanda sul forum, ho cercato di "capire da solo come funziona tutto" e cosa vedo - nella struttura dei risultati:
esce result.deal, cioè si presume che abbia senso e non è sempre rappresentato da zero nella struttura del risultato. Si potrebbero fare altri esempi che indicano che result.price così come result.deal possono essere ottenuti da MqlTradeResul, che è quello che ho cercato di fare.presente doppio prezzo; // Prezzo dell'affare, confermato dal broker.
Nel codice di esempio dello sviluppatore
Da nessuna parte ho visto informazioni che "Questa è una caratteristica di MT5, quando il risultato è solo un ordine (biglietto e nessun prezzo), ma non un affare". Potreste dirmi in base a quali informazioni siete arrivati a questa conclusione?
2. Se conoscete qualche "sviluppo di livello superiore già pronto (il livello basso è nascosto)", che permette di ottenere i parametri di una posizione immediatamente dopo la sua apertura (appare il codice 10009), senza selezione preliminare per ticket, vi prego di darmi un esempio o di darmi un link.
Grazie.
In MQL4 non c'era una struttura di risultati e noi selezionavamo l'ordine appropriato e richiedevamo i dati necessari. MQL5 ha la struttura dei risultati con molti dati necessari e sarebbe illogico non usarla.
1. Prima di fare una domanda nel forum, ho cercato di "capire da solo come funziona tutto" e quello che ho visto è che il risultato della struttura:
esce result.deal, cioè si presume che abbia senso e non è sempre rappresentato da zero nella struttura del risultato. Ci sono altri esempi che indicano che result.price così come result.deal possono essere ottenuti da MqlTradeResul, che è quello che ho provato a fare.C'è un prezzo doppio; // Prezzo dell'affare, confermato dal broker.
Nel codice di esempio dello sviluppatore
Da nessuna parte ho visto informazioni che "questa è una caratteristica di MT5 in cui il risultato è solo un ordine (biglietto e nessun prezzo) ma non un affare". Potreste dirmi in base a quali informazioni siete arrivati a questa conclusione?
2. Se conoscete qualche "sviluppo pronto di livello superiore (il livello basso è nascosto)", che permette di ottenere i parametri di una posizione immediatamente dopo la sua apertura (appare il codice 10009), senza selezione preliminare per ticket, vi prego di dare un esempio o di dare un link ad esso.
Una richiesta di compravendita si traduce in un rifiuto o in un ordine a mercato. Questo non è un trade, né una posizione generata da un trade.
Una richiesta di compravendita si traduce in un rifiuto o in un ordine a mercato. Questo non è un trade, né una posizione generata da un trade.
- dopo quale passo, tra quelli che avete elencato, pensate che appaia la struttura del risultato della richiesta di commercio (MqlTradeResult)?
- Secondo la descrizione di MQL5:
"Struttura del risultato della richiesta di compravendita (MqlTradeResult)
Come risposta a una richiesta di compravendita, il server commerciale restituisce dati contenenti il risultato dell'elaborazione della richiesta di compravendita come una struttura speciale predefinita MqlTradeResult". e "10009 TRADE_RETCODE_DONE Ordine eseguito".
Cioè il codice 10009 di ritorno del server commerciale significa che la richiesta OrderSend è stata eseguita con successo, cioè se richiedo i dati da MqlTradeResult, dopo aver ricevuto il codice 10009, come posso spiegare che result.price = 0?
Grazie:
- dopo quale passo, tra quelli elencati da voi, appare la struttura del risultato della richiesta di trade (MqlTradeResult)?
- Secondo la descrizione di MQL5:
"Struttura del risultato della richiesta di compravendita (MqlTradeResult)
Come risposta a una richiesta di compravendita, il server commerciale restituisce dati contenenti il risultato dell'elaborazione della richiesta di compravendita come una struttura speciale predefinita MqlTradeResult". e "10009 TRADE_RETCODE_DONE Ordine eseguito".
Quindi, il codice di ritorno del trade server 10009 significa che la richiesta OrderSend è stata eseguita con successo, cioè se richiedo dati da MqlTradeResult, dopo aver ricevuto il codice 10009, come posso spiegare che result.price = 0?
10009 TRADE_RETCODE_DONE - lo avete descritto voi stessi - l'ordine è stato eseguito. Questo è semplicemente il fatto che l'ordine è stato accodato con successo al server per l'esecuzione.
Inoltre, se questo ordine viene eseguito (dopo tutto, può essere rifiutato dal server), allora c'è un commercio - questo è il risultato del commercio con il prezzo di apertura.
Leggi di
OnTradeTransaction
Viene chiamato in Expert Advisors quando si verifica un evento TradeTransaction. La funzione è destinata all'elaborazione dei risultati dell'esecuzione della richiesta di compravendita.
voidOnTradeTransaction( )
const MqlTradeTransaction&trans,// struttura di una transazione commerciale
const MqlTradeRequest&request,// struttura della richiesta
const MqlTradeResult& result// struttura della risposta
);
Da nessuna parte ho visto l'informazione che "Questa è una caratteristica di MT5 in cui il risultato è solo un ordine (biglietto e nessun prezzo) ma non un trade". Mi dica gentilmente sulla base di quali informazioni è giunto a questa conclusione.
Esperienza propria.
2. Se conoscete qualche "sviluppo di livello superiore già pronto (il livello basso è nascosto)", che permette di ottenere i parametri di una posizione immediatamente dopo la sua apertura (appare il codice 10009), senza selezione preliminare per ticket, per favore date un esempio o date un link ad esso.
C'è un'altra opzione, ma è "avanzata".