usingcAlgo.API;usingcAlgo.API.Indicators;namespacecAlgo.Robots{// This sample cBot shows how to use the Tick Volume indicator[Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]publicclassTickVolumeSample:Robot{privatedouble_volumeInUnits;privateTickVolume_tickVolume;[Parameter("Volume (Lots)", DefaultValue = 0.01, Group = "Trade")]publicdoubleVolumeInLots{get;set;}[Parameter("Stop Loss (Pips)", DefaultValue = 10, Group = "Trade")]publicdoubleStopLossInPips{get;set;}[Parameter("Take Profit (Pips)", DefaultValue = 10, Group = "Trade")]publicdoubleTakeProfitInPips{get;set;}[Parameter("Label", DefaultValue = "Sample", Group = "Trade")]publicstringLabel{get;set;}publicPosition[]BotPositions{get{returnPositions.FindAll(Label);}}protectedoverridevoidOnStart(){_volumeInUnits=Symbol.QuantityToVolumeInUnits(VolumeInLots);_tickVolume=Indicators.TickVolume();}protectedoverridevoidOnBar(){if(Bars.Last(1).ClosePrice>Bars.Last(2).ClosePrice){ClosePositions(TradeType.Sell);if(_tickVolume.Result.Last(1)>_tickVolume.Result.Last(2))ExecuteMarketOrder(TradeType.Buy,SymbolName,_volumeInUnits,Label,StopLossInPips,TakeProfitInPips);}elseif(Bars.Last(1).ClosePrice<Bars.Last(2).ClosePrice){ClosePositions(TradeType.Buy);if(_tickVolume.Result.Last(1)>_tickVolume.Result.Last(2))ExecuteMarketOrder(TradeType.Sell,SymbolName,_volumeInUnits,Label,StopLossInPips,TakeProfitInPips);}}privatevoidClosePositions(TradeTypetradeType){foreach(varpositioninBotPositions){if(position.TradeType!=tradeType)continue;ClosePosition(position);}}}}