Indicators

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
DescriptionSubmited byDateCategoryPreviewDownloadsCommentsRating
It's volume weighted average price indicator for cTrader / cAlgo as it wasn't on their built-in indicators. Download : https://www.algodeveloper.com/10-vwap
07 Dec 2016
Downloads
209
Comments
0
Rating
0
Download
It shows the ration between bears and bulls volume for each bar. Download : https://www.algodeveloper.com/11-volume-ratio
07 Dec 2016
Downloads
235
Comments
0
Rating
0
Download
This indicator gives you high probability trend trading signals by using candlestick patterns, It's combination of candle patterns and technical indicators. Download Demo / Buy : https://www.algodeveloper.com/9-trend-catcher
07 Dec 2016
Downloads
316
Comments
0
Rating
0
Download
This indicator shows bearish and bullish volume, It counts each up / down tick and shows them in a oscillator format. Above zero shows bullish volume and below zero shows bearish volume. If you are a tick chart scalper this indicator will be very helpful for you! Download : https://www.algodeveloper.com/6-advanced-volume M1 Chart: As you are seeing on screenshot it's just work with live real time data.
07 Dec 2016
Downloads
1015
Comments
3
Rating
0
Download
This indicator helps you to identify key breakout trading opportunities, It scans x amount of previous closed bars and check them if they were on a flat line type style and the latest closed bar broke them all or not also It has Bollinger bands indicator filter for getting only those breakout opportunities that came alongside with Bollinger bands squeeze setup. By default the amount of range size parameter is zero and it means that indicator not using this functionality but I recommend you to adjust that parameter value based on instrument you trade and it's time frame.   Download Demo / Buy: http://algodeveloper.com/3-breakout-candle​   Alert: With BBands Filter:   Without BBands Filter: With Range Pips specified: Without Range Pips: With Longer TF trend filer enabled:
07 Dec 2016
Downloads
2129
Comments
3
Rating
0
Download
It's same like traditional Bollinger Bands indicator but it use Linear Regression Forecast instead of MA, So it lag less than Bollinger bands. If you have mean reversion bot based on Bollinger bands you can try to back test it with this indicator. Download : https://www.algodeveloper.com/8-linear-bands BitCoin: 1Me2TQ6Rgr8EevZNFKqvYegkbtY8C2cP5i
07 Dec 2016
Downloads
364
Comments
0
Rating
0
Download
Tick volume data in Forex market is an extra piece of information that traders has but the point is how should we use it? And what it can tell us? For me tick volume is nothing but an indicator for price volatility on specific period of time so alongside other volatility indicators we can use it to find the market volatility. This indicator separates tick volume in two parts high and low, It use a moving average to find the average amount of x previous bars tick volume and then it compare the current bar tick volume with that average amount so if the current bar volume was above average volume it means this bar has higher volume and if it was lower than average volume it means the bar volume was lower. Download : https://www.algodeveloper.com/5-high-low-volume
07 Dec 2016
Downloads
515
Comments
0
Rating
0
Download
This indicator is a great tool for short term day traders those who trade Time frames below M15, It shows some useful information about that symbol on it's chart. Symbol Info display ATR value in pips(You can use the multiplier to multiply ATR value), daily High / Low lines, real time spread, ADR or average daily range, Current day range, amount of space in pips that particular pair can go up / down on that day based on ADR and the longer time frame trend direction by using a moving average. You can adjust the color of Up / Down space by setting your Risk / Reward if you are using ATR value as your trades stop loss.  Download : https://www.algodeveloper.com/7-symbol-info
07 Dec 2016
Downloads
584
Comments
2
Rating
0
Download
This indicator catches the reversals by using Bollinger bands and rejection candle, Whenever price touches one of the bands and form a rejection candle it shows a buy or sell signal.   Download Demo / Buy: http://algodeveloper.com/4-reversal-magic  
07 Dec 2016
Downloads
777
Comments
0
Rating
0
Download
this is a test
06 Dec 2016
Downloads
118
Comments
0
Rating
0
Download
Code desined to help Trader easy to treder with EMA - STO - RSI - DMI index in 1 code. Red Point for STO Index, Yellow Point for EMA Index, Purple Point for RSI Index, DMI Point for DMI Index. Include Open Week Price line and Open Month Price Line. using System; using cAlgo.API; using cAlgo.API.Internals; using cAlgo.API.Indicators; using cAlgo.Indicators; namespace cAlgo { [Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)] public class WeeklyTradingSignal : Indicator { //EMASignal [Parameter("LongEMA", DefaultValue = 100)] public int LongEMA { get; set; } [Parameter("ShortEMA", DefaultValue = 5)] public int ShortEMA { get; set; } //ADXSignal [Parameter("ADXPeriod", DefaultValue = 10)] public int ADXPeriod { get; set; } //RSISignal [Parameter("RSIPeriod", DefaultValue = 14)] public int RSIPeriod { get; set; } //STOSignal [Parameter("STOKValue", DefaultValue = 9)] public int STOKValue { get; set; } [Parameter("STODValue", DefaultValue = 3)] public int STODValue { get; set; } [Parameter("STOSlow", DefaultValue = 2)] public int STOSlow { get; set; } [Output("ADX Point", Color = Colors.White, PlotType = PlotType.Points, Thickness = 5)] public IndicatorDataSeries ADXPoint { get; set; } [Output("EMA point", Color = Colors.Yellow, PlotType = PlotType.Points, Thickness = 5)] public IndicatorDataSeries EMAPoint { get; set; } [Output("RSI Down Point", Color = Colors.Purple, PlotType = PlotType.Points, Thickness = 5)] public IndicatorDataSeries RSIPoint { get; set; } [Output("STO Point", Color = Colors.Red, PlotType = PlotType.Points, Thickness = 5)] public IndicatorDataSeries STOPoint { get; set; } private ExponentialMovingAverage EMAs, EMAl; private RelativeStrengthIndex rsi; private MarketSeries DailySource, WeeklySource, MonthlySource; private DirectionalMovementSystem ADX; private ExponentialMovingAverage ema10; private ExponentialMovingAverage ema20; private ExponentialMovingAverage ema50; private ExponentialMovingAverage ema200; private StochasticOscillator STO; protected override void Initialize() { DailySource = MarketData.GetSeries(TimeFrame.Daily); WeeklySource = MarketData.GetSeries(TimeFrame.Weekly); MonthlySource = MarketData.GetSeries(TimeFrame.Monthly); ADX = Indicators.DirectionalMovementSystem(ADXPeriod); rsi = Indicators.RelativeStrengthIndex(MarketSeries.Close, RSIPeriod); EMAs = Indicators.ExponentialMovingAverage(MarketSeries.Close, ShortEMA); EMAl = Indicators.ExponentialMovingAverage(MarketSeries.Close, LongEMA); ema10 = Indicators.ExponentialMovingAverage(DailySource.Close, 10); ema20 = Indicators.ExponentialMovingAverage(DailySource.Close, 20); ema50 = Indicators.ExponentialMovingAverage(DailySource.Close, 50); ema200 = Indicators.ExponentialMovingAverage(DailySource.Close, 200); STO = Indicators.StochasticOscillator(STOKValue, STOSlow, STODValue, MovingAverageType.Exponential); } public int CandleTick() { int results = -1; double OpenClose = MarketSeries.Close.Last(0) - MarketSeries.Open.Last(0); double HighLow = MarketSeries.High.Last(0) - MarketSeries.High.Last(0); double Open = MarketSeries.Open.Last(0); double Close = MarketSeries.Close.Last(0); double Median = MarketSeries.Median.Last(0); if ((OpenClose < HighLow / 3 && Open > Median && Close > Median) || (OpenClose > 0.7 * HighLow)) results = 0; else if ((OpenClose < HighLow / 3 && Open < Median && Close < Median) || (OpenClose > 0.7 * HighLow)) results = 1; return results; } public override void Calculate(int index) { //LongTrendSignal var StaticLongPos = StaticPosition.BottomLeft; string name = "Xu hướng dài hạn"; string LongResults; string DayOfWeek = DailySource.OpenTime.Last(0).DayOfWeek.ToString(); if (ema10.Result.Last(1) > ema20.Result.Last(1) && ema20.Result.Last(1) > ema50.Result.Last(1) && ema50.Result.Last(1) > ema200.Result.Last(1)) LongResults = "Long: Up"; else if (ema10.Result.Last(1) < ema20.Result.Last(1) && ema20.Result.Last(1) < ema50.Result.Last(1) && ema50.Result.Last(1) < ema200.Result.Last(1)) LongResults = "Long: Down"; else LongResults = "Long: Unknow"; //if (LongResults == "Long: Up" && ema10.Result.IsRising() && ema10.Result.Last(0) < MarketSeries.Low.Last(0)) //LongPoint[index] = MarketSeries.Low[index] - (Symbol.PipSize * 25); //else if (LongResults == "Long: Down" && ema10.Result.IsFalling() && ema10.Result.Last(0) > MarketSeries.High.Last(0)) //LongPoint[index] = MarketSeries.High[index] + (Symbol.PipSize * 25); //End //EMASignal string TF = TimeFrame.ToString(); int CandleSignal = CandleTick(); double EMA0 = EMAs.Result.Last(0) - EMAl.Result.Last(0); double EMA1 = EMAs.Result.Last(1) - EMAl.Result.Last(1); double EMA2 = EMAs.Result.Last(2) - EMAl.Result.Last(2); double EMA3 = EMAs.Result.Last(3) - EMAl.Result.Last(3); double EMA4 = EMAs.Result.Last(4) - EMAl.Result.Last(4); double EMA5 = EMAs.Result.Last(5) - EMAl.Result.Last(5); double EMA6 = EMAs.Result.Last(6) - EMAl.Result.Last(6); double EMA7 = EMAs.Result.Last(7) - EMAl.Result.Last(7); double AvgEMA0 = (EMA0 + EMA1 + EMA2) / 3; double AvgEMA1 = (EMA1 + EMA2 + EMA3) / 3; double AvgEMA2 = (EMA2 + EMA3 + EMA4) / 3; double AvgEMA3 = (EMA5 + EMA3 + EMA4) / 3; double DelEMA0 = EMA0 - AvgEMA0; double DelEMA1 = EMA1 - AvgEMA1; double DelEMA2 = EMA2 - AvgEMA2; double DelEMA3 = EMA3 - AvgEMA3; double EmaMin5 = EMAs.Result.Minimum(10); double EmaMax5 = EMAs.Result.Maximum(10); //Trường hợp cắt trên và dưới //if (EMA0 > AvgEMA0 && EMA1 < AvgEMA1 && EMA2 < AvgEMA2) //EMAPoint[index] = MarketSeries.Low[index] - (Symbol.PipSize * 10); //else if (EMA0 < AvgEMA0 && EMA1 > AvgEMA1 && EMA2 > AvgEMA2) //EMAPoint[index] = MarketSeries.High[index] + (Symbol.PipSize * 10); // Trường hợp tạo đỉnh và đáy if (EMA0 > AvgEMA0 && EMA1 < AvgEMA1 && EMA0 > EMA1 && EMA1 <= EMA2 && EMA2 <= EMA3) //&& EMA3 <= EMA4) // && CandleSignal == 0) EMAPoint[index] = MarketSeries.Low[index] - (Symbol.PipSize * 10); else if (EMA0 < AvgEMA0 && EMA1 > AvgEMA1 && EMA0 < EMA1 && EMA1 >= EMA2 && EMA2 >= EMA3) // && EMA3 >= EMA4) //&& CandleSignal == 1) EMAPoint[index] = MarketSeries.High[index] + (Symbol.PipSize * 10); //End //RSISignal double RSIvalue0 = rsi.Result.Last(0); double RSIvalue1 = rsi.Result.Last(1); double RSIvalue2 = rsi.Result.Last(2); double RSIvalue3 = rsi.Result.Last(3); double RSIMin120 = rsi.Result.Minimum(120); double RSIMax120 = rsi.Result.Maximum(120); string RsiResults; if ((rsi.Result.HasCrossedAbove(30, 0) && RSIvalue1 < 30 && RSIvalue2 < 30 && RSIvalue3 < 30)) //(RSIMin120 >= RSIvalue1 && RSIvalue0 >= RSIvalue1 && RSIvalue1 < RSIvalue2 && RSIvalue2 < RSIvalue3) || RSIPoint[index] = MarketSeries.Low[index] - (Symbol.PipSize * 20); else if ((rsi.Result.HasCrossedBelow(70, 0) && RSIvalue1 > 70 && RSIvalue2 > 70 && RSIvalue3 > 70)) //(RSIMax120 <= RSIvalue1 && RSIvalue0 <= RSIvalue1 && RSIvalue1 > RSIvalue2 && RSIvalue2 > RSIvalue3) || RSIPoint[index] = MarketSeries.High[index] + (Symbol.PipSize * 20); if (29 <= rsi.Result.Last(0) && rsi.Result.Last(0) < 30 && RSIvalue1 < 30 && RSIvalue2 < 30 && RSIvalue3 < 30) RsiResults = "RSI: Sell Signal Nearly Appear"; else if (70 < rsi.Result.Last(0) && rsi.Result.Last(0) <= 71 && RSIvalue1 > 70 && RSIvalue2 > 70 && RSIvalue3 > 70) RsiResults = "RSI: Buy Signal Nearly Appear"; else RsiResults = ""; //End //ADXSignal double DIMinus1 = ADX.DIMinus.Last(1); double DIMinus2 = ADX.DIMinus.Last(2); double DIMinus3 = ADX.DIMinus.Last(3); double DIPlus1 = ADX.DIPlus.Last(1); double DIPlus2 = ADX.DIPlus.Last(2); double DIPlus3 = ADX.DIPlus.Last(3); string AdxResults; if (ADX.DIPlus.HasCrossedAbove(ADX.DIMinus, 0) && DIPlus1 < DIMinus1 && DIPlus2 < DIMinus2 && DIPlus3 < DIMinus3) ADXPoint[index] = MarketSeries.Low[index] - (Symbol.PipSize * 30); else if (ADX.DIPlus.HasCrossedBelow(ADX.DIMinus, 0) && DIPlus1 > DIMinus1 && DIPlus2 > DIMinus2 && DIPlus3 > DIMinus3) ADXPoint[index] = MarketSeries.High[index] + (Symbol.PipSize * 30); if (Math.Abs(ADX.DIPlus.Last(0) - ADX.DIMinus.Last(0)) <= 1 && ADX.DIPlus.Last(0) > ADX.DIMinus.Last(0) && DIPlus1 < DIMinus1 && DIPlus2 < DIMinus2 && DIPlus3 < DIMinus3) AdxResults = "ADX: Sell Signal Nearly Appear"; else if (Math.Abs(ADX.DIPlus.Last(0) - ADX.DIMinus.Last(0)) <= 1 && ADX.DIPlus.Last(0) < ADX.DIMinus.Last(0) && DIPlus1 > DIMinus1 && DIPlus2 > DIMinus2 && DIPlus3 > DIMinus3) AdxResults = "ADX: Buy Signal Nearly Appear"; else AdxResults = ""; //End //StoSignal double KValue0 = STO.PercentK.Last(0); double KValue1 = STO.PercentK.Last(1); double KValue2 = STO.PercentK.Last(2); double KValue3 = STO.PercentK.Last(3); double KValue4 = STO.PercentK.Last(4); double KValue5 = STO.PercentK.Last(5); double KValue6 = STO.PercentK.Last(6); double DValue0 = STO.PercentD.Last(0); double DValue1 = STO.PercentD.Last(1); double DValue2 = STO.PercentD.Last(2); double DValue3 = STO.PercentD.Last(3); //Trường hợp giao nhau //if (STO.PercentK.HasCrossedAbove(STO.PercentD, 0) && KValue1 < DValue1 && KValue2 < DValue2 && KValue3 < DValue3) //STOPoint[index] = MarketSeries.Low[index] - (Symbol.PipSize * 40); //else if (STO.PercentK.HasCrossedBelow(STO.PercentD, 0) && KValue1 > DValue1 && KValue2 > DValue2 && KValue3 > DValue3) //STOPoint[index] = MarketSeries.High[index] + (Symbol.PipSize * 40); //Trường hợp đỉnh đáy if (KValue0 > DValue0 && KValue0 > KValue1 && KValue1 < KValue2 && KValue2 < KValue3 && KValue3 < KValue4) //&& KValue4 < KValue5 && KValue5 < KValue6) STOPoint[index] = MarketSeries.Low[index] - (Symbol.PipSize * 40); else if (KValue0 < DValue0 && KValue0 < KValue1 && KValue1 > KValue2 && KValue2 > KValue3 && KValue3 > KValue4) //&& KValue4 > KValue5 && KValue5 > KValue6) STOPoint[index] = MarketSeries.High[index] + (Symbol.PipSize * 40); //End //OpenWeek for (int i = 0; i < 120; i++) { DateTime startOfMonth = MonthlySource.OpenTime.Last(i).Date.AddDays(0); DateTime endOfMonth = startOfMonth.AddMonths(1); DateTime StartOfWeek = WeeklySource.OpenTime.Last(i).Date.AddDays(0); DateTime endOfWeek = StartOfWeek.AddDays(7); DateTime StartOfDay = DailySource.OpenTime.Last(i).Date.AddDays(0); DateTime endOfDay = StartOfDay.AddHours(24); var MonthlyOpen = MonthlySource.Open.Last(i); var WeeklyOpen = WeeklySource.Open.Last(i); var DailyOpen = DailySource.Open.Last(i); ChartObjects.DrawLine("OpenWeek" + i, StartOfWeek, WeeklyOpen, endOfWeek, WeeklyOpen, Colors.Aqua, 1); ChartObjects.DrawLine("OpenMonth" + i, startOfMonth, MonthlyOpen, endOfMonth, MonthlyOpen, Colors.SlateGray, 2); } //End ChartObjects.DrawText(name, LongResults + "\n" + RsiResults + "\n" + AdxResults, StaticLongPos, Colors.Red); } } }  
29 Nov 2016
Downloads
302
Comments
0
Rating
5
Download
using System; using cAlgo.API; namespace cAlgo.Indicators { [Indicator(IsOverlay = true, AccessRights = AccessRights.None)] public class PivotPointsIntraDay : Indicator { private double _close; private double _higher; private double _lower; #region Output [Output("Pivot", LineStyle = LineStyle.Lines)] public IndicatorDataSeries Pivot { get; set; } [Output("R1", LineStyle = LineStyle.Lines, Color = Colors.Blue)] public IndicatorDataSeries R1 { get; set; } [Output("R2", LineStyle = LineStyle.Lines, Color = Colors.Blue)] public IndicatorDataSeries R2 { get; set; } [Output("R3", LineStyle = LineStyle.Lines, Color = Colors.Blue)] public IndicatorDataSeries R3 { get; set; } [Output("S1", LineStyle = LineStyle.Lines, Color = Colors.Red)] public IndicatorDataSeries S1 { get; set; } [Output("S2", LineStyle = LineStyle.Lines, Color = Colors.Red)] public IndicatorDataSeries S2 { get; set; } [Output("S3", PlotType = PlotType.Line, LineStyle = LineStyle.Lines, Color = Colors.Red)] public IndicatorDataSeries S3 { get; set; } #endregion #region Input Parameters [Parameter("Number of Pivots", DefaultValue = 3, MinValue = 1, MaxValue = 3)] public int NoPiv { get; set; } [Parameter("DrawingWidth", DefaultValue = 50, MaxValue = 100)] public int DrawingWidth { get; set; } #endregion public override void Calculate(int index) { DateTime currentOpenTime = MarketSeries.OpenTime[index]; DateTime previousOpenTime = MarketSeries.OpenTime[index - 1]; DateTime today = DateTime.Now; DateTime yesterday = DateTime.Now.AddDays(-1); // Initialize High & Low if (currentOpenTime.Day == yesterday.Day && previousOpenTime.Day != yesterday.Day) { _higher = MarketSeries.High[index]; _lower = MarketSeries.Low[index]; } // Calculate High & Low of previous day if ((currentOpenTime.Day == yesterday.Day && today.DayOfWeek != DayOfWeek.Monday) || (today.DayOfWeek == DayOfWeek.Monday && currentOpenTime.DayOfYear == today.AddDays(-3).Day)) { if (MarketSeries.High[index] > _higher) { _higher = MarketSeries.High[index]; } if (MarketSeries.Low[index] < _lower) { _lower = MarketSeries.Low[index]; } } // Set Close of previous day - Close of Last Bar of prevous Day if (previousOpenTime.Day == yesterday.Day && currentOpenTime.Day == today.Day) { _close = MarketSeries.Close[index - 1]; } // Only show output in todays timeframe if (currentOpenTime.Date != today.Date) return; // Calculate output Pivot[index] = (_higher + _lower + _close)/3; R1[index] = 2*Pivot[index] - _lower; S1[index] = 2*Pivot[index] - _higher; // Display additional pivots according to input if (NoPiv >= 2) { R2[index] = Pivot[index] + (_higher - _lower); S2[index] = Pivot[index] - (_higher - _lower); } if (NoPiv >= 3) { R3[index] = _higher + 2*(Pivot[index] - _lower); S3[index] = _lower - 2*(_higher - Pivot[index]); } } } }  
12 Nov 2016
Downloads
691
Comments
0
Rating
0
Download