MetaTrader 5 Python User Group - Come usare Python in Metatrader - pagina 85
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
Strano, ma arriva anche un tavolo vuoto. Non c'è bisogno di aprire qualcosa nel terminale stesso come in Quicksilver per far funzionare lo scarico?
Qualsiasi grafico con la coppia desiderata (per i tick).
Qualcuno può confermarlo? C'è un modo per ottenere un commento dal broker?
Potresti aggiungere una descrizione alla documentazione?
Aggiunto
Voglio organizzare una contabilità commerciale virtuale in python. Ne ho bisogno per distinguere le caratteristiche delle diverse strategie di trading. Il broker utilizzato è Otkritie. Non c'è nessuna rete. C'è una posizione comune per lo strumento, Stop e Take della posizione è comune. Ho deciso di fare questo: apro un trade con qualsiasi strategia a mercato con qualsiasi volume, senza stop and take. Invece, ho messo uno stop e un ordine limite della stessa dimensione. Memorizzo gli ordini nella tabella separatamente. Ogni certo periodo di tempo, metto ordini = mt5.orders_get(symbol=symb) e ottengo una lista di ordini di biglietti conosciuti.ticket.tolist().
Poi vado attraverso la mia tabella di trading e controllo se un ticket di ordine stop o limit esiste ancora nella lista degli ordini aperti ricevuti. Se non c'è uno stop loss, significa che uno stop loss è scattato virtualmente; se non c'è un limite, significa un take profit. Poi cancello le voci per questo trade dalla mia tabella e cancello l'ordine pendente rimanente per questo trade. E tutto funziona tranne uno: non so come calcolare il profitto virtuale su questo affare. Nell'immagine puoi vedere che il sell stop è impostato a 141430, ma in realtà c'è stato uno slittamento e il prezzo aperto è 141350. Richiedo la richiesta di una posizione attivata: deals = mt5.history_orders_get(ticket=246525084) (questo ticket è stato salvato nel sistema quando l'ordine è stato piazzato, come nell'immagine sopra), ma nella mia risposta non vedo informazioni sul luogo dell'ordine, solo informazioni sul luogo dell'ordine. La cronologia mostra che il sell stop è stato realmente eseguito nel ticket 15215696 e posso chiedere il prezzo giusto in questo ticket. Ma prima devo trovare il biglietto dello scambio. Come posso abbinare questo biglietto con il biglietto dell'ordine pendente (sell stop)?
order_send e order_check restituiscono None. Non capisco dove guardare. Per favore, ditemi cosa c'è che non va. Per favore.
Codice
Uscita
Sono riuscito a risolvere il problema. Nella richiesta i campi volume, prezzo, sl, tp dovrebbero avere il tipo float. Funziona così
Colleghi, per favore consigliatevi:
1. Come posso estrarre gli intervalli di sessione di trading disponibili per strumento da mt5 in Python e aggiornarli periodicamente?
2. mi aspetto di vedere un metodo nella libreria per richiedere e cambiare il Trailing Stop sulle posizioni aperte?