Inizierò con un pezzo di codice, che può tornare utile (ho intenzione di lavorare con timeframe M5, eseguire calcoli e prendere una decisione una volta ogni 5 minuti):
importa datetime come dt
class date_time(dt.datetime): ''' Класс описывает отсчёт даты и времени. Представляет собой расширение класса datetime библиотеки datetime. ''' @property def M5_view(self): minute = (self.minute//5)*5 if minute < 10: _minute = '0'+str(minute) else: _minute = str(minute) return self.strftime('%Y%m%d%H')+_minute @property def nice_view(self): return self.strftime('%Y.%m.%d %H:%M:%S') def __str__(self): return self.M5_view def __repr__(self): return self.__str__()
Grazie a questa classe, sarà conveniente registrare ciò che sta accadendo.
Per esempio, scrivi qualcosa come questo
dt_stamp_read = ... print('\n'+date_time.now().nice_view, '- начал работу, планирую прочитать файлы с ценами в {}'.format(dt_stamp_read.nice_view))
e ottenere un output come:
2021.12.11 22:41:23 - начал работу, планирую прочитать файлы с ценами в 2021.12.11 22:45:30
Anche tu ne avrai bisogno:
class Bar: ''' Класс описывает бар, то есть структуру данных, удобную для описания изменения цен финансовых инструментов на интервалах времени. ''' def __init__(self, instrument, time_frame, time_close, price_open, price_low, price_high, price_close, pips_value): self.instrument = instrument self.time_frame = time_frame self.time_close = time_close self.time_open = self.time_close - dt.timedelta(minutes=self.time_frame) self.price_open = price_open self.price_low = price_low self.price_high = price_high self.price_close = price_close self.w = pips_value def __str__(self): str1 = '(Bar: instrument={} time_frame={} time_open={} time_close={}\n' str2 = 'open={} low={} high={} close={} pips_value={})' return (str1+str2).format(self.instrument, self.time_frame, self.time_open.M5_view, self.time_close.M5_view, self.price_open, self.price_low, self.price_high, self.price_close, self.w) def __repr__(self): return self.__str__()
Il carattere qui non è monospaziato, quindi visivamente la formattazione è andata un po' fuori, ma non è questo il punto
Si prega di inserire il codice correttamente: prima premere , poi inserire il codice nella finestra pop-up.
Sto chiedendo a qualcuno di suggerire una semplice (consapevolmente perdente, non è questo il punto) strategia di trading.
Se il messaggio è sano, cioè, sarà più o meno chiaramente esposto ciò che deve essere fatto, implementare qui, in questo thread, commercio su questa strategia, in Python.
Sto aspettando)
Riscrivi il MACD Expert Advisor standard che viene fornito con MT5. Sarà utile controllare in tutte le fasi.
Chiederò più specificamente sul modo previsto di test-ottimizzazione. È un tester scritto in proprio o un tester di terzi basato su Python? Integrazione con MQL5 attraverso file, socket, ecc.
Il trading con python è buono...
Ma python è buono per analizzare i dati, ma non per il trading.
Se si considera l'opzione MACD, su python:
- è facile caricare le citazioni;
- I dati MACD possono essere calcolati facilmente;
Poi su ogni nuova barra prendi una condizione, per esempio: valore MACD e linea di segnale, ripidità della linea lenta e veloce, movimento del prezzo lontano dalla linea lenta...
Eseguire la condizione attraverso la storia e mostrare le statistiche più/meno della formazione specificata per un certo periodo. Tutto il resto (aprire/chiudere/prendere trade) dovrebbe essere fatto in MQL.
Non c'è bisogno di inventare un tester - ne abbiamo uno già pronto.
In Python le quotazioni e gli indicatori sono memorizzati su SQLite. Connessione MQL-Python attraverso socket, file o database (socket è meglio).
Tutto...
Python - solo per l'analisi dei dati con la ricca capacità di visualizzare i risultati dell'analisi come grafici 2d(3d).
copy_rates_from non è sufficiente per un'analisi completa dei dati. Se fosse possibile estrarre i dati degli indicatori (compresi gli indicatori personalizzati), l'anello di analisi sarebbe chiuso.
E il trading via python, IMHO è una mossa di PR di MQL5.
Implementerò questa strategia qui in questo thread in Python.
- App di trading gratuite
- Oltre 8.000 segnali per il copy trading
- Notizie economiche per esplorare i mercati finanziari
Accetti la politica del sito e le condizioni d’uso
Sto chiedendo a qualcuno di suggerire una semplice (consapevolmente perdente, non è questo il punto) strategia di trading.
Se il messaggio è sano, cioè, sarà più o meno chiaramente esposto ciò che deve essere fatto, implementare qui, in questo thread, commercio su questa strategia, in Python.
Guardando avanti )