L'apprendimento automatico nel trading: teoria, modelli, pratica e algo-trading - pagina 2057

 
Maxim Dmitrievsky:

si è seduto e ha scritto un parser.

Ecco il modello, è necessario alimentare 15 ultimi incrementi in esso, su ogni barra. Gli incrementi sono contati come prezzo meno la media obliqua di 5 periodi. La funzione double catboost_model(const double &features[]) dovrebbe essere scritta nel

Se il segnale è maggiore di 0,5 allora compra, se meno - vendi. L'intervallo di tempo è di 15 minuti.

Sono stato addestrato dal 1° settembre fino ad ora.

non posso farlo comunque... lo lascio qui ))

Sono in viaggio in questo momento, lo proverò tra due ore)
 
Alexander Alekseyevich:
Sono in viaggio in questo momento, lo proverò tra 2 ore)

già provato, sta versando.

allora capirò il perché.

 
Maxim Dmitrievsky:

si è seduto e ha scritto un parser.

Ecco il modello, è necessario alimentare 15 ultimi incrementi in esso, su ogni barra. Gli incrementi sono contati come prezzo meno la media obliqua di 5 periodi. La funzione double catboost_model(const double &features[]) dovrebbe essere scritta nel

Se il segnale è maggiore di 0,5 allora compra, se meno - vendi. L'intervallo di tempo è di 15 minuti.

Sono stato addestrato dal 1° settembre fino ad ora.

non posso farlo comunque... lo lascio qui ))

Questo modello è tramite Pythorch? È autogenerato? O come? Non ho usato applicazioni di terze parti, ho fatto tutto in mt. Non funziona correttamente)))) forse è per questo che si ottengono risultati diversi
 
Alexander Alekseevich:
Questo modello è tramite pythorch? È autogenerato? O come? Non ho usato applicazioni di terze parti, ho fatto tutto in mt. Semplicemente non funziona correttamente))) forse è per questo che si ottengono risultati diversi

analizzare il codice del modello (traduzione da python a mql) e scriverlo in .mqh

 

fissata... fissando una, rompendo l'altra. Ora non sta guadagnando su OOS :D

Inoltre, gli spread sottovalutano la redditività. Ma il modello è facilmente portabile. Puoi prendere le varianti...


 
Maxim Dmitrievsky:

fissata... fissando una, rompendo l'altra. Ora non sta guadagnando su OOS :D

Inoltre, gli spread sottovalutano la redditività. Ma il modello è facilmente portabile. Puoi scegliere le opzioni...


Se sei un principiante, è sempre con te...

 

se si aggiungono giorni ore ecc. ai fic, non fa nulla:

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

La butto lì, così nessuno può fare casino.


 
Maxim Dmitrievsky:

se si aggiungono giorni ore ecc. ai fic, non fa nulla:

bestTest = 0,4918224299

Solo per risparmiarvi la fatica.


Maxim, puoi fare questo modello allo stesso modo, ma con 2 uscite, una per comprare e una per vendere?
 
Alexander Alekseevich:
Maxim, puoi fare lo stesso modello e insegnarlo allo stesso modo, ma con due uscite? Una per comprare, la seconda per vendere, il risultato dovrebbe essere migliore

Non ci sono schemi rilevati

o passare alle zecche o fare qualcosa di esagerato

Ci sono 2 classi così com'è.

A proposito, RNN sembra fare un lavoro migliore... ma il codice è grezzo

 
Maxim Dmitrievsky:

non vengono rilevati schemi

o passare alle zecche o costruire qualcosa sopra

classe 2 come è

A proposito, RNN sembra fare un lavoro migliore... ma il codice è grezzo

Sì, ci sono due classi, ma se prendete un'uscita separata per ogni classe, funzionerà meglio).