Hi All,

I want to realize a function by using RSI.

When RSI is over 80, short EURUSD, Take Profit when RSI hits 50, Stop Loss =100pips;

When RSI is below 20 long EURUSD, Take Profit when RSI hits 50, Stop Loss =100pips;

Each trade, i want to use half of the money for trading. Could you help on the code? Thanks.

 

 

import numpy as np


class RSIAlgorithm(QCAlgorithm):

    def Initialize(self):

        
        # Set our main strategy parameters
        self.SetStartDate(2015,1, 1)   # Set Start Date
        self.SetEndDate(2018,1,1)      # Set End Date
        self.SetCash(10000)            # Set Strategy Cash
        
        RSI_Period    = 14                # RSI Look back period 
        self.RSI_OB   = 80                # RSI Overbought level
        self.RSI_OS   = 20                # RSI Oversold level
        self.Allocate = 20             # Percentage of captital to allocate
        
        # Find more symbols here: http://quantconnect.com/data
        self.AddForex("EURUSD", Resolution.Daily,Leverage=1)
        self.RSI_Ind = self.RSI("EURUSD", RSI_Period)
        
        # Ensure that the Indicator has enough data before trading,. 
        self.SetWarmUp(RSI_Period)
        
    def OnData(self, data):
        if not self.Portfolio.Invested:
            # If not, we check the RSI Indicator
            if self.RSI_Ind.Current.Value < self.RSI_OS:
                self.SetHoldings("EURUSD", self.Allocate)
        else:
            if self.RSI_Ind.Current.Value > self.RSI_OB:
                self.short("EURUSD")

Author