Machine learning in trading: theory, models, practice and algo-trading - page 2057

 
Maxim Dmitrievsky:

I just sat down, I wrote a parser.

Here's the model, you need to feed 15 last increments into it, on each bar. The increments are counted as price minus 5-period oblique average. Send to the function double catboost_model(const double &features[]), which is in the inluder

If the signal is greater than 0.5 then buy, if less - sell. The time frame is 15 minutes.

I've been studying it since September 1 till now.

i can't make it anyway... i'll just leave it here ))

I'm on the road right now, I'll try it in two hours)
 
Alexander Alekseyevich:
I'm on the road right now, I'll try it in 2 hours)

Already tried it, it's pouring.

I'll figure out why.

 
Maxim Dmitrievsky:

I just sat down, I wrote a parser.

Here's the model, you need to feed 15 last increments into it, on each bar. The increments are counted as price minus 5-period oblique average. Send to the function double catboost_model(const double &features[]), which is in the inluder

If the signal is greater than 0.5 then buy, if less - sell. The time frame is 15 minutes.

I've been studying it since September 1 till now.

i can't make it anyway... i'll just leave it here ))

Is this model via Pythorch? Is it self-generated? Or how? I just didn't use third party applications, I did everything in mt. It just won't work correctly))) Maybe that's why you get different results
 
Alexander Alexeyevich:
Is this model through pythorch? Is it generated by itself? Or how? I just didn't use any third-party applications, and did everything in mt. It just will not work correctly))) maybe that's why you get different results

parsing the code of the model (translation from python to mql) and writing it in .mqh

 

Fixed it...fixing one, breaking the other. Now it does not earn on OOS :D

Plus the spreads underestimate the profitability. But the model is transferred at once. I can choose variants...


 
Maxim Dmitrievsky:

Fixed it...fixing one, breaking the other. Now it does not earn on OOS :D

Plus the spreads underestimate the profitability. But the model is transferred at once. It is possible to choose variants...


If I try to use OHLC Ask for spreads accounting, I don't have time for it...

 

If you add days, hours, etc. to the features, it does nothing:

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

I'm throwing it right away, so nobody messes around


 
Maxim Dmitrievsky:

If you add days, hours, etc. to the features, it does nothing:

bestTest = 0.4918224299

I'm throwing it so that no one messed around with it


Maxim, can you make the same model, the same training, but with two outputs? One for buy, the second for sell, the result should be better
 
Alexander Alexeyevich:
Maxim, and you can do the same model, the same training, but only what would be two outputs? one for buy, the second for sell, the result should be better

There are no regularities detected

you either switch to ticks or do something over the top

there are 2 classes as it is

By the way, RNN seems to do a better job... but the code is raw there

 
Maxim Dmitrievsky:

no patterns are detected

either switch to ticks or mutate something on top of

class 2

By the way, RNN seems to do a better job... but it's raw code

There are two classes, but if you take a separate output for each class, it will work better.)
Reason: