Empezaré con un trozo de código, que puede ser útil (tengo previsto trabajar con un marco temporal de M5, realizar cálculos y tomar una decisión cada 5 minutos):
importar datetime como 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__()
Gracias a esta clase, será conveniente registrar lo que está sucediendo.
Por ejemplo, escriba algo así
dt_stamp_read = ... print('\n'+date_time.now().nice_view, '- начал работу, планирую прочитать файлы с ценами в {}'.format(dt_stamp_read.nice_view))
y obtener una salida como:
2021.12.11 22:41:23 - начал работу, планирую прочитать файлы с ценами в 2021.12.11 22:45:30
Tú también lo necesitarás:
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__()
El tipo de letra aquí no es monoespaciado, por lo que visualmente el formato se ha ido un poco, pero eso no es lo importante
Por favor, inserte el código correctamente: primero pulse , luego inserte el código en la ventana emergente.
Le pido a alguien que me sugiera una estrategia de trading sencilla (a sabiendas de que pierden, no es el punto).
Si el mensaje es sano, es decir, será más o menos claramente lo que hay que hacer, aplicar aquí, en este hilo, el comercio en esta estrategia, en Python.
Estoy esperando )
Reescribir el Asesor Experto MACD estándar que viene con MT5. Será útil comprobarlo en todas las etapas.
Preguntaré más específicamente sobre la forma prevista de probar-optimizar. ¿Se trata de un comprobador escrito por uno mismo o de un comprobador de terceros basado en Python? ¿Integración con MQL5 a través de archivos, sockets, etc.?
Operar con python es bueno...
Pero python es bueno para analizar datos, pero no para operar.
Si considera la opción MACD, en python:
- es fácil cargar las cotizaciones;
- Los datos del MACD se pueden calcular fácilmente;
Luego, en cada nueva barra, tome una condición, por ejemplo: el valor del MACD y la línea de señal, la inclinación de la línea lenta y rápida, el movimiento del precio lejos de la línea lenta...
Ejecutar la condición a través de la historia y mostrar las estadísticas más/menos de la formación especificada para un determinado período. Todo lo demás (abrir/cerrar/tomar operaciones) debe hacerse en MQL.
No tiene que inventar un probador: tenemos uno ya preparado.
En Python las cotizaciones y los indicadores se almacenan en SQLite. Conexión MQL - python a través de socket, archivos o base de datos (socket es mejor).
Todo...
Python - sólo para el análisis de datos con la rica capacidad de mostrar los resultados del análisis como gráficos 2d(3d).
copy_rates_from no es suficiente para un análisis completo de los datos. Si fuera posible extraer los datos de los indicadores (incluidos los indicadores personalizados), se cerraría el anillo de análisis.
Y el comercio a través de python, IMHO es un movimiento de relaciones públicas por MQL5.
Voy a poner en práctica esta estrategia aquí en este hilo en Python.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso
Le pido a alguien que me sugiera una estrategia de trading sencilla (a sabiendas de que pierden, no es el punto).
Si el mensaje es sano, es decir, será más o menos claramente lo que hay que hacer, aplicar aquí, en este hilo, el comercio en esta estrategia, en Python.
Estoy esperando )