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
KF_Mtf_Stochastics_v2
  2
  0
  103
free  10 Nov 2022
Stochastic lovers: Here's an indicator that super-imposes a maximum of 3 Stochastic indicators (each of a different timeframe) onto the current chart In the screen shot below, we can see the Stochastics of the H1 timeframe and also of the H4 both placed on a M5 chart
KF_Mtf_MA
  4
  0
  80
free  10 Nov 2022
Gives you the ability to supper-impose a moving average line of a higher timeframe onto the current chart. The screen shot below shows the moving average line of the H4 chart on a H1 chart - enjoy!!!
KF_Mtf_MacdStoc_v1
  24
  0
  133
free  10 Nov 2022
A great indicator that combines the Macd & Stochastics of different timefames to give you a birds eye view of the current chart Will find time to put all the code in just one class and then re-upload. At the momment only coders will know what to do with this current code. Bear with me.     ** Source code ** using cAlgo.API; using cAlgo.API.Indicators; namespace cAlgo {     public class ErrorMessage : CustomControl     {         public ErrorMessage(string text)         {             VerticalAlignment = VerticalAlignment.Center;             HorizontalAlignment = HorizontalAlignment.Center;             IsHitTestVisible = false;             var border = new Border              {                 CornerRadius = 8,                 Padding = "40 20",                 BorderColor = Color.DimGray,                 BackgroundColor = "#aa3b3b3b",                 BorderThickness = 1             };             var textBlock = new TextBlock              {                 VerticalAlignment = VerticalAlignment.Center,                 HorizontalAlignment = HorizontalAlignment.Center,                 Text = text,                 ForegroundColor = Color.White             };             border.Child = textBlock;             AddChild(border);         }     }     [Indicator(IsOverlay = true, TimeZone = TimeZones.UTC, AccessRights = AccessRights.None)]     public class KF_Mtf_MacdStoc_v1 : Indicator     {         [Parameter(DefaultValue = "26|12|9", Group = "Macd")]         public string D3_L_S_Sig { get; set; }         [Parameter(DefaultValue = "26|12|9", Group = "Macd")]         public string D1_L_S_Sig { get; set; }         [Parameter(DefaultValue = "26|12|9", Group = "Macd")]         public string H4_L_S_Sig { get; set; }         [Parameter(DefaultValue = "26|12|9", Group = "Macd")]         public string H1_L_S_Sig { get; set; }         [Parameter(DefaultValue = "9|3|3", Group = "Stochastic")]         public string D3_kP_kS_dP { get; set; }         [Parameter(DefaultValue = "9|3|3", Group = "Stochastic")]         public string D1_kP_kS_dP { get; set; }         [Parameter(DefaultValue = "9|3|3", Group = "Stochastic")]         public string H4_kP_kS_dP { get; set; }         [Parameter(DefaultValue = "9|3|3", Group = "Stochastic")]         public string H1_kP_kS_dP { get; set; }         [Parameter("Vertical position", Group = "Dashboard", DefaultValue = VerticalAlignment.Bottom)]         public VerticalAlignment DB_Vert_Posn { get; set; }         [Parameter("Horizontal position", Group = "Dashboard", DefaultValue = HorizontalAlignment.Right)]         public HorizontalAlignment DB_Horz_Posn { get; set; }         private Bars D3_brs, D1_brs, H4_brs, H1_brs;         private StochasticOscillator D3_sto, D1_sto, H4_sto, H1_sto;         private MacdCrossOver D3_mco, D1_mco, H4_mco, H1_mco;         private Button btnD3_sto, btnD1_sto, btnH4_sto, btnH1_sto;         private Button btnD3_mco, btnD1_mco, btnH4_mco, btnH1_mco;         private Button btnMicro, btnMacro;         private readonly Color clrBU = Color.FromHex("#009345"), clrBE = Color.FromHex("#F05824");         private Button RenderBtn(string txt, int btnHeight = 1, int btnHwidth = 110)         {             return new Button              {                 Width = btnHwidth,                 Height = 20 * btnHeight,                 Margin = 2,                 Text = txt,                 ForegroundColor = Color.Snow,                 FontWeight = FontWeight.Light,                 FontSize = 10,                 FontFamily = "Arial"             };         }         protected override void Initialize()         {             RefreshData();             H1_brs = MarketData.GetBars(TimeFrame.Hour);             H4_brs = MarketData.GetBars(TimeFrame.Hour4);             D1_brs = MarketData.GetBars(TimeFrame.Daily);             D3_brs = MarketData.GetBars(TimeFrame.Day3);             while (H1_brs.OpenTimes[0] > Bars.OpenTimes[0])                 H1_brs.LoadMoreHistory();             while (H4_brs.OpenTimes[0] > Bars.OpenTimes[0])                 H4_brs.LoadMoreHistory();             D3_mco = Indicators.MacdCrossOver(D3_brs.ClosePrices, D3_L_S_Sig.GV(0), D3_L_S_Sig.GV(1), D3_L_S_Sig.GV(2));             D1_mco = Indicators.MacdCrossOver(D1_brs.ClosePrices, D1_L_S_Sig.GV(0), D1_L_S_Sig.GV(1), D1_L_S_Sig.GV(2));             H4_mco = Indicators.MacdCrossOver(H4_brs.ClosePrices, H4_L_S_Sig.GV(0), H4_L_S_Sig.GV(1), H4_L_S_Sig.GV(2));             H1_mco = Indicators.MacdCrossOver(H1_brs.ClosePrices, H1_L_S_Sig.GV(0), H1_L_S_Sig.GV(1), H1_L_S_Sig.GV(2));             D3_sto = Indicators.StochasticOscillator(D3_brs, D3_kP_kS_dP.GV(0), D3_kP_kS_dP.GV(1), D3_kP_kS_dP.GV(2), MovingAverageType.Simple);             D1_sto = Indicators.StochasticOscillator(D1_brs, D1_kP_kS_dP.GV(0), D1_kP_kS_dP.GV(1), D1_kP_kS_dP.GV(2), MovingAverageType.Simple);             H4_sto = Indicators.StochasticOscillator(H4_brs, H4_kP_kS_dP.GV(0), H4_kP_kS_dP.GV(1), H4_kP_kS_dP.GV(2), MovingAverageType.Simple);             H1_sto = Indicators.StochasticOscillator(H1_brs, H1_kP_kS_dP.GV(0), H1_kP_kS_dP.GV(1), H1_kP_kS_dP.GV(2), MovingAverageType.Simple);             const int half = 55;             var hdr_St = RenderBtn("Stoc", 1, half);             var hdr_Md = RenderBtn("Macd", 1, half);             btnD3_sto = RenderBtn("D3", 1, half);             btnD3_mco = RenderBtn("D3", 1, half);             btnD1_sto = RenderBtn("D1", 1, half);             btnD1_mco = RenderBtn("D1", 1, half);             btnH4_sto = RenderBtn("H4", 1, half);             btnH4_mco = RenderBtn("H4", 1, half);             btnH1_sto = RenderBtn("H1", 1, half);             btnH1_mco = RenderBtn("H1", 1, half);             btnMicro = RenderBtn("Micro-trend", 2, 116);             btnMacro = RenderBtn("Macro-trend", 2, 116);             var d3_Hd = new WrapPanel              {                 Orientation = Orientation.Horizontal             };             d3_Hd.AddChild(hdr_St);             d3_Hd.AddChild(hdr_Md);             var d3_Wp = new WrapPanel              {                 Orientation = Orientation.Horizontal             };             d3_Wp.AddChild(btnD3_sto);             d3_Wp.AddChild(btnD3_mco);             var d1_Wp = new WrapPanel              {                 Orientation = Orientation.Horizontal             };             d1_Wp.AddChild(btnD1_sto);             d1_Wp.AddChild(btnD1_mco);             var h4_Wp = new WrapPanel              {                 Orientation = Orientation.Horizontal             };             h4_Wp.AddChild(btnH4_sto);             h4_Wp.AddChild(btnH4_mco);             var h1_Wp = new WrapPanel              {                 Orientation = Orientation.Horizontal             };             h1_Wp.AddChild(btnH1_sto);             h1_Wp.AddChild(btnH1_mco);             var vSpacer = 2;             var sp = new StackPanel              {                 VerticalAlignment = DB_Vert_Posn,                 HorizontalAlignment = DB_Horz_Posn             };             sp.AddChild(d3_Hd);             sp.AddChild(d3_Wp);             sp.AddChild(d1_Wp);             sp.AddChild(h4_Wp);             sp.AddChild(h1_Wp);             sp.AddChild(new TextBlock              {                 Height = vSpacer             });             sp.AddChild(btnMacro);             sp.AddChild(new TextBlock              {                 Height = vSpacer             });             sp.AddChild(btnMicro);             var bdr = new Border              {                 CornerRadius = 8,                 Padding = "6 4",                 BorderColor = Color.DimGray,                 BackgroundColor = Color.White,                 //"#aa3b3b3b",                 BorderThickness = 1,                 Child = sp,                 Height = 224,                 Width = 136             };             this.Chart.AddControl(bdr);         }         public override void Calculate(int index)         {             const int BU = 1, BE = -1;             var d3_stoBU = D3_sto.Dir(BU, index, Bars, D3_brs);             var d3_stoBE = D3_sto.Dir(BE, index, Bars, D3_brs);             btnD3_sto.BackgroundColor = d3_stoBU ? clrBU : d3_stoBE ? clrBE : Color.DarkGray;             var d1_stoBU = D1_sto.Dir(BU, index, Bars, D1_brs);             var d1_stoBE = D1_sto.Dir(BE, index, Bars, D1_brs);             btnD1_sto.BackgroundColor = d1_stoBU ? clrBU : d1_stoBE ? clrBE : Color.DarkGray;             var h4_stoBU = H4_sto.Dir(BU, index, Bars, H4_brs);             var h4_stoBE = H4_sto.Dir(BE, index, Bars, H4_brs);             btnH4_sto.BackgroundColor = h4_stoBU ? clrBU : h4_stoBE ? clrBE : Color.DarkGray;             var h1_stoBU = H1_sto.Dir(BU, index, Bars, H1_brs);             var h1_stoBE = H1_sto.Dir(BE, index, Bars, H1_brs);             btnH1_sto.BackgroundColor = h1_stoBU ? clrBU : h1_stoBE ? clrBE : Color.DarkGray;             var d3_macd_BU = D3_mco.Dir(BU, index, Bars, D3_brs);             var d3_macd_BE = D3_mco.Dir(BE, index, Bars, D3_brs);             btnD3_mco.BackgroundColor = d3_macd_BU ? clrBU : d3_macd_BE ? clrBE : Color.DarkGray;             var d1_macd_BU = D1_mco.Dir(BU, index, Bars, D1_brs);             var d1_macd_BE = D1_mco.Dir(BE, index, Bars, D1_brs);             btnD1_mco.BackgroundColor = d1_macd_BU ? clrBU : d1_macd_BE ? clrBE : Color.DarkGray;             var h4_macd_BU = H4_mco.Dir(BU, index, Bars, H4_brs);             var h4_macd_BE = H4_mco.Dir(BE, index, Bars, H4_brs);             btnH4_mco.BackgroundColor = h4_macd_BU ? clrBU : h4_macd_BE ? clrBE : Color.DarkGray;             var h1_macd_BU = H1_mco.Dir(BU, index, Bars, H1_brs);             var h1_macd_BE = H1_mco.Dir(BE, index, Bars, H1_brs);             btnH1_mco.BackgroundColor = h1_macd_BU ? clrBU : h1_macd_BE ? clrBE : Color.DarkGray;             var macBU = (!d3_macd_BE && d1_macd_BU) && (d3_macd_BU && !d1_macd_BE);             var macBE = (!d3_macd_BU && d1_macd_BE) && (d3_macd_BE && !d1_macd_BU);             btnMacro.BackgroundColor = macBU ? clrBU : macBE ? clrBE : Color.DarkGray;             btnMicro.BackgroundColor = ((h1_macd_BU && !h1_macd_BE) || (!h1_macd_BE && h1_macd_BU)) ? clrBU : ((h1_macd_BE && !h1_macd_BU) || (!h1_macd_BU && h1_macd_BE)) ? clrBE : Color.DarkGray;         }     } }
KF_Mtf_SslChannels_v2
  5
  0
  137
free  09 Nov 2022
Gives you the ability to add up to 4 SSL channels of any timeframe onto the current chart Makes life easier - Enjoy!!!  
KF_Mtf_Channels_v5
  4
  0
  106
free  09 Nov 2022
For those of us who utilise price channels on our charts, this indicator makes life easier  You can add up to 4 moving average channels of (different timeframes) super-imposed onto the current chart 
KF_Mtf_Ghls_v4
  6
  0
  57
free  09 Nov 2022
For those of us who use GannHilos on the chart. This indicator simplifies your life by providing the ability to add up to 4 GannHilos of ANY timeframe onto the current chart. Very very usefull - Enjoy !!!
paid  04 Nov 2022
Good morning, I propose these two very famous (and in my opinion very useful) indicators, for the ctrader desktop platform, keeping both indicators in the same range of the chart, so that you can gain space to keep the price of the underlying asset in the foreground. Attached are the explanatory images of the indicator. simonaggioriccardo@gmail.com Telegram: simonaggioriccardo Tel: +39 3283470121 to download the code, make a donation and write to the email or telegram indicated here! Paypal: http://paypal.me/simonaggior?country.x=IT&locale.x=it_IT  
by mfejza
free  27 Oct 2022
This is a hybrid version of Stochastic Oscillator
by mfejza
free  27 Oct 2022
DiNapoli MACD indicator is a zone and trigger trading oscillator, developed based on tradition MACD. In this version you should trade when the cross happen above the zero level for long trades (macd[0]>signal[0] & macd[1]<signal[1] & signal[0]>0), and when the cross happen below the zero level for short trades (macd[0]<signal[0] & macd[1]>signal[1] & signal[0]<0) In upper timeframes the same signal conditions you can use as a trade zone. The following picture shows two cases of buying and selling triggers
free  25 Oct 2022
This is a simple Indicator based on two Moving Averages, base on Close Price  when two moving average crossover the sound you selected will be played and uparrow/downarrow  icons displayed
free  25 Oct 2022
This is a simple Indicator based on two Moving Averages, that you can choose between many of them made available natively from Ctrader. The Indicator changes the colors of the Clouds depending on the Trend and it paints the Candles as well based on the Trend. There was a little error in my code, and i just uploaded it without noticing it. The indicator was asked from some members our group and i did it fast without having a better look into it. Here please delete the old one and install this one.   Grupo CTrader em Portugues -->>  https://t.me/ComunidadeCtrader Grupo CTrader en Español para Latinos:  http://t.me/ComunidadCtrader  
free  25 Oct 2022
This is a simple Donchian Channel that paints the candles with colors based on the trend and channel area.   Grupo CTrader em Portugues -->>  https://t.me/ComunidadeCtrader Grupo CTrader en Español para Latinos:  http://t.me/ComunidadCtrader