Discusión sobre el artículo "Remuestreo avanzado y selección de modelos CatBoost con el método de fuerza bruta" - página 15

 

Hola,

Gracias por el artículo. Lo intenté, pero de alguna manera no consigo la curva de la equidad agradable (incluso para el período de formación) en MT5 backtest como se muestra en python (véase más adelante). Cuando backtest con su EA EURUSD de su artículo que funciona. ¿Qué puedo hacer para resolver el error?


[Eliminado]  
konorti:

Hola,

Gracias por el artículo. Lo intenté, pero de alguna manera no consigo la curva de la equidad agradable (incluso para el período de formación) en MT5 backtest como se muestra en python (véase más adelante). Cuando backtest con su EA EURUSD de su artículo que funciona. ¿Qué puedo hacer para resolver el error?

Hola, tal vez problema con MARKUP para el probador personalizado para usdjpy, por lo que los resultados son diferentes

[Eliminado]  

Añadido un nuevo método de búsqueda de extremos (marcado gráfico), como un patrón en zigzag.

from scipy.signal import argrelextrema

def add_peaks(dataset, order, plot=False):
    ilocs_min = argrelextrema(dataset.close.values,
                              np.less_equal, order=order)[0]
    ilocs_max = argrelextrema(dataset.close.values,
                              np.greater_equal, order=order)[0]
    dataset['low_lbl'] = False
    dataset['high_lbl'] = False
    dataset.loc[dataset.iloc[ilocs_min].index, 'low_lbl'] = True
    dataset.loc[dataset.iloc[ilocs_max].index, 'high_lbl'] = True

    if(plot):
        dataset.close.plot(figsize=(15, 5), alpha=.3)
        dataset[dataset['high_lbl']].close.plot(
            style='.', lw=10, color='red', marker="v")
        dataset[dataset['low_lbl']].close.plot(
            style='.', lw=10, color='green', marker="^")
        plt.show()

    conditions = [
        (dataset['low_lbl'] == False) & (dataset['high_lbl'] == False),
        dataset['low_lbl'] == True,
        dataset['high_lbl'] == True
    ]
    choices = [np.nan, 0, 1]
    dataset['labels'] = np.select(conditions, choices)
    dataset = dataset.drop(['low_lbl', 'high_lbl'], axis = 1)
    dataset = dataset.fillna(method='ffill')
    return dataset.dropna()

pr = add_peaks(pr, 15, plot=True)

Jugando con el parámetro se puede ajustar la frecuencia de las operaciones. Las pruebas han demostrado que el marcado por extrema no es la mejor idea. El enfoque del artículo funciona mejor.

 
Maxim Dmitrievsky:

Hola, tal vez problema con MARKUP para el probador personalizado para usdjpy, por lo que los resultados son diferentes

Gracias. Probé con diferentes MARKUPs (más alto y más bajo) y también diferentes marcos de tiempo, pero no tuvo mucho éxito. Vi algunos buenos resultados en 4H timeframe/USDJPY pero con otros pares de divisas no realmente y traté de rehacer la prueba sevaral veces sin éxito. ¿Es posible filtrar de alguna manera los oficios por lo que la EA no es siempre en el mercado, pero sólo con señales fuertes?
 

Hola Maxim,

El artículo actual está bien, pero la potencia de cálculo limitada y el ajuste de curvas son las mayores preocupaciones a tales métodos tradicionales y por lo tanto, por lo general me mantengo alejado de probar tales enfoques.

¿Estás interesado en escribir un artículo sobre la implementación de "MuZero" de DeepMind en Forex?

https://deepmind.com/blog/article/muzero-mastering-go-chess-shogi-and-atari-without-rules

https://medium.com/applied-data-science/how-to-build-your-own-muzero-in-python-f77d5718061a

Le pregunto esto a usted ya que soy un programador MQL5 nivel básico y puede tomar mucho tiempo para mí escribir desde cero lo que probablemente puede hacer fácilmente.

