Linear Regression Forecast is one of the indicators calculated by the Linear Regression approach.
Remarks
The Linear Regression Forecast is used for identifying trends and trend direction, and shows the statistical trend of a financial instrument over a specified time period. The calculation uses a Linear Regression Line.
Signature
1
publicabstractinterfaceLinearRegressionForecast
Namespace
cAlgo.API.Indicators
Examples
12345678
privateLinearRegressionForecast_linearRegressionForecast;[Parameter("Period", DefaultValue = 14)]publicintPeriod{get;set;}protectedoverridevoidInitialize(){// initialize a new instance of LinearRegressionForecastIndicator class_linearRegressionForecast=Indicators.LinearRegressionForecast(Bars.ClosePrices,Period);}
usingcAlgo.API;usingcAlgo.API.Indicators;usingcAlgo.API.Internals;namespacecAlgo.Robots{// This sample cBot shows how to use the Linear Regression Forecast indicator[Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]publicclassLinearRegressionForecastSample:Robot{privatedouble_volumeInUnits;privateLinearRegressionForecast_linearRegressionForecast;[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);_linearRegressionForecast=Indicators.LinearRegressionForecast(Bars.ClosePrices,20);}protectedoverridevoidOnBar(){if(Bars.ClosePrices.Last(1)>_linearRegressionForecast.Result.Last(1)&&Bars.ClosePrices.Last(2)<=_linearRegressionForecast.Result.Last(2)){ClosePositions(TradeType.Sell);ExecuteMarketOrder(TradeType.Buy,SymbolName,_volumeInUnits,Label,StopLossInPips,TakeProfitInPips);}elseif(Bars.ClosePrices.Last(1)<_linearRegressionForecast.Result.Last(1)&&Bars.ClosePrices.Last(2)>=_linearRegressionForecast.Result.Last(2)){ClosePositions(TradeType.Buy);ExecuteMarketOrder(TradeType.Sell,SymbolName,_volumeInUnits,Label,StopLossInPips,TakeProfitInPips);}}privatevoidClosePositions(TradeTypetradeType){foreach(varpositioninBotPositions){if(position.TradeType!=tradeType)continue;ClosePosition(position);}}}}
Properties
Result
Summary
The Result Series of the Linear Regression Forecast Indicator
Signature
1
publicabstractIndicatorDataSeriesResult{get;}
Return Value
IndicatorDataSeries
Examples
12345
publicoverridevoidCalculate(intindex){// Print the current result of the Linear Regression Forecast to the logPrint("Linear Regression Forecast at the current index is = {0}",_linearRegressionForecast.Result[index]);}