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
DescriptionSubmited byDateCategoryPreviewDownloadsCommentsRating
Signup & Download FREE : https://ctrader.guru/product/mega-channel/
29 Aug 2019
Downloads
219
Comments
0
Rating
0
Download
The Choppiness Index is a volatility indicator developed by Australian commodity trader Bill Dreiss to indicate whether a market is trending or ranging. Values range between 0 and 100, with low values indicating a strong trend and high values signaling consolidation. Choppiness Index values below 38.2 indicate a trend; and Values above 61.8 signal consolidation. The Choppiness Index does not predict future direction, it is simply a measure of current trend status. Mathematical Notation Choppiness Index = 100 * Log10{Sum(TrueRange,n) / [Maximum(TrueHigh,n) - Minimum(TrueLow,n)]} / Log10(n) For referencing this indicator use:          private CHOP  yourVariableName;          OnStart()             yourVariableName = Indicators.GetIndicator<CHOP>(desiredPeriods);         OnBar() or OnTick() .            yourVariableName.Result.LastValue; 
22 Aug 2019
Downloads
407
Comments
2
Rating
0
Download
Follow my cTrader Telegram group at https://t.me/cTraderCommunity; everyone can talk about cTrader indicators and algorithm without restrictions, though it is not allowed to spam commercial indicators to sell them. There's also a Discord Server now @ https://discord.gg/5GAPMtp and an Instagram page https://www.instagram.com/ctrader_community/ This indicator shows you another TF in the indicator area below, this is a perfect solution for those who want to scalp lower TFs while keeping an eye on bigger ones. Of course, since it's a cTrader indicator, you can apply other indicators on it or draw any kind of level, as shown here. For any suggestion or bug report, contact me at the links above
19 Aug 2019
Downloads
221
Comments
0
Rating
0
Download
  We are really excited about sharing our best totally free cBot ( just a free registration required to download ), find more details at this address https://ctrader.guru/product/engulfing/
