Backtester Suite (Plug & Play)
The amazing benefits of our Plug & Play
Solution #1 : YOU COULD BE SAVING A TON OF MONEY
We will never guarantee your success on the market, but THIS we stands by it any day any hour.
You can connect any indicator or your choice by updating your indicator slightly, and connecting to our Backtest engine.
Solution #2 : SAVING TIME MIGHT EQUATES TO SAVING MONEY
We wish it could be as easy as going from weeks of coding to 1 single click :)
We did the heavy-lifting, but you'll have to make the last effort the cross the finishing line.
We made it easy for you to play with it, and find a configuration that makes sense to YOU, and for your strategy/asset/timeframe
Having a different configuration per asset/timeframe is totally normal
Solution #3 : WE MADE IT EASY AND FUN.
Best Trading Indicator has the goal to externalize the
technical stuff that you don't want to take care of - so that our customers can finally focus on their trading, and optimizing their ideas.
In case you're wondering, no we're not reading your mind :), but we're also traders who didn't know how to code before, and had to hire external programmers to do the heavy work for us.
You can be sure that most of the frustrations (trading, technical, ...) you have/had, we had them also, and that's why we created Best Trading Indicator™
Our Plug & Play feature and TradingView
The user input fields
Here you'll need to insert the access key you received by email (within 2 business days after the date of order) This key has been generated for you according to your subscription package, and have a specific expiration date included in it.
If the key inserted is incorrect or expired, the indicator displays an orange label inviting you to subscribe again
Connect your own external indicator to the Backtest
On the left screenshot, we're showing how to connect your Algorithm Builder to our Backtest engine, but the process is exactly the same for any other indicator.
Our subscribers will receive the tutorial for updating their indicator quickly, and then connect it to our Backtest Engine.
For the Algorithm Builders, you won't have anything to do - this is already included.
This is not magic, neither is sorcery, but certainly is way beyond the most remarkable technical trading tool we've ever developed on TradingView (even across all brokers we know).
Unconnect/Hide your Backtest Engine
To unconnect or hide your backtest, you have 2 possible ways :
1) Next to Entry Sytem, select None 2) Or click on the 👁️🗨️ (eye icon) next to the Backtest indicator name on your chart.
Display the Backtest entries/exits/Take Profits and Stop Loss levels
Now we're getting right into the fun stuff.
Let's explore briefly each display option (symbolized by a 👁️🗨️ in the Backtest UI) :
- Color Traded Background : Color the chart background in green when in a BUY trade, in red when in a SELL trade. If the Backtest is not in a trade, then the background won't be colored.
- Show Entry/Exit Markers : Displays the entries (Enter Long/Enter Short), and exits (Exit Long/Exit Short) labels.
- Show Entry Level : Displays a blue level line to easily identify the entry price of a trade.
- Show Take Profit Level : Display a purple line to visualize where the Take Profit level is (we'll explain below how to set it up).
- The orange lines on the left screenshot are the stop-loss levels. We're going to explain how to set them a bit further down also.
↑ Trade Direction ↓
- Both : The backtest takes the BUY, and SELL trades.
- Longs only/Short only : To be used if the trader wants to take the trades in a unique direction only
- Pyramiding is Allowed :
1. On same entry - Allows multiple positions at the same candle
2. On different entry - Allows multiple positions at different candle only
3. At every opportunity
As an example, the Algorithm Builders only enter once per candle so options 2. or 3. works better with those indicators - other indicators (and certain conditions) would perhaps require the 1. option
- Maximum Number of Pyramiding Entries : The max number of re-entries in the same trend. For instance if set to 2, then depending on the signals, you'll get at most 2 re-entries in the same trade direction.
- Position Size Multiple of Original Entry Position : Option to add X multiples of the original position size for the re-entries.
Example: Position size multiple = 2, and First entry size is $100. Then, the re-entries position sizes will be ($100 X 2 = $200).
▄ █ Position sizing █ ▄
- 1. % of Equity : If selected, the position size used is the input to the right of 1. % of Equity.
Example: The trader starts with a capital of 100K. After a winning trade, your total capital is $103K - for the next trade the position size will be 3% of $103K
- 2. % of Capital : If selected, the position size used is the input to the right of 2. % of Capital.
In other words, the position size will always be the same position size as calculated on the initial capital.
Example: The trader starts with a capital of 100K. After a winning trade, your total capital is $103K - for the next trade the position size will be 5% of $100K. (As 100K is the initial capital used in our dummy example)
⛔ Show Entry Stops ⛔
The trader should link the entry-stop loss type, and the inputs using the reference number ID (1, 2, 3). On the left image, if the trader selects 3. Supertrend, he/she only needs to update the input fields related to the 3. reference number.
The Entry Stop-loss can be set using either a :
1. Fixed percentage value. If selected, sets the entry stop-loss X% away from the entry price.
2. Fixed value. If selected, sets the entry stop-loss X units away from the entry price. On the left screenshot, and assuming the backtest is applied on BTC/USD, it sets the stop-loss 40 USD away from the entry-price.
3. Supertrend. We're known on TradingView of our Supertrend scripts, and we think it's a great tool to be used as a trailing stop (again not a financial advise).
⛔ Show In-Trade Stops ⛔
The trader should link the In-trade-stop loss type, and the inputs using the reference number ID (1, 2). On the left image, if the trader selects 3. Supertrend, the backtest uses the Supertrend defined at the previous Entry stop-loss step .
The In-Trade Stop-loss will trail the stop-loss value from the entry stop-loss level.
The options are:
0. None. If selected, there won't be any trailing applied to Entry stop-loss, and the SL value will stay set at the Entry SL level
1. Trailing at %. If selected, will trail the stop-loss from the Entry SL level using the percentage value next to the label 1..
2. Trailing at value. If selected, will trail the stop-loss from the Entry SL level using the units value next to the label 2..
3. Supertrend. If selected, will trail the stop-loss from the Entry SL level using the Supertrend defined at the step before.
We know it's a lot to digest ..., but hopefully the tutorial videos help speeding up your learning curve.
❌ Hard Exits ❌
❌ Hard Exits - MACD ❌
On the left image, we use a MACD 20/50/50 as a dummy example.
Rule #1: A trader must keep using his/her logic : If enabled, the hard exit MACD has to make sense with your indicator signals. For example, if a trader uses entries based on a MACD 12/26/9, but invalidates using a MACD 20/50/50 - what do you think will happen ?
Answer: Probably nothing sensible because the hard-exit MACD 20/50/50 is more significant than the entries given by the MACD 12/26/9.
Without going any further into this edge case, our point is : the feature works if it has been thought of to exit a trade before a SL gets hit.
Rule #2: Must be used to reduce your losses - not your wins
A MACD is a momentum indicator - meaning when there is a decrease in the
trend strength/velocity, the MACD will drop, and might turns negative - When in a LONG trend, this is a valuable input as it alerts the trader the trend might goes south (perhaps a time to move up the SL and take a bit of profits or closing the trade if not already with a positive balance on that trade).
- We can see on the left image, (once again, this is only an example and not a general rule) - that the Hard Exit MACD 20/50/50 allowed the trader to exit his/her LONG position with a better exit compared to a stop-loss based on this Supertrend.
- However, on the right part of the image, it exits the SHORT position way too soon.
There the example is simple and we hid a lot of graphical elements to simplify. But we think you got our point.
That's precisely why we cannot recommend a specific value for any indicator - here a MACD 20/50/50
could work overtime if combined with a good configuration/money/risk management etc.
❌ Hard Exits - TREND DIRECTION ❌
This hard exit is based on my Trend Signal Indicator available as an open-source script.
This is an indicator used to detect whenever a higher high or lower low trendline (also called
oblique) is broken and a change of trend might occur.
❌ Hard Exits - RSI ❌
The 3. RSI exits a signal whenever a regular or hidden RSI divergence in the opposite direction of the trade will be detected.
In the left example, we see the backtest exits the SHORT because a Regular RSI divergence invalidated the trend.
If you're looking to display those R(egular) and H(idden) small labels, I recommend that RSI divergence detector script from my great friend Ricardo Santos
💲💲 Take Profit 💲💲
We only included 1 level of Take Profit so far. We'll work on adding at least one more soon.
You can set your Take Profit level based on either a 1- Fixed value or on a 2 - Percentage value
📆 Date Range Filtering 📆
If enabled, the backtest only uses the data between the starting and the ending dates.
Using the example from the left image, we see that no trade is used by the backtest engine before Sept 1st, 2019.
⏱️ Hourly Range Filtering ⏱️
Put limits the backtesting to a delimited starting and ending time.
❗❗ Fees and Slippage ❗❗
Too often entirely ignored by many traders, the fees can eat gains out quickly/deepen one's capital faster than expected.
⚠️The fees vary between brokers and asset traded - it could be recommended to check on your broker page what are the fees for the asset on your chart and insert that percentage number.
You'll likely find the entry spread fee only available publicly - but the exit slippage is often hidden (for reasons that I won't explain in this guide, but likely later in another one ^^).
Another cost ignored even more is the Slippage. Brokers aren't always our friends and they might be trying to steal a trader capital with silly ways - i.e. think about a Stop-Loss being hit and we're so confused because we see on the chart that NEVER the price came even close to your SL level, but... it got hit anyway.
Yes! We know how frustrating it is, but that's the game we're playing and trading should never be about blaming the game, but only blaming the players/traders/ourselves.
Blaming the game always is likely to not end with excellent performance results, but accounting for this "risk" and being able to quantify it is an incredible hedge.
🔔 Alerts 🔔
You'll have to create 1 alert per event (buy or sell) per asset (BTC, DOW, APPL, ...) per timeframe (m5, m15, ...).
For instance, if you add your [BTI] Backtest to your chart. You could create 4 alerts:
1. Entry Long
2. Entry Short
3. Exit Long
4. Exit Short
Depending on your TradingView subscription type, you might receive the alerts by email and by SMS
Same principle as explained above. We enabled the alerts on the re-entries and the hard exits.
You're welcome :)
🔔 Dynamic Alerts and TradingView automation 🔔
Here are the list of third-parties capturing TradingView alerts and forwarding them to many CFD/Crypto/Stocks brokers.
The process to connect the Algorithm Builder entries/exits signals to those systems is fairly easy.
You'll find more insight to make your alerts compatible with those systems here.
Data Window : how to visualize the results
✔️Now the cherry on the cake if we might say so. A backtest is cool, but visualize results is the end goal here.
The Data Window is dynamic - it means whenever you'll mouseover at a give time on your chart, the data on that panel get automatically updated.
Let's assume you're backtesting your idea between Sept 1st, 2019 and Oct 1st 2019.
If your mouse cursor is located (or hovered) at a candle on Sept 14th, 2019 (data chosen randomly for this example), then the data displayed only include the results between Sept 1st and Sept 14th.
The video gives a beautiful demonstration of how it works.
We explained in the video (very top of this page) how to use it, but you'll find below some brief explanations for how to access the results and to interpret them.
Without going into too many details, let's review a few major metrics :
-Average Profitability Per Trade (RISK): (APPT) This value is inspired by the @Pinecoders account on TradingView and is fundamental to evaluate a stategy performance. It represents the returns that can be expected from your strategy for each unit of risk incurred. Example: your APPT (also called average risk-to-reward ratio) is 2.0, thus for every unit of currency you invest in a trade, you can on average expect to obtain 2 after the trade. If it is negative, your strategy is losing, even if your win rate is outstanding (it means your winning trades aren’t winning enough, or your losing trades lose too much, or both).
-Profit Factor: Gross of winning trades/Gross of losing trades. The trading strategy is profitable when > 1. Not as useful as the APPT because it doesn’t take into account the win rate and the average win/loss per trade. It is calculated from the total winning/losing results of this particular backtest and has less predictive value than the APPT. A good profit factor together with a poor APPT means you just found a chart where your system outperformed (=> not a good result).
-Win Rate: Percentage of winning trades out of all trades. Taken alone, it's not useful. A trader can have a win rate of 99%, but 1 trade only could ruin him/her because of poor risk management. It can be useful to gauge if the system fits your personality.
-Equity (curr): This the sum of initial capital and the P&L of your system’s trades, including fees and slippage.
Return on Capital is the equivalent of TradingView’s Net Profit figure, i.e. the variation on your initial capital. Maximum drawdown is the maximal drawdown from the highest equity point until the drop.