Aprendizado de máquina no trading: teoria, prática, negociação e não só - página 2057

 
Maxim Dmitrievsky:

acabou de se sentar, escreveu um parser.

aqui está o modelo, você precisa alimentar 15 últimos incrementos nele, em cada bar. Os incrementos são contados como preço menos a média oblíqua de 5 períodos. A função double catboost_model(const double &features[]) deve ser escrita no

Se o sinal for superior a 0,5 então compre, se for inferior - venda. O período de tempo é de 15 minutos.

Fui treinado de 1 de Setembro até agora.

Eu não posso fazer isso de qualquer maneira... eu vou deixar aqui ))

Estou na estrada agora mesmo, vou tentar em duas horas)
 
Alexander Alekseyevich:
Estou na estrada agora mesmo, vou tentar em 2 horas)

Já tentei, está a chover a cântaros.

então eu vou descobrir porquê.

 
Maxim Dmitrievsky:

acabou de se sentar, escreveu um parser.

aqui está o modelo, você precisa alimentar 15 últimos incrementos nele, em cada bar. Os incrementos são contados como preço menos a média oblíqua de 5 períodos. A função double catboost_model(const double &features[]) deve ser escrita no

Se o sinal for superior a 0,5 então compre, se for inferior - venda. O período de tempo é de 15 minutos.

Fui treinado de 1 de Setembro até agora.

Eu não posso fazer isso de qualquer maneira... eu vou deixar aqui ))

Este modelo é via Pythorch? É auto-gerada? Ou como? Só não usei aplicações de terceiros, fiz tudo no MT. Não vai funcionar correctamente)))) talvez seja por isso que obtenha resultados diferentes
 
Alexander Alekseevich:
Este modelo é via pythorch? É auto-gerada? Ou como? Só não usei aplicações de terceiros, fiz tudo no MT. Não vai funcionar corretamente))) talvez seja por isso que você obtém resultados diferentes

analisar o código do modelo (tradução de python para mql) e escrevê-lo em .mqh

 

consertado... consertando um, quebrando o outro. Agora não está a ganhar no OOS :D

Além disso, os spreads subestimam a rentabilidade. Mas o modelo é facilmente portado. Podes pegar em variantes...


 
Maxim Dmitrievsky:

consertado... consertando um, quebrando o outro. Agora não está a ganhar no OOS :D

Além disso, os spreads subestimam a rentabilidade. Mas o modelo é facilmente portado. Podes escolher opções...


Se você não sabe o que fazer com ele, não se preocupe, eu vou tentar usá-lo ...

 

se você adicionar dias, horas, etc. às ficções, isso não faz 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

Estou só a atirá-la para que ninguém se meta com ela.


 
Maxim Dmitrievsky:

se você adicionar dias, horas, etc. às ficções, isso não faz nada:

bestTest = 0,4918224299

Só para te poupar o trabalho.


Maxim, você pode fazer o mesmo modelo, a mesma configuração, mas com duas saídas? Uma para comprar, a segunda para vender.
 
Alexander Alekseevich:
Maxim, você pode fazer o mesmo modelo e ensiná-lo da mesma maneira, mas com duas saídas? Uma para comprar, a segunda para vender, o resultado deve ser melhor

Não há padrões detectados

ou mudar para carrapatos ou fazer algo acima do normal

há 2 classes como está.

A propósito, o RNN parece fazer um trabalho melhor... mas o código está em bruto lá.

 
Maxim Dmitrievsky:

não são detectados padrões

ou mudar para carrapatos ou construir algo em cima de

classe 2 como ela é

A propósito, o RNN parece fazer um trabalho melhor... mas o código é grosseiro lá.

Sim, há duas classes, mas se você pegar uma saída separada para cada classe, ela funcionará melhor).