I am trying to write an reinforcement based based trading system and while trying to do that, the only way that I can do and I found is rewarding the model for each action but it actually performs bad results and couldn’t add the all parameters that I want. F.E I want to add these parameters but for a “acting one by one” model, I couldn’t add these parameters for reward because all of these parameters could be returned after all the long short hold classification finishes
if roi_percent < 30:
f = 11.8
elif roi_percent < 70:
f = 9.5
elif roi_percent < 140:
f = 7.6
elif roi_percent < 250:
f = 6.4
elif roi_percent < 340:
f = 5
elif roi_percent < 600:
f = 3.6
elif roi_percent < 1000:
f = 2.46
elif roi_percent < 1600:
f = 1.34
else:
f = 0.7
sayi = entrynumber
if sayi == 20:
sayi = 70
elif sayi < 10:
sayi = 30 - (10*(10-sayi))
elif sayi < 20:
sayi = 70 - (4*(20-sayi))
else:
sayi = 70 - (1.6*(sayi - 20))
reward = (roi_percent * f) + (win_loss_ratio * 45) - ((self.max_drawdown * 444) / (93 - self.max_drawdown)) + (sharpe_ratio * 64) + sayi
And also we can create reinforcement learning models via DQN, DDQN, PPO, A2C models but I wonder how we can do this with such models like GRU, LSTM, CNN etc.