usingcAlgo.API;usingcAlgo.API.Indicators;namespacecAlgo.Robots{// This sample cBot shows how to use an Aroon indicator[Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]publicclassAroonSample:Robot{privatedouble_volumeInUnits;privateAroon_accumulativeSwingIndex;[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);_accumulativeSwingIndex=Indicators.Aroon(25);}protectedoverridevoidOnBar(){if(_accumulativeSwingIndex.Up.Last(1)>_accumulativeSwingIndex.Down.Last(1)&&_accumulativeSwingIndex.Up.Last(2)<_accumulativeSwingIndex.Down.Last(2)){ClosePositions(TradeType.Sell);ExecuteMarketOrder(TradeType.Buy,SymbolName,_volumeInUnits,Label,StopLossInPips,TakeProfitInPips);}elseif(_accumulativeSwingIndex.Up.Last(1)<_accumulativeSwingIndex.Down.Last(1)&&_accumulativeSwingIndex.Up.Last(2)>_accumulativeSwingIndex.Down.Last(2)){ClosePositions(TradeType.Buy);ExecuteMarketOrder(TradeType.Sell,SymbolName,_volumeInUnits,Label,StopLossInPips,TakeProfitInPips);}}privatevoidClosePositions(TradeTypetradeType){foreach(varpositioninBotPositions){if(position.TradeType!=tradeType)continue;ClosePosition(position);}}}}
1 2 3 4 5 6 7 8 91011
importclrclr.AddReference("cAlgo.API")fromcAlgo.APIimport*classTest():definitialize(self):# Periods is a parameter defined in C# file of indicatorself.aroon=Indicators.Aroon(api.Periods)defcalculate(self,index):# ResultAroonUp, and ResultAroonDown are outputs defined in C# file of indicatorapi.ResultAroonUp[index]=self.aroon.Up[index]api.ResultAroonDown[index]=self.aroon.Down[index]
""" VolumeInLots, Periods, StopLossInPips, TakeProfitInPips, and Label are parameters defined in C# file of cBot. """importclrclr.AddReference("cAlgo.API")# Import cAlgo API typesfromcAlgo.APIimport*# Import trading wrapper functionsfromrobot_wrapperimport*classAroonSample():defon_start(self):self.volumeInUnits=api.Symbol.QuantityToVolumeInUnits(api.VolumeInLots)self.aroon=api.Indicators.Aroon(api.Periods)defon_bar_closed(self):ifself.aroon.Up.Last(0)>self.aroon.Down.Last(0)andself.aroon.Up.Last(1)<self.aroon.Down.Last(1):self.close_positions(TradeType.Sell)api.ExecuteMarketOrder(TradeType.Buy,api.SymbolName,self.volumeInUnits,api.Label,api.StopLossInPips,api.TakeProfitInPips)elifself.aroon.Up.Last(0)<self.aroon.Down.Last(0)andself.aroon.Up.Last(1)>self.aroon.Down.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
Up
Summary
Aroon Up
Signature
1
publicabstractIndicatorDataSeriesUp{get;}
Return Value
IndicatorDataSeries
Examples
1 2 3 4 5 6 7 8 9101112131415
//...[Parameter("Periods", DefaultValue = 25)]publicintPeriods{get;set;}//...privateAroon_aroon;//...protectedoverridevoidOnStart(){_aroon=Indicators.Aroon(Periods);}protectedoverridevoidOnBar(){Print("Current Aroon Up Value is: {0}",_aroon.Up.LastValue);}//...
123456789
importclrclr.AddReference("cAlgo.API")fromcAlgo.APIimport*classTest():defon_start(self):# Periods is a parameter defined in C# file of indicatorself.aroon=Indicators.Aroon(api.Periods)defon_bar(self):print(f"Current Aroon Up Value is: {self.aroon.Up.LastValue}")
Down
Summary
Aroon Down
Signature
1
publicabstractIndicatorDataSeriesDown{get;}
Return Value
IndicatorDataSeries
Examples
1 2 3 4 5 6 7 8 9101112131415
//...[Parameter("Periods", DefaultValue = 25)]publicintPeriods{get;set;}//...privateAroon_aroon;//...protectedoverridevoidOnStart(){_aroon=Indicators.Aroon(Periods);}protectedoverridevoidOnBar(){Print("Current Aroon Down Value is: {0}",_aroon.Down.LastValue);}//...
123456789
importclrclr.AddReference("cAlgo.API")fromcAlgo.APIimport*classTest():defon_start(self):# Periods is a parameter defined in C# file of indicatorself.aroon=Indicators.Aroon(api.Periods)defon_bar(self):print(f"Current Aroon Up Value is: {self.aroon.Down.LastValue}")