The RSI is most typically used on a 14 day timeframe, measured on a scale from 0 to 100, with high and low levels marked at 70 and 30, respectively. Shorter or longer timeframes are used for alternately shorter or longer outlooks. More extreme high and low levels�80 and 20, or 90 and 10�occur less frequently but indicate stronger momentum.
usingcAlgo.API;usingcAlgo.API.Indicators;namespacecAlgo.Robots{// This sample cBot shows how to use the Relative Strength Index indicator[Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]publicclassRelativeStrengthIndexSample:Robot{privatedouble_volumeInUnits;privateRelativeStrengthIndex_relativeStrengthIndex;[Parameter("Volume (Lots)", DefaultValue = 0.01)]publicdoubleVolumeInLots{get;set;}[Parameter("Stop Loss (Pips)", DefaultValue = 10)]publicdoubleStopLossInPips{get;set;}[Parameter("Take Profit (Pips)", DefaultValue = 10)]publicdoubleTakeProfitInPips{get;set;}[Parameter("Label", DefaultValue = "Sample")]publicstringLabel{get;set;}publicPosition[]BotPositions{get{returnPositions.FindAll(Label);}}protectedoverridevoidOnStart(){_volumeInUnits=Symbol.QuantityToVolumeInUnits(VolumeInLots);_relativeStrengthIndex=Indicators.RelativeStrengthIndex(Bars.ClosePrices,20);}protectedoverridevoidOnBar(){if(_relativeStrengthIndex.Result.Last(1)>70&&_relativeStrengthIndex.Result.Last(2)<70){ClosePositions(TradeType.Buy);ExecuteMarketOrder(TradeType.Sell,SymbolName,_volumeInUnits,Label,StopLossInPips,TakeProfitInPips);}elseif(_relativeStrengthIndex.Result.Last(1)<20&&_relativeStrengthIndex.Result.Last(2)>20){ClosePositions(TradeType.Sell);ExecuteMarketOrder(TradeType.Buy,SymbolName,_volumeInUnits,Label,StopLossInPips,TakeProfitInPips);}}privatevoidClosePositions(TradeTypetradeType){foreach(varpositioninBotPositions){if(position.TradeType!=tradeType)continue;ClosePosition(position);}}}}