ClickAlgo Switchback Indices

by Paul_Hayes in category Trend at 05/09/2016

This cTrader cBot uses a comprehensive Smart-Grid Strategy that is based on Multi-Time-Frame trending indicators with 25 combinations together with Advanced Risk Management. It uses a customized version of the popular DiNapoli Stochastic RSI and Hull Moving Average HMA indicators. This strategy is designed for low risk and low drawdown trading with realistic profits.

This is a trend strategy with a lot of risk management built in, it works on 5 different time-frames using two very popular trend indicators a custom Hull Moving Average and a custom DiNapoli stochastic which has a feature to check the curve of the signal line.


The core of the trading logic uses a smart-grid strategy which will open long positions at intervals when the price reverses, this on its own gives very good results, but suffers from excessive draw-downs. To reduce the draw-downs this robot has multi-time-frame trend indicators.



You can have a combination of up to 5 DiNapoli Stochastic indicators all with different time-frames and 5 HMA indicators also with 5 different time-frames. So in total you can have 25 combinations of indicator's and time-frames.

As the robot uses many time-frames a normal configuration would be:

cTrader cBot Multi-Timeframe


There are also the Simple Moving Average and Exponential Moving Average indicators included in the strategy all with configurable time-frames.

MARKETS CHANGE: We have found that for a given instrument the markets changes in cycles, so the combinations for the multi-time-frame indicators will need to be adjusted on each cycle.


This strategy has a rich selection of risk management as shown below:

cTrader Switchback Risk Management


With the integration of a trading hours feature you can select when you wish the robot to trade for you, each instrument may vary, you can avoid periods when the volatility is very high. Switchback offers you the option to set your daily start and end times.

cTrader Switchback Trading Hours


The robot will also notify you via email when a new position opens and when an open position is (x) pips in the red.

ctrader switchback notifications


Some advanced logic is available to close positions when the DINapoli Stochastic RSI is oversold or overbought, you can set any time frame you wish, it does not have to be same as chart.


Integration with the News Release Manager cBot will allow SwitchBack Alpha to pause trading and even close positions a configurable (x) minutes before the news release starts and automatically re-starts trading a configurable (x) minutes after the news release. Email notifications will also be sent with full information about the news item.

cTrader News Release Manager cBot

Smooth Curve Distance on DiNapoli Stochastic RSI

This is a major parameter to set with the cBot, it makes a huge difference to reduce the draw-down when back-testing, optimal value is 3, but it can be anywhere between 0-10.

Automated or Semi-Automated Trading

This strategy is perfect for semi-automated trading, you can go to sleep at night and know your positions are protected.

What Instruments Can I Use?

It will work on any instrument, but you need to change the settings to get the best results. Some instruments can give poor results no matter what parameter settings you use, it is best to avoid these and find one that gives good results.

This strategy works best with indices and shares where there is no commission, but also as good with Forex. If Forex is used then it is highly recommended to use the News Release Manager to protect against massive swings in price.

Example Back-Test Results

Recent Back-Test for #Swiss20 shows a 20% profit with 5.2% drawdown


Customers who purchased v2.0 of the Switchback cBot for Forex can download this version for free and will continue to get all future versions at no extra cost.


How to install
Warning! Executing the following cBot may result in loss of funds. Use it 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.
Formula / Source Code
Language: C#
Trading Platform: cAlgo
using System;
using cAlgo.API;
using cAlgo.API.Internals;
using cAlgo.API.Indicators;
using cAlgo.Indicators;
using System.Windows.Forms;
using System.Threading;

// To download the software please visit:

namespace cAlgo
    [Robot(TimeZone = TimeZones.UTC, AccessRights = AccessRights.FullAccess)]
    public class ClickAlgoSoftware : Robot
        [Parameter(DefaultValue = 0.0)]
        public double Parameter { get; set; }

        private static Mutex dialogMutex = new Mutex();
        private static bool dialogIsShownOnce = false;

        protected override void OnStart()

        protected override void OnTick()
            // Put your core logic here

        protected override void OnStop()
            // Put your deinitialization logic here

        public static void ShowDialogBox()

            if (dialogIsShownOnce)

            var ret = MessageBox.Show("It is not possible to download the software from the cTDN website.\nWould you like to visit us at where you can download it?", "Downloading...", MessageBoxButtons.YesNo, MessageBoxIcon.Information);

            if (ret == DialogResult.Yes)

            dialogIsShownOnce = true;


