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
The Alarm Manager is a personal trading assistant that can carry out any number of automated actions such as opening, closing positions, sending email or an SMS message, voice and pop up message alerts with real-time news voice alerts. Traders can create rule-based alarms which trigger any number of actions. The software can notify the trader about events, carry out trading actions such as placing new orders or closing existing positions.   CTRADER ALARM MANAGER DASHBOARD Visit the Product Page The dashboard should be able to provide you with all the information at a glance to assist your trading, you do not need to start the alarm monitor to view the information. It includes an account overview as well as trade activity status and the most important piece of information you will need the Drawdown gauge. Monetary Win/Loss Win/Loss ratio is used in calculating the risk/reward ratio. It is not very useful on its own because it does not take into account the monetary value won or lost in each trade. For example, a win/loss ratio of 2:1, means the trader has twice as many winning trades than losing. Sounds good, but if the losing trades have dollar losses three-times as large as the dollar gains of the winning trades, the trader has a losing strategy. The application uses Net Profit/Net Loss in currency to give you an accurate view of what is really happening. Drawdown Gauge This useful gauge will show your current drawdown of your account, it has a direct relation to how much of your capital you are risking, the higher the drawdown the more you enter the realm of gambling. If your outlook to trading is low risk, then you would be looking at a drawdown of 5% or less. The maximum value for the gauge can be changed in the settings up-to any value up to 100.     ACCOUNT ALARMS The account alarms tab allows you to configure alerts and notifications when certain account events occur. Some of the alerts are listed below and are all self-explanatory. Each event can be turned on or off, you can configure the parameters for the event and what action to take. (Do Nothing) Pop-up message, this displays a pop-up box to the screen with the alert, you will need to close the message when you have read it. Email message, this will send you an email that you configured in the settings tab with details of the account event. SMS message, this will send you an SMS message to thenumber you configured in the settings tab Voice alert, a voice in English will be heard telling you of the account event that has just occurred. Close all positions, this will close all open positions when an event occurs Close winning positions, this will close only winning positions Close losing positions, this will close only losing positions.   BROKER DATA FEED STOPPED This useful event will occur after the set time in minutes and send you any one of the notifications above. How this works is for the application to check every minute if there is data coming into the platform and if after so many minutes there is no data a notification is sent to you. This will still happen during periods of low volatility, so when you get the notification you will need to re-arm the manager.   TRADE ACTIVITY ALARMS There are 8 events for the trade activity alarms, you can turn each one on or off and they all share the same Alarm Events. VOICE MESSAGES All voice messages are from the Voice Pack installation and are in English, they can be replaced by your own files in your own language. Some example uses are shown below:     Close all open positions at a 17:00 hrs. each day     When there are 20 losing, trades send an SMS message to your phone     When there are 10 winning trades close all winning positions     When a position opens a voice, message will say ‘A position has just opened” in English.     When a position closes display a pop-up message     When a pending order is filled send an email message     When any position is 20 pips down display a pop-up message     When any position is 20 pips up close the position.   REAL-TIME NEWS ALERTS (FREE) Blazing fast market moving economic news We have integrated real-time news into the application which comes from News Impact. This service is free with some advertisements and is an invaluable tool where you will be informed minutes and seconds before a major news release via voice. If you become a premium user with News Impact, the advertisements are removed.   News That Matters Market moving economic news for all major economic regions covering all the key macroeconomic indicators. Read more about How to Trade Forex on News Releases. Ultra Fast The fastest possible economic data delivery ever made available to the retail trader. Be among the first traders who knows all the important economic figures. Simple & Easy Carefully designed to provide the most important data points with just a glimpse of an eye. Easy to read and fast interpret. How Reliable is News-Impact? Their data delivery service is based on a financial world proven real time messaging architecture which guarantees no missing piece of data delivered with low latency. You can stay assured that when an economic figure is released you will be among the first to know. News-Impact Subscription You have the option to subscribe to News-Impact to remove the advertisements.   WEBSITE FEEDS The web feeds section allows you to get instant access to market information from various websites that have the best and most up-to-date data and news. We provide a list of default sites that we feel are very useful, you will also have the option to modify and add your own personal custom web site feeds. Some of the default services include the best online source of market information: DailyFx Market News DailyFx Daily Briefing DailyFX Market Alerts ForexLive Calendar ForexLive Quotes DailyFx Sentiment ForexLive Price Alerts DailyFx Support & Resistance FXStreet Twitter Feed ForexLive Twitter Feed TradersLog Twitter Feed   ALARM MANAGER SETTINGS The settings section allows you to configure the settings of the application, manage the memory usage of cTrader, set-up and use the SMS service, configure your email address, manage web feeds and other useful settings. Configure Settings in the File System The file system section provides two buttons which open areas on your computer where the application settings and sounds files are located. This will allow you to make personal changes.   cTrader Physical Memory Auto Boost Sometimes the memory that cTrader uses starts to increase to a point where it affects the actual performance of your computer, this option will allow you to clear the cache of memory when it hits a pre-defined maximum amount. The caching of data is used so that the platform can execute faster, but sometimes it caches so much that it affects performance. The auto boost will clear the memory down to the minimum automatically each time it reaches the threshold you set to give to a balanced performance.   PAYG SMS Messages to Your Phone We provide different SMS packages where you purchase only the SMS credits you need, they do not expire and you can use them as much or as little as you wish. This service is to allow you to recieve the alert message to the phone number you specify. You do not get charged to recieve them. www.clickalgo.com Visit Product Page  
23 Jan 2017
Downloads
22
Comments
0
Rating
0
Download
It shows two rectangle on predifined time periods of a trading day. Download Demo / Buy: https://www.algodeveloper.com/23-extended-trading-hours
15 Jan 2017
Downloads
68
Comments
0
Rating
0
Download
This indicator recognize supply and demand zones on your chart and mark them with a rectangle shape, When price touched a zone it shows an alert window and then it removes that zone from your chart. You can change the style of rectangle lines to :  Dots,  DotsRare,  DotsVeryRare,  Lines,  LinesDots and Solid. The periods parameter is for scanning x amount of candles to identify the zones.   Version 1.1.0.0 Release Date : January 11, 2017 Added : Remove zones after x number of touches. Fixed : A Bug in removing touched zones   Download Demo / Buy: http://algodeveloper.com/1-supply-and-demand-zones    
11 Jan 2017
Downloads
1468
Comments
2
Rating
0
Download
This indicator shows the current makret condition on histogram. Download : https://www.algodeveloper.com/19-market-regimes
01 Jan 2017
Downloads
74
Comments
0
Rating
0
Download
This is a simple indicator. It shows the PnL in %. I think it makes much more sense than a value, but cTrader hasn't implemented something that simple. Updated: It now also shows the PnL of the whole account.
19 Dec 2016
Downloads
190
Comments
0
Rating
0
Download
Final Version. This indicator displays the current and the previous D/W/M values as a TargetTree. Released: 07/12/2016 Latest update: 07/12/2016 Notifications: You can display the D/W/M values individually. Donate a winning trade with this indicator PayPal.Me:          paypal.me/MarioVerheye PayPal email:       mario.verheye@epost.ch Example:
by MaVe
07 Dec 2016
Downloads
169
Comments
0
Rating
0
Download
cTKit aka cTrader Kit is a set of indicators developed by professional C# developers who also trade. We developed these as we learned about trading Forex and developed our own "style".  We think you might find them useful too.  Some of these indicators were published on cTDN initially but we have had a lot of problems uploading newer ones, so we decided to publish them as a kit at http://ctkit.uk where you can download them. However, although we are keen on open source code, creating and contributing to a number of projects we actually prefer in this case not to share our code.  Sorry for those that are upset about this, but a lot of work has gone into some of the newer indicators and whilst we are happy to give you access to the indicators for free we feel we earned the right to keep the code to ourselves. The following indicators are currently available with more to be added soon: Currency Strength Indicator Currency Strength Heat Map SR Zones * SR At Price * Raghee Wave and GRaB Candles * * Previously published on cTDN 
07 Dec 2016
Downloads
219
Comments
0
Rating
0
Download
It shows the three bar reversal candlestick pattern, The pattern signals have high accuracy and R:R.  Download : https://www.algodeveloper.com/15-three-bar-reversal-pattern
07 Dec 2016
Downloads
444
Comments
0
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
1959
Comments
3
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
518
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
691
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
219
Comments
0
Rating
5
Download