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
Il mio punto è che l'integrazione di python con MT5 non è completa. Non è possibile ottenere i valori dell'indicatore DIRETTAMENTE
Leggere i dati in python
Gli obiettivi dell'argomento sono semplici come cinque centesimi: permettere a chiunque di iniziare il trading algoritmico in Python, semplicemente copiando pezzi di codice come inizializzare la comunicazione con il terminale, richiedere quotazioni, chiedere al server di aprire o chiudere un trade, ecc. Si concentra solo sulla logica, e in un linguaggio estremamente facile da usare.
Giusto... La logica è esattamente ciò che manca al trading algoritmico - la logica di cui avete bisogno per testare una strategia di trading prima che "all comers" inserisca pezzi di codice ed entri nel trading reale
buona fortuna con i tuoi obiettivi "non mitici" comunque
)))
Le persone che non hanno bisogno di prezzi salvati su file riscriveranno un po' il codice, e non "scrivere su file - leggere da file", ma solo la struttura dei dati che vogliono. È in gran parte solo una vetrina di cose primitive, per chi è disposto a fare i primi passi.
Tuttavia, coloro che hanno già familiarità con concetti come liste, tuple, dizionari, ecc.
Propongo di leggere dai file dei prezzi con la funzione read_all_files_with_prices, che attiverà la funzione read_file_with_prices per leggere il file dei prezzi di ogni strumento.Lascia che la funzione read_file_with_prices restituisca un array numpy.ndarray con righe e colonne corrispondenti al file originale dei prezzi (se i prezzi sono stati letti con successo e controllati per l'integrità dei dati, ogni tipo di elemento è numpy.float64), o la stringa 'no data' se nessun dato è stato letto o incompleto .
Che la funzione read_all_files_with_prices restituisca un dizionario con le quotazioni di tutti gli strumenti. Supponiamo che le chiavi di questo dizionario siano i nomi degli strumenti e i valori siano i dizionari con le virgolette di uno strumento corrispondente. Nei dizionari con le virgolette per un simbolo le chiavi sono date_time, i valori sono barre (classe bar); inoltre, suggerisco di fornire chiavi :
'is_data': valore chiave - True se c'è una citazione, False - se la lettura dal file restituisce 'no data',
'instrument': valore chiave - instrument (str);
'prices': key-value - array di prezzi per lo strumento (numpy.ndarray)
In breve, questa è la struttura dei dati che suggerisco:
Il codice Python è meglio messo come screenshot dall'IDE/editor/sito.
La mancanza di evidenziazione locale, almeno dei commenti al codice, lo rende poco leggibile, si confonde con il testo principale.
Aggiunte funzioni per leggere i file e creare la suddetta struttura di dati:
Il codice Python è meglio messo come screenshot dall'IDE/editor/sito.
La mancanza di evidenziazione locale, almeno per i commenti al codice, lo rende poco leggibile, si confonde con il testo principale.
Ma può essere copiato e aperto nell'IDE, ma dall'immagine può essere riscritto manualmente tranne...
Il lavoro del programma mostrato sopra:
Fondamentalmente, quasi tutto è pronto per iniziare ad analizzare i dati e prendere ed eseguire decisioni di trading.
Ma può essere copiato e aperto nell'IDE, mentre l'immagine può essere riscritta solo a mano...
Non credo che qualcuno si prenderà la briga di copiare e incollare il codice... nessuno ne ha bisogno qui
per leggere e discutere, sì. Raccogliete qualcosa di curioso o date qualche suggerimento. E non credo che lo porterò in giro in IDE. Le persone pubblicano sul forum per la lettura da parte di altri e per l'utilizzo del codice o lo allegano o il link al repository (o li combinano).
Ma questo mi distrae.
Metti il seguente codice nel file Functions.py, una funzione che calcola la SMA
Ho bisogno dei parametri d e k per eseguire uno spostamento temporale, non il punto, li metteremo a zero.
Mi viene in mente una semplice logica stupida, tipo:
per ogni strumento calcoliamo la SMA in ritardo di z=100 intervalli tra i campioni, cioè la SMA dell'ordine s=1+2*z=201.
Se non ci sono compravendite nel mercato o la loro quantità (per un certo simbolo) è inferiore alla quantità ammissibile (separatamente per Vendere e Comprare)
se il prezzo è attualmente 30 pip o più sopra la SMA(201) - aprire un'operazione di vendita con SL=TP=50 pip,
se il prezzo è attualmente 30 pip o più sotto la SMA(201) - aprire un trade Buy con SL=TP=50 pip.
Se in qualsiasi momento il profitto sul trade raggiunge i 20 pip - chiudilo senza aspettare la chiusura di SL o TP.
Implementiamo un tale commercio come esempio. Semplice, sciocco, dal punto di vista del trading, ma l'essenza della questione è l'implementazione.
Suggerisco tali funzioni per l'apertura e la chiusura delle transazioni: