Le trading avec Python
Je vais commencer par un morceau de code, qui peut s'avérer utile (je prévois de travailler avec une échelle de temps M5, d'effectuer des calculs et de prendre une décision toutes les 5 minutes) :
import datetime as 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__()
Grâce à cette classe, il sera pratique d'enregistrer ce qui se passe.
Par exemple, écrivez quelque chose comme ceci
dt_stamp_read = ... print('\n'+date_time.now().nice_view, '- начал работу, планирую прочитать файлы с ценами в {}'.format(dt_stamp_read.nice_view))
et obtenir un résultat comme :
2021.12.11 22:41:23 - начал работу, планирую прочитать файлы с ценами в 2021.12.11 22:45:30
Vous en aurez besoin aussi :
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__()
La police ici n'est pas monospaced, donc visuellement le formatage a un peu dérapé, mais ce n'est pas la question.
Veuillez insérer le code correctement : appuyez d'abord sur , puis insérez le code dans la fenêtre qui s'ouvre.
Je demande à quelqu'un de me suggérer une stratégie commerciale simple (perdre sciemment, ce n'est pas le sujet).
Si le message est sain, c'est-à-dire qu'il exposera plus ou moins clairement ce qu'il faut faire, mettre en œuvre ici, dans ce fil, échanger sur cette stratégie, en Python.
J'attends)
Réécriture de l'Expert Advisor MACD standard fourni avec MT5. Il sera pratique de le vérifier à toutes les étapes.
Je poserai des questions plus spécifiques sur la façon dont vous envisagez de tester et d'optimiser. S'agit-il d'un testeur auto-écrit ou d'un testeur tiers basé sur Python ? Intégration avec MQL5 à travers des fichiers, des sockets, etc ?
Le commerce avec python est bon...
Mais python est bon pour l'analyse des données, mais pas pour le trading.
Si vous considérez l'option MACD, sur python :
- il est facile de charger des devis ;
- Les données MACD peuvent être facilement calculées ;
Ensuite, sur chaque nouvelle barre, prenez une condition, par exemple : valeur et ligne de signal MACD, pente de la ligne lente et rapide, mouvement du prix s'éloignant de la ligne lente...
Exécuter la condition à travers l'historique et montrer les statistiques plus/moins de la formation spécifiée pour une certaine période. Tout le reste (ouverture/fermeture/prise de position) doit être fait en MQL.
Vous n'avez pas besoin d'inventer un testeur - nous en avons un tout prêt.
En Python, les cours et les indicateurs sont stockés sur SQLite. Connexion MQL-Python par socket, fichiers ou base de données (le socket est préférable).
Tout...
Python - uniquement pour l'analyse des données, avec la possibilité d'afficher les résultats de l'analyse sous forme de graphiques 2d(3d).
copy_rates_from n'est pas suffisant pour une analyse complète des données. S'il était possible d'extraire les données des indicateurs (y compris les indicateurs personnalisés), l'anneau d'analyse serait fermé.
Et le trading via python est, à mon avis, un geste de relations publiques de la part de MQL5.
Je vais mettre en œuvre cette stratégie ici dans ce fil de discussion en Python.

- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Vous acceptez la politique du site Web et les conditions d'utilisation
Je demande à quelqu'un de me suggérer une stratégie commerciale simple (perdre sciemment, ce n'est pas le sujet).
Si le message est sain, c'est-à-dire qu'il exposera plus ou moins clairement ce qu'il faut faire, mettre en œuvre ici, dans ce fil, échanger sur cette stratégie, en Python.
Je suis impatient)