Por favor, hágamelo saber sus pensamientos.


Voy a definir lo que escribir lo siguiente en la codificación de divisas y se puede convertir en código MQL5:

  • El valor: ¿qué tan buena es la posición actual?
  • La política: ¿qué acción es la mejor para tomar?
  • La recompensa: ¿qué tan buena fue la última acción?

Gracias.

MuZero: Mastering Go, chess, shogi and Atari without rules
MuZero: Mastering Go, chess, shogi and Atari without rules
  • deepmind.com
In 2016, we introduced AlphaGo, the first artificial intelligence (AI) program to defeat humans at the ancient game of Go. Two years later, its successor - AlphaZero - learned from scratch to master Go, chess and shogi. Now, in a paper in the journal Nature, we describe MuZero, a significant step forward in the pursuit of general-purpose...
 
Maxim, sería bueno hacer una señal en el artículo, parece que los buenos resultados.
[Eliminado]  
elibrarius:
Maxim, sería bueno hacer una señal en el artículo, parece tener buenos resultados.

Ya hay métodos más avanzados, en términos de preparación de datos, estoy trabajando con ellos.

Monitorizar cada artículo no es una opción.

Es más para fines científicos y cognitivos.

 
cuando cambio la fecha de inicio y fin del tren, el resultado de las pruebas retrospectivas del modelo es malo, ¿qué puedo hacer para mejorar el rendimiento del modelo?
 
Porque la etiqueta del algoritmo ml es desequilibrio, se utiliza un GaussMixtureModel para simular el precio nacido, a continuación, muestra del modelo, entonces usted puede entrenar a un mejor algoritmo ml
 
En cuanto al artículo, aunque no lo leí, me pareció muy impactante. Así que decidí tomarme un momento para dar algunos consejos. En primer lugar, la fuente de datos en este mercado es sólo una parte de las fichas en el mercado, o una pequeña porción de las fichas, es la mayoría de las fichas que los comerciantes tienen en la mano que puede determinar la dirección del mercado, por lo que es difícil lograr los resultados que esperamos de la recopilación de datos, confiando en lo que la metodología y el enfoque para optimizar lo que puede ser sólo un ajuste al mercado pasado. En segundo lugar, este mercado durante un corto período de tiempo no es al azar, como un ejemplo, cuando sólo hay 2 comerciantes de múltiples partes y 2 comerciantes de partes cortas, una parte corta N precio de venta, la otra parte corta N-1 precio de venta. Un multi partido N-1 comprar, el precio actual de N, suponiendo que otro multi partido N precio de compra, teóricamente en el precio debe ser N, de hecho, el vacío N no solo, el mecanismo de agregación irá a N-1 para encontrar un acuerdo, por lo que el precio actual de N-1, es probable que sea tan media. Así que N y N-1, N + 1, etc están todos relacionados y no completamente al azar, por lo que la optimización de datos puede ser mejor de impulso. Por último, ya sea EA o el comercio manual, es difícil hacer dinero del mercado de manera constante, porque si es estable, entonces la riqueza será inevitablemente transferido a un determinado participante del mercado, y este mercado dejará de existir. Así que la inversión es invertir en el riesgo, la cosecha de proceso de riesgo, demasiado preocupado por la estabilidad de las posibles pérdidas, no me opongo a algunas personas en las transacciones de mercado encontró una cierta ley, el equivalente del mercado BUG realizó la riqueza sólo, de hecho, el propio mercado también está en el proceso de auto-mejora debido a la complejidad de los participantes, pero el oro no es de color rojo, nadie es perfecto. La dirección de comercio inteligente es teóricamente el proceso de búsqueda constante de errores de mercado, este BUG es sólo un pequeño número de personas a utilizar, con más gente en el fracaso. Espero que mi comentario puede ser una referencia para usted. vx tiger54088 pasar por