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
Cyf_Double_RSI
  0
  0
  2472
by cyfer
free  23 Feb 2016
Based on the strategy of The difference between 2 RSIs(5,14) When the Fast RSI Crosses the Slow RSI , you may scalp in that direction. The ADX component of DMS is added with adjustable threshold (usually 40 for Stocks , Forex 20 or something) Use at your own Risk   
Spread Monitor
  1
  5
  4488
free  18 Feb 2016
This indicator draws Spread on the chart in pips and shows the current spread and min / max. Spread is the difference between the bid and the ask price of the symbol.
by Jiri
free  09 May 2016
Description Linear regression channel based. Overlaying channels indicate respected channel. Additional description will be added in the future.   Notes It might be useful for those who like to trade channels but are lazy to draw them manually - just like me. :D Any feedback or ideas appreciated.   Screenshot   Make a Donation If you like my work and effort then please consider to make a kind donation thru PayPal or any Credit Card at the top right corner.
by Jiri
free  09 May 2016
Custom Bid and Ask lines. can be set to plot from current bar with displacement or to infinite (as default) custom line style custom thickness custom color   Make a Donation If you like my work and effort then please consider to make a kind donation thru PayPal or any Credit Card at the top right corner.
Average Wick Indicator
  1
  5
  2014
by Waxy
free  11 Feb 2016
I decided to make a simple indicator to see how wicks behave, some cool patterns seem to emerge. You can see for example Upwicks tend to be bigger in downtrends and viceversa.
Cyf_Stochastic_ADX
  0
  0
  2439
by cyfer
free  05 Feb 2016
This is a combination of Stochastic Indicator and ADX component of the DMS system  needles to say : when using ADX .. its not giving you direction but Strength of The trend    Note:  Because cAlgo can't choose colors based on Hex values & because of different color Schemes used traders you should choose the colors of the ADX , try to choose a color with some Transparency .
Cyf_Momentum_Histogram
  0
  0
  2328
by cyfer
free  05 Feb 2016
This is nothing but the cTrader included Momentum indicator  the only difference is its more visually appealing    using System; using cAlgo.API; using cAlgo.API.Internals; using cAlgo.API.Indicators; using cAlgo.Indicators; namespace cAlgo { [Levels(0)] [Indicator(IsOverlay = false, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)] public class Cyf_Mom_Histogram : Indicator { //////// Drawing on the Indicator /////// private string UP = "▲"; private string Down = "▼"; //////////////////////////////////////// private MomentumOscillator _momentum; //private int RefCandle; //private IndicatorDataSeries CMA; [Parameter(DefaultValue = 12)] public int Periods { get; set; } [Output("Momentum_Down", Color = Colors.Red, PlotType = PlotType.Histogram, Thickness = 2)] public IndicatorDataSeries moScillatorDown { get; set; } [Output("Momentum_Up", Color = Colors.Blue, PlotType = PlotType.Histogram, Thickness = 2)] public IndicatorDataSeries moScillatorUp { get; set; } protected override void Initialize() { _momentum = Indicators.MomentumOscillator(MarketSeries.Close, Periods); } public override void Calculate(int index) { double momentum = _momentum.Result[index]; if (_momentum.Result[index] >= 100.0) { moScillatorUp[index] = (_momentum.Result[index] - 100.0); ChartObjects.RemoveObject("Direction"); ChartObjects.DrawText("Direction", UP, StaticPosition.BottomRight, Colors.Green); } else { ChartObjects.RemoveObject("Direction"); moScillatorDown[index] = (_momentum.Result[index] - 100.0); ChartObjects.DrawText("Direction", Down, StaticPosition.BottomRight, Colors.Red); } } } }
Fractals TF
  2
  5
  3912
free  04 Feb 2016
Fractals TF allows you to see higher TimeFrame fractals on low TimeFrame charts.   For example, I like to use M5 fractals on M1 charts.
free  04 Feb 2016
Sometimes it's easy to lose track of the bigger picture.   This indicator draws candle boxes based on high and low around the current price action.    For example, if I'm trading M1, I like to add H1 and H20 so that I don't get lost.  These levels also work as S/R zones.  
free  04 Feb 2016
This MACD Histogram with Colors indicator allows you to set colors for both positive and negative values of the Histogram. Based on the original MACD Histogram indicator from cTrade. v2 + Adaptive (auto-color): Allows the option to display adaptive auto-colors changing according the trend. + Verbose: Allows the option to display the current Long or Short cycle and it's value. v1 Public release
ZigZag
  3
  4.17
  2689
by Jiri
free  09 May 2016
Description The ZigZag indicator shows trend lines filtering out changes below a defined level. The Indicator was converted from NinjaTrader script to cAlgo.   Updates 31/01/2016 Released. 08/03/2016 ​Added channels. Updates on tick.   Inputs High source - The source of High DataSeries. Low source - The source of Low DataSeries. Deviation - Value of deviation.   Screenshot   Make a Donation If you like my work and effort then please consider to make a kind donation thru PayPal or any Credit Card at the top right corner.
MTF SMA
  1
  0
  2354
by sohoj
free  31 Jan 2016
using System; using cAlgo.API; using cAlgo.API.Internals; using cAlgo.API.Indicators; namespace cAlgo.Indicators { [Indicator(IsOverlay = true, TimeZone = TimeZones.UTC)] public class SMAMTF : Indicator { [Parameter(DefaultValue = 14)] public int Periods { get; set; } [Parameter("SMA Timeframe1", DefaultValue = "Minute15")] public TimeFrame SMATimeframe1 { get; set; } [Parameter("SMA Timeframe2", DefaultValue = "Hour")] public TimeFrame SMATimeframe2 { get; set; } [Parameter("SMA Timeframe3", DefaultValue = "Hour4")] public TimeFrame SMATimeframe3 { get; set; } [Output("SMA1", Color = Colors.Blue)] public IndicatorDataSeries SMA1 { get; set; } [Output("SMA2", Color = Colors.Red)] public IndicatorDataSeries SMA2 { get; set; } [Output("SMA3", Color = Colors.Yellow)] public IndicatorDataSeries SMA3 { get; set; } private MarketSeries series1; private MarketSeries series2; private MarketSeries series3; private SimpleMovingAverage Sma1; private SimpleMovingAverage Sma2; private SimpleMovingAverage Sma3; protected override void Initialize() { series1 = MarketData.GetSeries(SMATimeframe1); series2 = MarketData.GetSeries(SMATimeframe2); series3 = MarketData.GetSeries(SMATimeframe3); Sma1 = Indicators.SimpleMovingAverage(series1.Close, Periods); Sma2 = Indicators.SimpleMovingAverage(series2.Close, Periods); Sma3 = Indicators.SimpleMovingAverage(series3.Close, Periods); } public override void Calculate(int index) { var index1 = GetIndexByDate(series1, MarketSeries.OpenTime[index]); if (index1 != -1) { SMA1[index] = Sma1.Result[index1]; } var index2 = GetIndexByDate(series2, MarketSeries.OpenTime[index]); if (index2 != -1) { SMA2[index] = Sma2.Result[index2]; } var index3 = GetIndexByDate(series3, MarketSeries.OpenTime[index]); if (index3 != -1) { SMA3[index] = Sma3.Result[index3]; } } private int GetIndexByDate(MarketSeries series, DateTime time) { for (int i = series.Close.Count - 1; i > 0; i--) { if (time == series.OpenTime[i]) return i; } return -1; } } }