Warning! Executing cBots downloaded from this section may result in loss of funds. Use them at your own risk.
Notification Publishing copyrighted material is strictly prohibited. If you believe there is copyrighted material in this section you may use the Copyright Infringement Notification form to submit a claim.
How to install
Smart Grid
by SaifBD
free  01 Jul 2015
Smart Grid cBot will open first position based on trend. Next positions will be added using 'PipStep' parameter. Dynamic Volume Exponent & 1 trade per 1 bar to minimize draw-down risk. Follow trend direction manually & open Buy Sell your choice. 
free  10 Jul 2015
This robot is a fork of Robot_Forex. It is hosted on Github and gives good results. If you want to have the last evolutions of the bot, take it here It manages a stop loss, a money management , a tralling stop and dynamic grid to her positions. For the parameters to use go to Github A video a.bout this bot is on youtube  
free  06 Jan 2015
Reversion & Trend trading robot. Utilizes threshold to determine entry. Includes trailing stop loss. Reversion & Trend trading robot. Utilizes threshold to determine entry. Includes trailing stop loss.
Black Corvette
by Quant
free  12 Jan 2014
Symbol: EURUSD Time frame: Minute5 Backtesting period: 01/04/2011-12/01/2014 (almost 3 years) Robot is based on Bollinger Bands indicator which combines moving averages and standard deviation. The main purpose of Bollinger Bands is to provide price range. If you know the range you can buy at minimum price level and sell at maximum price level. Robot is listening to following Bollinger Bands signals: close price is above top Bollinger Bands line. Actions: close long position, open short position close price is bellow bottom Bollinger Bands line. Actions: close short position, open buy position Backtesting report: Balance-equity chart:  
free  23 Jan 2018
An advanced version of the Hedging and Scalping cBot. It implements an automatic position scaling out logic and has good returns on many timeframes and time periods.  See below backtesting results on minute timeframe over a two years period.
RSI Range Robot
free  18 Dec 2013
    The "Sample RSI Range Robot" will create a buy order when the Relative Strength Index indicator crosses the  level 30,      and a Sell order when the RSI indicator crosses the level 70. The order is closed be either a Stop Loss, defined in      the "Stop Loss" parameter, or by the opposite RSI crossing signal (buy orders close when RSI crosses the 70 level      and sell orders are closed when RSI crosses the 30 level).      The robot can generate only one Buy or Sell order at any given time.
