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
Sosterrò il topic starter, ho preso in prestito mql molte volte come 4 e 5, e dirò che personalmente ho poca voglia di imparare il linguaggio che posso usare solo qui nel trading...
Beh, o è per niente o perché non capite il problema. Hai davvero intenzione di scrivere di nuovo gli algoritmi degli indicatori? È come andare da Volgograd a Mosca passando per Vladivostok. Un'altra cosa, tutti gli indicatori tengono conto della storia. Cioè, se prendi i dati (barre) di un mese, calcoli l'indicatore secondo il tuo algoritmo e lo confronti con Terminal, i tuoi calcoli saranno diversi.
Nemmeno io capisco la frase:
In base a quello che ho scritto, si scopre che c'è un grande strato di conoscenza di Python :) Apri un editor e conosci già python - è così facile, e apri mql e non sai niente.
Allo stesso tempo, chiamare mql, cheè completamente orientato alla piattaforma, uno strumento "obsoleto"... python è stato creato nel 1991 e questo è molto prima
Quello che ho visto in questo thread, scritto in python, è molto facile da implementare in mql
---
Beh, è interessante come idea generale, ma non di più.
Inoltre non sfrutta Python e non è "stile Python". È come martellare i chiodi con un cacciavite, il martello è antiquato.
Sospetto che l'unica stoviglia in casa tua sia un cucchiaio - puoi fare una zuppa o una torta ed è più sicuro da usare
)))
Se ti piace, usa Python, ma non come il topicstarter - non creare i tuoi tipi di dati personalizzati - barre e così via, non scrivere i tuoi calcoli ... e usa le soluzioni esistenti, altrimenti non ha senso usare questo linguaggio, potresti anche scrivere i tuoi pacchetti di reti neurali ;)
Sì) A proposito, non c'è una libreria su Python per quelle funzioni del trader, o se puoi scrivere l'analisi statistica completa di una serie in un paio di righe, non hai bisogno di MA)...
Già) A proposito, non c'è una libreria Python per tutti i tipi di funzioni di quasi-trading, o se si può scrivere un'analisi statistica completa di una serie in un paio di righe, allora il MA non è più necessario)...
Le migliori 101 librerie di trading algoritmico di Python | PythonRepo
Non sono riuscito a tornare sul forum ieri. Continuerò. Ho aperto un nuovo account demo, e su di esso ci sono i nomi degli strumenti senza '_i' alla fine, quindi ho corretto il codice in questa parte.
Continuerò il movimento graduale e lento, una specie di micro-tutorial, per chi può tornare utile.
Introduciamo una variabile n (piccola) - sia, per così dire, la lunghezza della finestra. Cioè, nei file con prezzi, N letture, ad esempio 1000 e n, impostiamo, ad esempio, 10 o 100 o 288 (un giorno, se l'intervallo di tempo è M5).
La variabile d per me significa lo spostamento di questa finestra nel tempo, nel passato. Poniamo d = 0.
Ad esempio, visualizzeremo 10 letture di prezzi di chiusura e SMA dell'ordine di 101 (ritardato di 50 intervalli tra le letture):
Risultato del lavoro:
Impariamo a interrogare il terminale sulle operazioni in corso sul mercato, per così dire, per gli strumenti.
Introdurrò la funzione
Prendiamo la lista delle posizioni aperte del simbolo e restituiamo la tupla(il numero di operazioni da vendere, il numero di operazioni da comprare).
Nella funzione principale aggiungete questo frammento prima della funzione terminal_done()
Il risultato (n è ridotto a 5 per il bene dell'uscita):
Propongo di iniziare l'apertura effettiva delle transazioni. Per esempio: se il prezzo è superiore alla SMA di un po': apri un trade di vendita, se è inferiore alla SMA di un po': apri un trade di acquisto.
Suggerisco un paio di funzioni in più: per controllare i trade aperti in termini di SL e TP, chiuderli se sono assenti, e una funzione che restituisca il risultato attuale (profitto o perdita) in pip.
Dobbiamo ricordarci di gestire in qualche modo la situazione quando l'ordine è già nella cronologia e non è nella posizione attiva, e non inviare nuovamente l'ordine per l'apertura in questo caso.
Questa situazione accade di tanto in tanto e, per esempio, lavorare attraverso Trade.mqh non risolve questo problema (almeno, non lo faceva prima - ho abbandonato Trade.mqh molto tempo fa).
A volte è il contrario - l'ordine di chiusura è già nella storia e la posizione è ancora visibile.
Dobbiamo ricordarci di gestire in qualche modo la situazione quando l'ordine è già nella cronologia e non è nella posizione attiva, e non inviare nuovamente l'ordine per l'apertura in questo caso.
Questa situazione accade di tanto in tanto e, per esempio, lavorare attraverso Trade.mqh non risolve questo problema (almeno, non lo faceva prima - ho abbandonato Trade.mqh molto tempo fa).
A volte è il contrario - l'ordine di chiusura è già nella storia e la posizione è ancora visibile.
Ho mostrato come interrogare il terminale sulle posizioni aperte. Nulla ci impedisce di scrivere il codice in modo tale che se la posizione esiste già, non avremmo bisogno di inviare nuovamente la richiesta, altrimenti - lo faremo. In particolare, che dopo aver inviato una richiesta, viene restituito l'oggetto, che ha tutto nelle sue proprietà, possiamo vedere se è normale, o che tipo di errore è presente, e in base a questo atto. Non c'è nessun problema qui.
Le migliori 101 librerie di trading algoritmico di Python | PythonRepo
È già 104) Qui è scritto 105)
Codice completo del file TradeLogic.py finora (sì, è primitivo, ma sono sicuro che potrebbe aprire la porta al trading usando Metatrader 5 e Python per alcuni)
Risultato del lavoro:
Z.I.Y. I pezzi di codice più primitivi, elementari, mostrati, secondo me, dimostrano già abbastanza chiaramente che non è difficile implementare assolutamente qualsiasi logica, qualsiasi calcolo, confronto, controllo dei trade aperti secondo vari criteri, chiudendoli automaticamente in alcune condizioni, mantenendo i log sia sulla linea di comando che scrivendo su file, ecc, ecc - tutto senza restrizioni di sorta.
Z.U.2 Till ora usato classe Sdelka, e in generale è conveniente per passare gli oggetti di questa classe in funzioni, scriverli in file come .json, ecc, - ma in qualche modo ha un po 'stanco, penso che coloro che vogliono capire, posso aiutare qui con qualcosa. Se volete, potete avvitare un'interfaccia grafica.
Consiglio vivamente il trading con Python + la libreria metatrader5.
Ho mostrato come interrogare il terminale per le posizioni aperte. Non c'è nulla che vi impedisca di scrivere il codice in modo che se c'è già una posizione, allora non c'è bisogno di inviare nuovamente la richiesta, altrimenti - inviatela. In particolare, dopo aver inviato una richiesta, viene restituito l'oggetto, che ha tutto nelle sue proprietà, possiamo vedere se si è aperto normalmente o c'è un errore, e in base a questo atto. Non ci sono problemi qui.
Ancora una volta, l'ordine è già stato eseguito e passato alla storia. Non è più in posizione attiva. La posizione è già stata aperta, ma non è ancora visibile; la richiesta non la mostra.
Di solito, questo è un intervallo di tempo molto breve ed è difficile da raggiungere, soprattutto perché non è sempre il caso.
Tuttavia, questa situazione può durare non secondi ma minuti in un'apertura mattutina con un gap e una grande quantità di ordini.
Per essere più chiaro: TRADE_TRANSACTION_ORDER_DELETE è venuto prima di TRADE_TRANSACTION_HISTORY_ADD o TRADE_TRANSACTION_DEAL_ADD
E potremmo non vedere gli ordini in attivo o nella cronologia ad un certo punto, o potremmo non vedere alcun ordine o compravendita.