16 Aug 2019
Downloads
453
Comments
12
Rating
0
Download
I used diran76 code to include yesterday and past 10 days Range.
16 Aug 2019
Downloads
309
Comments
0
Rating
0
Download
Based on the method as used in the following BP thread: https://forums.babypips.com/t/trading-the-trend-with-strong-weak-analysis/ A few notes: Calculates and displays the strength of each currency relative to JPY. Calculation is performed on 4HR timeframe against the 200SMA JPY strength will always be 0 relative to the other currencies Can be ran on any chart, as it will always look at the same currencies I recommend you run it on the Daily timeframe Can take 30 to 60s to load Suggested screen setup:
15 Aug 2019
Downloads
305
Comments
0
Rating
0
Download
using cAlgo.API; namespace cAlgo.Indicators { [Indicator(IsOverlay = true, AccessRights = AccessRights.None)] public class Fractals:Indicator { [Parameter(DefaultValue = 5, MinValue = 5)] public int Period { get; set; } [Output("Up Fractal", Color = Colors.Red, PlotType = PlotType.Points, Thickness = 5)] public IndicatorDataSeries UpFractal { get; set; } [Output("Down Fractal", Color = Colors.Blue, PlotType = PlotType.Points, Thickness = 5)] public IndicatorDataSeries DownFractal { get; set; } public override void Calculate(int index) { if (index < Period) return; DrawUpFractal(index); DrawDownFractal(index); } private void DrawUpFractal(int index) { int period = Period % 2 == 0 ? Period - 1 : Period; int middleIndex = index - period / 2; double middleValue = MarketSeries.High[middleIndex]; bool up = true; for (int i = 0; i < period; i++) { if (middleValue < MarketSeries.High[index - i]) { up = false; break; } } if (up) UpFractal[middleIndex] = middleValue; } private void DrawDownFractal(int index) { int period = Period % 2 == 0 ? Period - 1 : Period; int middleIndex = index - period / 2; double middleValue = MarketSeries.Low[middleIndex]; bool down = true; for (int i = 0; i < period; i++) { if (middleValue > MarketSeries.Low[index - i]) { down = false; break; } } if (down) DownFractal[middleIndex] = middleValue; } } }  
12 Aug 2019
Downloads
187
Comments
1
Rating
0
Download
using cAlgo.API; namespace cAlgo.Indicators { [Indicator(IsOverlay = true, AccessRights = AccessRights.None)] public class Fractals:Indicator { [Parameter(DefaultValue = 5, MinValue = 5)] public int Period { get; set; } [Output("Up Fractal", Color = Colors.Red, PlotType = PlotType.Points, Thickness = 5)] public IndicatorDataSeries UpFractal { get; set; } [Output("Down Fractal", Color = Colors.Blue, PlotType = PlotType.Points, Thickness = 5)] public IndicatorDataSeries DownFractal { get; set; } public override void Calculate(int index) { if (index < Period) return; DrawUpFractal(index); DrawDownFractal(index); } private void DrawUpFractal(int index) { int period = Period % 2 == 0 ? Period - 1 : Period; int middleIndex = index - period / 2; double middleValue = MarketSeries.High[middleIndex]; bool up = true; for (int i = 0; i < period; i++) { if (middleValue < MarketSeries.High[index - i]) { up = false; break; } } if (up) UpFractal[middleIndex] = middleValue; } private void DrawDownFractal(int index) { int period = Period % 2 == 0 ? Period - 1 : Period; int middleIndex = index - period / 2; double middleValue = MarketSeries.Low[middleIndex]; bool down = true; for (int i = 0; i < period; i++) { if (middleValue > MarketSeries.Low[index - i]) { down = false; break; } } if (down) DownFractal[middleIndex] = middleValue; } } } Comments  
12 Aug 2019
Downloads
270
Comments
0
Rating
0
Download
This Free cTrader indicator was converted from MT4 and has had some useful additional features added by us, it provides Zig-Zag lines to help indicate spot cycles and draws Fibonacci lines to indicate support and resistance levels as well as notify you via email or a pop-up window when the symbol price touches one of the Fibonacci extensions. DOWNLOAD INDICATOR     Why not sell your indicators with us and boost your sales? Paul Hayes Sales & Marketing Email: contact@clickalgo.com Phone: (44) 203 289 6573 Website: https://clickalgo.com Twitter | Facebook | YouTube | Pinterest | LinkedIn PS: Why not join our instant chat group on Telegram or help us create a Q&A programming community on Stack Exchange.
08 Aug 2019
Downloads
643
Comments
1
Rating
0
Download
using System; using cAlgo.API; using cAlgo.API.Indicators; namespace cAlgo.Indicators { [Indicator(AccessRights = AccessRights.None)] public class QualitativeQuantitativeE:Indicator { private int _wildersPeriod; private int _startBar; private const int SF = 5; private ExponentialMovingAverage _ema; private ExponentialMovingAverage _emaAtr; private ExponentialMovingAverage _emaRsi; private RelativeStrengthIndex _rsi; private IndicatorDataSeries _atrRsi; [Parameter(DefaultValue = 14)] public int Period { get; set; } [Output("Main", Color = Colors.Green)] public IndicatorDataSeries Result { get; set; } [Output("Signal", Color = Colors.Red, LineStyle = LineStyle.Lines)] public IndicatorDataSeries ResultS { get; set; } [Output("Upper", Color = Colors.Gray, LineStyle = LineStyle.DotsRare)] public IndicatorDataSeries Upper { get; set; } [Output("Lower", Color = Colors.Gray, LineStyle = LineStyle.DotsRare)] public IndicatorDataSeries Lower { get; set; } [Output("Middle", Color = Colors.Gray, LineStyle = LineStyle.DotsRare)] public IndicatorDataSeries Middle { get; set; } protected override void Initialize() { _atrRsi = CreateDataSeries(); CreateDataSeries(); _wildersPeriod = Period*2 - 1; _startBar = _wildersPeriod < SF ? SF : _wildersPeriod; _rsi = Indicators.RelativeStrengthIndex(MarketSeries.Close, Period); _emaRsi = Indicators.ExponentialMovingAverage(_rsi.Result, SF); _emaAtr = Indicators.ExponentialMovingAverage(_atrRsi, _wildersPeriod); _ema = Indicators.ExponentialMovingAverage(_emaAtr.Result, _wildersPeriod); } public override void Calculate(int index) { Result[index] = _emaRsi.Result[index]; if (index <= _startBar) { ResultS[index] = 0; return; } _atrRsi[index] = Math.Abs(Result[index - 1] - Result[index]); double tr = ResultS[index - 1]; if (Result[index] < ResultS[index - 1]) { tr = Result[index] + _ema.Result[index] * 4.236; if (Result[index - 1] < ResultS[index - 1] && tr > ResultS[index - 1]) tr = ResultS[index - 1]; } else if (Result[index] > ResultS[index - 1]) { tr = Result[index] - _ema.Result[index] * 4.236; if (Result[index - 1] > ResultS[index - 1] && tr < ResultS[index - 1]) tr = ResultS[index - 1]; } ResultS[index] = tr; Upper[index] = 70; Lower[index] = 30; Middle[index] = 50; } } }  
08 Aug 2019
Downloads
204
Comments
2
Rating
0
Download
TRENDPILOT is a quantitative forex trading robot. It is a swiss army knife for all trend following forex trader.  It is a simple “trend following” strategy based on the very basic indicators and price action trading principals. Indicators used: Fast Simple Moving Average Slow Simple Moving Average Relative Strength Index Average True Range Stochastics MACD Line It is built to run on 1-hour timeframe, you may set it up and optimize it to run on other timeframes.  Download Demo Version: https://sifneosFX.com
22 Oct 2019
Downloads
15082
Comments
2
Rating
0
Download
Hey! I need help, I'm following a really good trader but he's scalping and I keep missing the trades.  He's given me access to connect to his API, i have the documentation to his socket.  He's given me an API Key too.  Can someone help me connect this to cTrader? In return you'll also have access to my API key and all the trades to test. THANKYOU!  Trader 'My sockets uses socket-io to provide our event signals that are derived from segments of complex models in real-time. Javascript example: var socket = io('https://XXXXXXXXX.com:5000?token=YOUR_API_KEY'); // Connection succeeded socket.on('connect', () => { }); // Connection lost socket.on('disconnect', () => { }); socket.on('EURUSD', function(data) { if(data.text == "CLOSE_DC"){ //If our data provider goes offline }else if(data.text == "CLOSE"){ //If the trade we are working with closes }else if(data.text == "OPEN"){ //If the trade signal is a new trade } }) Replace with pair you want to listen to = Pair code written in bold EURUSD Euro/US Dollar BTCUSD Bitcoin/US Dollar USDJPY US Dollar/Japanese Yen GBPUSD British Pound/US Dollar AUDUSD Australian Dollar/US Dollar USDCAD US Dollar/Canadian Dollar USDCHF US Dollar/Swiss Franc EURGBP Euro/British Pound NZDUSD New Zealand Dollar/US Dollar AUDJPY Australian Dollar/Japanese Yen GBPJPY British Pound/Japanese Yen GBPAUD British Pound/Australian Dollar AUDNZD Australian Dollar/New Zealand Dollar USDMXN US Dollar/Mexican Peso ETHUSD Ethereum/US Dollar EURCAD Euro/Canadian Dollar EURJPY Euro/Japanese Yen USDTRY US Dollar/Turkish Lira USDZAR US Dollar/South African Rand XAUUSD Gold/US Dollar Data object pair | Pair of the trade type | If it's SHORT or LONG price | current price of the trade [start price if we are opening, close price if the trade is closing] unitSize | unit size bought from our algorithm timestamp stopPrice | Stop price for the trade comment | Remarks for the trade
06 Aug 2019
Downloads
367
Comments
1
Rating
0
Download