Range Robot
by alexk
free  18 Dec 2013
This code is a cAlgo API sample. The "Sample Breakout Robot" will check the difference in pips between the Upper Bollinger Band and the Lower Bollinger Band     and compare it against the "Band Height" parameter specified by the user.  If the height  is lower than the number of pips     specified, the market is considered to be consolidating, and the first candlestick to cross the upper or lower band will generate a buy or sell signal. The user can specify the number of periods that the market should be consolidating in the "Consolidation Periods" parameter. The position is closed by a Stop Loss or Take Profit.  
free  16 Mar 2012
FT Bollinger Bands
Daily Candle Breakout
free  22 Nov 2015
Find uploaded an updated version of the cbot. It has slightly modified logic, RSI filtering property and some more parameters to modify. Also a bidirectional trailing stop has been added (both positive and negative triggers allowed). Backtesting ability has been improved as well. Tested on USDCAD, 2 out of 3 winning trades on average. Some less self-explanatory parameters explained: Equity Risk Value - percentage of available equity as a parameter of trade volume (in %), use values of consecutive tens 10, 20, 30 ... and so on. Breakout Trigger In Pips - number of pips a new bar has to break the previous range for a position to be opened. Below equity curve based on trades spanning over 3 years of data. Currency pair - USDCAD. Starting balance - 1k EUR.   .......................................................................................................................................................................................... This robot trades a very simple strategy of daily bar breakouts. You can read more about it HERE . I am new to programming so expect nothing more than you would do from an experiment. Structural nuances of the code are based on work of
Gerbil M5 Scalper
free  05 Jul 2022
Described in the article here: http://dswp.co.uk/index.php/2018/10/31/thepipsmasteruk-zulutrade-strategy/ Also works well on H1 chart. Donations welcome to: BTC: 33gjtYhKVqFxmcbcko63WnwiVJvew3PauQ ETH: 0xb54dF35117D94a43Ca25A3A348Ac20DF7F667F7b LTC: M8YRuyH5USv2MvJyyF55U5ik1yMfm6TtMH Cheers, David Wilson-Parr.
free  13 Sep 2016
This is a scalper used primarily on USDJPY M15. It has not been tested in other currencies yet. Its parameters are: Lots 0.6 for every $10,000 SL: 638 TP: 984 Robot ID: 56477012 Bars Required: 204 -------------------------------------------- CCI Smoothing Period: 86 Level: -555 Multiplier: 0.273 ----------------------------------------------- Moving Average Crossover Fast MA: 96 Slow MA: 189 Fast MA Shift: 3 Slow MA Shift: 33  
CCI Reversal
free  16 Nov 2016
         using System; using System.Linq; using cAlgo.API; using cAlgo.API.Indicators; using cAlgo.API.Internals; using cAlgo.Indicators; namespace cAlgo { [Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)] public class CCIReversal : Robot { [Parameter(DefaultValue = 26)] public int cciPeriod { get; set; } [Parameter(DefaultValue = 9)] public int maPeriod { get; set; } [Parameter("Quantity (Lots)", DefaultValue = 1, MinValue = 0.01, Step = 0.01)] public double Quantity { get; set; } private CommodityChannelIndex cci; //private Position _position; private const string robotname = "CCIReversal"; protected override void OnStart() { cci = Indicators.CommodityChannelIndex(cciPeriod); } protected override void OnBar() { var longPos = Positions.Find(robotname, Symbol, TradeType.Buy); var shortPos = Positions.Find(robotname, Symbol, TradeType.Sell); var pre_cci = cci.Result.Last(2); var cur_cci = cci.Result.Last(0); bool LongPosition = _position != null && _position.TradeType == TradeType.Buy; bool ShortPosition = _position != null && _position.TradeType == TradeType.Sell; Print("CCI = " + cur_cci + " Pre CCI" + pre_cci); if ((cci.Result.HasCrossedAbove(-100.0, 1) && cur_cci > pre_cci) || (cci.Result.HasCrossedAbove(100.0, 1) && cur_cci > pre_cci)) { if (shortPos != null) { ClosePosition(shortPos); ExecuteMarketOrder(TradeType.Buy, Symbol, VolumeInUnits, robotname); } else if (longPos == null) { ExecuteMarketOrder(TradeType.Buy, Symbol, VolumeInUnits, robotname); } else { ExecuteMarketOrder(TradeType.Buy, Symbol, VolumeInUnits, robotname); } Print("con1"); } else if ((cci.Result.HasCrossedBelow(-100.0, 1) && cur_cci < pre_cci) || (cci.Result.HasCrossedBelow(100, 1) && cur_cci < pre_cci)) { if (longPos != null) { ClosePosition(longPos); ExecuteMarketOrder(TradeType.Sell, Symbol, VolumeInUnits, robotname); } else if (shortPos == null) { ExecuteMarketOrder(TradeType.Sell, Symbol, VolumeInUnits, robotname); } else { ExecuteMarketOrder(TradeType.Sell, Symbol, VolumeInUnits, robotname); } Print("con2"); } Print("Long" + (longPos != null)); Print("Short" + (shortPos != null)); } private long VolumeInUnits { get { return Symbol.QuantityToVolume(Quantity); } } } /* private void Close(TradeType tradeType) { foreach (var position in Positions.FindAll(robotname, Symbol, tradeType)) ClosePosition(_position); } private void Open(TradeType tradeType) { _position = Positions.Find(robotname, Symbol, tradeType); var volumeInUnits = Symbol.QuantityToVolume(Quantity); if (_position == null) ExecuteMarketOrder(tradeType, Symbol, volumeInUnits, robotname); }*/ }    Backtest on Silver The CCI Reversal Buy when CCI(26) Cross above -100 or 100(when no buy position open), in the case of crossing above -100 the cbot will be selling when CCI(26) cross below 0, but if the CCI(26) reach over 100 it will be selling when CCI(26) cross below 100 .  In case of short position, it's the reversal of buy position. There is parameter name 'MA' but notthing importance for now, I added it for the next version.  and the parameter Trading Size, value 2 mean trade both side long and short, 0 = trade on short side only, 1 = trade on long side only.  If you find any mistake of this algorithm please let me know.