Linear Regression Intercept is one of the indicators calculated by the Linear Regression approach.
Remarks
Linear regression is a statistical tool used to predict the future from past data.
Signature
1
publicabstractinterfaceLinearRegressionIntercept
Namespace
cAlgo.API.Indicators
Examples
1234567
[Parameter("Period", DefaultValue = 14)]publicintPeriod{get;set;}protectedoverridevoidOnStart(){// initialize a new instance of LinearRegressionIntercept indicator class_linearRegressionIntercept=Indicators.LinearRegressionIntercept(Bars.ClosePrices,Period);}
usingcAlgo.API;usingcAlgo.API.Indicators;usingcAlgo.API.Internals;namespacecAlgo.Robots{// This sample cBot shows how to use the Linear Regression Intercept indicator[Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]publicclassLinearRegressionInterceptSample:Robot{privatedouble_volumeInUnits;privateLinearRegressionIntercept_linearRegressionIntercept;[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);_linearRegressionIntercept=Indicators.LinearRegressionIntercept(Bars.ClosePrices,20);}protectedoverridevoidOnBar(){if(Bars.ClosePrices.Last(1)>_linearRegressionIntercept.Result.Last(1)&&Bars.ClosePrices.Last(2)<=_linearRegressionIntercept.Result.Last(2)){ClosePositions(TradeType.Sell);ExecuteMarketOrder(TradeType.Buy,SymbolName,_volumeInUnits,Label,StopLossInPips,TakeProfitInPips);}elseif(Bars.ClosePrices.Last(1)<_linearRegressionIntercept.Result.Last(1)&&Bars.ClosePrices.Last(2)>=_linearRegressionIntercept.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);}}}}
1234567
importclrclr.AddReference("cAlgo.API")fromcAlgo.APIimport*classTest():definitialize(self):# Period is a parameter defined in C# file of indicatorself.linearRegressionIntercept=Indicators.LinearRegressionIntercept(Bars.ClosePrices,Period)
1 2 3 4 5 6 7 8 9101112131415161718192021222324
importclrclr.AddReference("cAlgo.API")# Import cAlgo API typesfromcAlgo.APIimport*# Import trading wrapper functionsfromrobot_wrapperimport*classLinearRegressionInterceptSample():defon_start(self):self.volumeInUnits=api.Symbol.QuantityToVolumeInUnits(api.VolumeInLots)self.linearRegressionIntercept=api.Indicators.LinearRegressionIntercept(api.Source,api.Periods)defon_bar_closed(self):ifapi.Bars.ClosePrices.Last(0)>self.linearRegressionIntercept.Result.Last(0)andapi.Bars.ClosePrices.Last(1)<=self.linearRegressionIntercept.Result.Last(1):self.close_positions(TradeType.Sell)api.ExecuteMarketOrder(TradeType.Buy,api.SymbolName,self.volumeInUnits,api.Label,api.StopLossInPips,api.TakeProfitInPips)elifapi.Bars.ClosePrices.Last(0)<self.linearRegressionIntercept.Result.Last(0)andapi.Bars.ClosePrices.Last(1)>=self.linearRegressionIntercept.Result.Last(1):self.close_positions(TradeType.Buy)api.ExecuteMarketOrder(TradeType.Sell,api.SymbolName,self.volumeInUnits,api.Label,api.StopLossInPips,api.TakeProfitInPips)defget_bot_positions(self):returnapi.Positions.FindAll(api.Label)defclose_positions(self,tradeType):forpositioninself.get_bot_positions():ifposition.TradeType!=tradeType:continueapi.ClosePosition(position)
Properties
Result
Summary
The Result Series of the Linear Regression Intercept Indicator
Signature
1
publicabstractIndicatorDataSeriesResult{get;}
Return Value
IndicatorDataSeries
Examples
1234567
publicoverridevoidCalculate(intindex){// Result of _linearRegressionIntercept at the current indexdoubleresult=_linearRegressionIntercept.Result[index];// Print the current result to the logPrint("Linear Regression Intercept at the current index is = {0}",result);}
12345
defcalculate(self,index):# Result of _linearRegressionIntercept at the current indexresult=self.linearRegressionIntercept.Result[index]# Print the current result to the logprint(f"Linear Regression Intercept at the current index is = {result}")