Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 2057

 
Maxim Dmitrievsky:

se sentó y escribió un analizador.

aquí está el modelo, necesitas introducir 15 últimos incrementos en él, en cada barra. Los incrementos se cuentan como el precio menos la media oblicua de 5 periodos. La función double catboost_model(const double &features[]) debe escribirse en el

Si la señal es superior a 0,5 entonces compre, si es inferior - venda. El plazo es de 15 minutos.

He recibido formación desde el 1 de septiembre hasta ahora.

no puedo hacerlo de todos modos... lo dejaré aquí ))

Ahora mismo estoy de viaje, lo probaré en dos horas)
 
Alexander Alekseyevich:
Estoy en la carretera ahora mismo, lo intentaré en 2 horas)

Ya lo he probado, se está derramando.

y luego me daré cuenta de por qué.

 
Maxim Dmitrievsky:

se sentó y escribió un analizador.

aquí está el modelo, necesitas introducir 15 últimos incrementos en él, en cada barra. Los incrementos se cuentan como el precio menos la media oblicua de 5 períodos. La función double catboost_model(const double &features[]) debe escribirse en el

Si la señal es mayor que 0,5 entonces compre, si es menor - venda. El plazo es de 15 minutos.

He recibido formación desde el 1 de septiembre hasta ahora.

no puedo hacerlo de todos modos... lo dejaré aquí ))

¿Este modelo es a través de Pythorch? ¿Es autogenerado? ¿O cómo? Simplemente no utilicé aplicaciones de terceros, lo hice todo en mt. No funciona correctamente )))) tal vez por eso obtienes resultados diferentes
 
Alexander Alekseevich:
¿Este modelo es vía pythorch? ¿Es autogenerado? ¿O cómo? Simplemente no utilicé aplicaciones de terceros, lo hice todo en mt. Simplemente no funciona correctamente))) tal vez por eso obtienes resultados diferentes

analizar el código del modelo (traducción de python a mql) y escribirlo en .mqh

 

arreglado... arreglando uno, rompiendo el otro. Ahora no se gana en OOS :D

Además, los diferenciales subestiman la rentabilidad. Pero el modelo es fácilmente trasladable. Puede recoger variantes...


 
Maxim Dmitrievsky:

arreglado... arreglando uno, rompiendo el otro. Ahora no se gana en OOS :D

Además, los diferenciales subestiman la rentabilidad. Pero el modelo es fácilmente trasladable. Puedes elegir opciones...


Si no sabes qué hacer con él, no te preocupes, intentaré utilizarlo...

 

si añades días horas etc. a los fics, no hace nada:

def get_prices(look_back = 15):
    prices = pd.DataFrame(mt5.copy_rates_range(SYMBOL, TIMEFRAME, START, STOP), 
                            columns=['time', 'close']).set_index('time')
    # set df index as datetime
    prices.index = pd.to_datetime(prices.index, unit='s')
    prices = prices.dropna()
    ratesM = prices.rolling(MA_PERIOD).mean()
    ratesD = prices - ratesM
    for i in range(look_back):
        prices[str(i)] = ratesD.shift(i)
    prices['h'] = prices.index.hour
    prices['dw'] = prices.index.dayofweek
    prices['d'] = prices.index.day
    prices['m'] = prices.index.month
    return prices.dropna()

bestTest = 0.4918224299

Lo lanzo para que nadie se meta con él.


 
Maxim Dmitrievsky:

si añades días horas etc. a los fics, no hace nada:

bestTest = 0.4918224299

Sólo para ahorrarte la molestia.


Maxim, ¿puedes hacer este modelo de la misma manera, pero con 2 salidas, una de compra y otra de venta?
 
Alexander Alexeyevich:
Maxim, ¿puedes hacer el mismo modelo y enseñarlo de la misma manera, pero con dos salidas? Una para la compra, la segunda para la venta, el resultado debería ser mejor

No se detectan patrones

o bien cambiar a las garrapatas o hacer algo por encima

hay 2 clases tal y como están.

Por cierto, RNN parece hacer un mejor trabajo ... pero el código es crudo allí

 
Maxim Dmitrievsky:

no se detectan patrones

o bien cambiar a las garrapatas o construir algo encima de

clase 2 como es

Por cierto, RNN parece hacer un mejor trabajo... pero el código es tosco allí

Sí, hay dos clases, pero si tomas una salida separada para cada clase, funcionará mejor).
Razón de la queja: