### Algorithms

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
###### Chaikin Oscillator
2
0
2048
by gorin
free  05 Sep 2013
Based on the definition of Accumulation/Distribution Index Chaikin oscillator is formed by subtracting a 10-day exponential moving average from a 3-day exponential moving average of the accumulation/distribution index. The formula for Accumulation/Distribution Index is: Note: This implementation may not be entirely correct. Any comments are appreciated.
###### Fibonacci Robot
18
3
6286
free  09 Jan 2014
#DONT FORGET TO REFERENCE THE TWO FILES IN THE CODE This robot trades the fibonacci bands.    I had sucess trading 4H GBPJPY with  AtrPeriod = 21 ; emaPeriod = 54 ; velperiod = 10 With a little optimization you can get good results for others symbols and timeframe. If you find something good, please share! If the trend is bullish the robot place a buy order in the first fibo band and a sell in the second band and vice-versa.
###### Central Pivot Range (CPR)
1
0
3872
free  27 Aug 2013
The Central Pivot Range (CPR). Before using this indicator, please specify desired time zone in the code:         Then, change time zone in cTrader/cAlgo:   If you do everything correctly, period separators will correspond pivot range lines:
###### KST oscillator
8
5
2713
by gorin
free  16 Sep 2013
The know sure thing (KST) oscillator is a complex, smoothed price velocity indicator developed by Martin J. Pring. A rate of change (ROC) indicator is the foundation of KST indicator. KST indicator is useful to identify major stock market cycle junctures because its formula is weighed to be more greatly influenced by the longer and more dominant time spans, in order to better reflect the primary swings of stock market cycle.[3] The concept behind the oscillator is that price trends are determined by the interaction of many different time cycles and that important trend reversals take place when a number of price trends are simultaneously changing direction. Entry rules KST Indicator When KST crosses below its 9 day exponential average, short at the next day opening price. Exit rules KST indicator When KST crosses above its 9 day exponential average, close short position at the next day opening price.[4] [http://en.wikipedia.org/wiki/KST_oscillator] Works best with W1 and M1 Timeframes.
###### Example with use of "Games Theory".
0
0
2284
by vito
free  09 Jan 2014
For an example we use Bollinger Bands.  We assume, that if bargains do not cross the top and bottom strip we are in chaos(weak balance across Nish). Further it is necessary for us to define the leader or a dominant. It depends on band height and  periods of domination. If the strip is crossed, and the given period of domination achieves, it means formation of a direction on growth(buy) or falling (sell).   Using more difficult calculations (in this example they aren't present), we can predict formation of a trend and its size. // ------------------------------------------------------------------------------- // // Simple example with use of "Games Theory". // Vsoft(c). // // ------------------------------------------------------------------------------- using System; using cAlgo.API; using cAlgo.API.Indicators; using cAlgo.API.Requests; using cAlgo.Indicators; namespace cAlgo.Robots { [Robot(TimeZone = TimeZones.UTC)] public class SampleBreakoutRobot : Robot { [Parameter] public DataSeries Source { get; set; } [Parameter("Band Height", DefaultValue = 1.0, MinValue = 0)] public double BandHeight { get; set; } [Parameter("Stop Loss", DefaultValue = 10, MinValue = 1)] public int StopLossInPips { get; set; } [Parameter("Take Profit", DefaultValue = 10, MinValue = 1)] public int TakeProfitInPips { get; set; } [Parameter("Volume", DefaultValue = 10000, MinValue = 1000)] public int Volume { get; set; } [Parameter("Bollinger Bands Deviations", DefaultValue = 2)] public int Deviations { get; set; } // BB [Parameter("Bollinger Bands Periods", DefaultValue = 20)] public int Periods { get; set; } // BB [Parameter("Bollinger Bands MA Type")] public MovingAverageType MAType { get; set; } // BB [Parameter("Domination Periods", DefaultValue = 1)] public int DominationPeriods { get; set; } // Definition a dominant. private BollingerBands bollingerBands; private int Domination; protected override void OnStart() { bollingerBands = Indicators.BollingerBands(Source, Periods, Deviations, MAType); } protected override void OnBar() { double top = bollingerBands.Top.LastValue; double bottom = bollingerBands.Bottom.LastValue; if ((top - bottom)/ Symbol.PipSize <= BandHeight) { Domination= Domination+1; } else { Domination=0; } if ( Domination >= DominationPeriods) { if (Symbol.Ask > top && MarketSeries.Close[MarketSeries.Close.Count - 2]> MarketSeries.Open[MarketSeries.Close.Count - 2]) { var request = new MarketOrderRequest(TradeType.Buy, Volume) { Label = "SampleGameTheory", StopLossPips = StopLossInPips, TakeProfitPips = TakeProfitInPips }; Trade.Send(request); Domination = 0; } else if (Symbol.Bid < bottom && MarketSeries.Close[MarketSeries.Close.Count - 2]< MarketSeries.Open[MarketSeries.Close.Count - 2]) { var request = new MarketOrderRequest(TradeType.Sell, Volume) { Label = "SampleGameTheory", StopLossPips = StopLossInPips, TakeProfitPips = TakeProfitInPips }; Trade.Send(request); Domination = 0; } } } } }
###### Heikin-Ashi Smoothed
6
5
8627
free  02 Jul 2013
Heikin-Ashi with smoothing filter choices. If you don't need smoothing, set Periods = 1 and MA Type = Simple.
###### CCI 20 Robot (Modified)
2
0
2466
free  28 Jun 2013
This is a collaborative work  based on a forum post : /forum/cbot-support/1109 Any suggestions welcome.
###### Aroon Oscilator
0
0
2363
free  21 Jun 2013
The difference between Aroon Up and Aroon Down in a histogram display. The Aroon Oscillator is the difference between Aroon-Up and Aroon-Down. These two indicators are usually plotted together for easy comparison, but chartists can also view the difference of these two indicators with the Aroon Oscillator. This indicator fluctuates between -100 and +100 with zero as the middle line. A bullish trend bias is present when the oscillator is positive, while a bearish trend bias exists when the oscillator is negative. Chartists can also expand the bull-bear threshold to identify stronger signals. [http://stockcharts.com/school/doku.php?id=chart_school:technical_indicators:aroon_oscillator]
###### Gann High Low Robot
0
0
3118
free  09 Jan 2014
This is a Robot based on the GannHighLow Indicator.  If close price rises above the GannHighLow indicator a buy is triggered and if the prices falls below the GannHighLow  indicator a sell is triggered. There is only one position open at a time. So, if a buy is triggered and a sell is open the sell will be closed. The default parameters use no SL/TP (Default to zero) If SLTrigger and TrailingStop are greater than zero then Trailing stop is used. Any suggestions for optimization are welcome.
###### Average True Range
0
0
2106
by condor
free  12 Jun 2013
The average true range indicator.
###### TMA bands
4
0
3029
by condor
free  09 Jan 2014
Triangular moving average with a deviation based on ATR. You'll need the ATR indi.
###### RSI of TMA
1
0
2465
free  09 Jan 2014
RSI of TMA...