Serpico - September 07, 2016 @ 01:12

Thanks for sharing such a perfect Cbot

Never seen any robot with this ratios and winning rates. Will buy it for sure.



seanthemighty - September 08, 2016 @ 18:28

Hi Paul, with regards to identifying support and resistance, would you consider incorporating pivot points (such as this one for example, , whereby trades where the projected TP extend through an identified daily PP aren't taken, or down trend breaks a PP, short positions favoured, etc? its probably a bit more difficult than I'm imagining, but if reasonably doable, would be a great additional tool to strengthen the strategies possibly developed with the software.

Paul_Hayes - September 08, 2016 @ 19:55

Hi Sean,

Yes, if people leave comments on how to improve the robot, I will add these on the next release and existing customers who paid will get the upgrade free.

seanthemighty - September 10, 2016 @ 17:48

That's awesome, I am going to purchase, still playing about with trial version, optimisation and backtesting, just trying to get a feel for it. 

A couple of other things I thought might be useful, the trading hours parameter; it would be good if you could set multiple trading windows within the day, particularly if looking at 5m or lower timeframes. This is scalping territory and ideally you only want to trade the EU and NY open periods (so 8-11 and 1-4 GMT). This would ideally have the added benefit of reducing the optimisation time too.

Another thought I had was with regards to the news companion app, I think currently it requires loading a data file weekly? if it could connect directly to say dailyfx (can request their API key, but don't know if each instance would require it's own API, will circle back to this) and query the server at a user chosen time (daily, weekly, at X time). With regards to the API, might not need that if any of the forex calender services provide a widget for such data, could just create an instance of it locally and query that maybe?

I'm also thinking at the mo is if there is any way to use the above news release data to incorporate the 'pause for news' feature in backtesting and optimisation. We know when news has happened at least, and (purely to get a more accurate backtest result) have a function which disables trading for X time surrounding the any news item that occurs during said test. So this wouldn't be a live/forward test feature, just an additional parameter (to be switched off during live trading) for backtesting.

Final one (promise!) which I've noticed with a lot of cbots, is finding a good set of parameters, only to find they only work in a given market condition (so lets say a good set of parameters for a 15m timeframe, but when backtesting over a longer period, discovering they only work well in a daily downtrend, for example). What would be really good would being able to (as a user) save these overall trading parameters for a few different market conditions, and have the cbot run a few indicators at a higher timeframe for trend/market condition identification, and load/adjust the cbots parameters to match.

So, lets say I've found three good sets of trading logic, one for up trend, one for down and one for channeling. I set what the overall identification of these conditions these is in the bot, and it uses that to change all the parameters relative to the market? 

I realise that's a lot, just brainstorming really. Let me know any thoughts you have.


Sean :)

Paul_Hayes - September 12, 2016 @ 10:22

Hi Sean, Thank you for your comments, some good ideas. You can always load a whole months worth of news release data into the News Manager. 

I may be able to add the first feature you mentioned fairly soon, the others will be on a later release. Please feel from to PM me if you want to discuss further.

Paul_Hayes - September 12, 2016 @ 16:46

New update available:

When the volume was incorrect for the symbol the robot just returned no trades, it now displays an alert when the volume is bad informing you to enter the correct value for a given symbol.

Paul_Hayes - November 02, 2016 @ 16:58

New update available:

Various bug fixes reported from customers.

GS66 - November 15, 2016 @ 12:06

Hi, If I buy, will I get source code or not? I need also to add same options

GS66 - November 15, 2016 @ 13:39

Backtest on indices was really good. 29 Trades only two lost on Germany 30. Although the loss on Trump election was so big that the startegy ended in overall loss, if you use it with the news manager stopping the bot during central bank decisions, referendum, election, it looks to be very promising. Good work!

GS66 - November 15, 2016 @ 14:15

UK100 zero trade loss on 01/01 to 11 Nov:  


Paul_Hayes - November 19, 2016 @ 09:45

Hi GS66,

My appologies for not replying here sooner, but the website forum does not inform me when a message is posted here, you are better off contacting me direct at

The cBot is sold without source code, but if you want options added, please leave a comment on the forum here.

I plan to add an additional multi-timeframe indicator (MACD) plus configurable parameters for the RSI early December. Anybody who has purchased this software will get free upgrades.

Also thank you for your comments.


suradi - December 12, 2016 @ 07:14

Hi GS66 / Paul,

Were these backtests conducted on Tick data mode or open bars ?