STRATEGY TESTER ENGINE - ON CHART DISPLAY - PLUG & PLAYSo i had this idea while ago when @alexgrover published a script and dropped a nugget in between which replicates the result of strategy tester on chart as an indicator.
So it seemed fair to use one of his strategy to display the results.
This strategy tester can now be used in replay mode like an indicator and you can see what happen at a particular section of the chart which was is not possible in default strategy tester results of TV.
Please read how each result is calculated so you will know what you are using.
This engine shows most common results of strategy tester in a single screen, which are as follows:
1. Starting Capital
2. Current Profit Percentage
3. Max Profit Percentage
4. Gross Profit
5. Gross Loss
6. Total Closed Trades
7. Total Trades Won
8. Total Trades Lost
9. Percentage Profitable
10. Profit Factor
11. Current Drawdown
12. Max Drawdown
13. Liquidation
So elaborating on what is what:
1. Starting Capital - This stays 0, which signifies your starting balance as 0%. It is set to 0 so we can compare all other results without any change in variables. If set to 100, then all the results will be increased by 100. Some users might find it useful to set it to 100, then they can change code on line 41 from to and it should show starting balance as 100%.
2. Current Profit Percentage - This shows your current profit adjusted to current price of the candle, not like TV which shows after candle is close. There is a comment on the line 38 which can be removed and your can see unrealized profit as well in this section. Please note that this will affect Draw-down calculations later in this section.
3. Max Profit Percentage - This will show you your max profit achieved during your strategy run, which was not possible yet to see via strategy tester. So, now you can see how much profit was achieved by your strategy during the run and you can compare it with chart to see what happens during bull-run or bear-run, so you can further optimize your strategy to best suit your desired results.
4. Gross Profit - This is total percentage of profit your strategy achieved during entire run as if you never had any losses.
5. Gross Loss - This is total percentage of loss your strategy achieved during entire run as if you never had any profits.
6. Total Closed Trades - This is total number of trades that your strategy has executed so far.
7. Total Trades Won - This is the total number of trades that your strategy has executed that resulted in positive increase in equity.
8. Totals Trades Lost - This is the total number of trades that your strategy has executed that resulted in decrease in equity.
9. Percentage Profitable - This is the ratio between your current total winning trades divided by total closed trades, and finally multiplied by 100 to get percentage results.
10. Profit Factor - This is the ratio between Gross Profit and Gross Loss, so if profit factor is 2, then it indicates that you are set to gain 2 times per your risk per trade on average when total trades are executed.
11. Current Drawdown - This is important section and i want you to read this carefully. Here draw-down is calculated very differently than what TV shows. TV has access to candle data and calculates draw-down accordingly as per number of trades closed, but here DD is calculated as difference between max profit achieved and current profit. This way you can see how much percentage you are down from max peak of equity at current point in time. You can do back-test of the data and see when peak was achieved and how much your strategy did a draw-down candle by candle.
12. Max Drawdown - This is also calculated differently same as above, current draw-down. Here you can see how much max DD your strategy did from a peak profit of equity. This is not set as max profit percentage is set because you will see single number on display, while idea is to keep it custom. I will explain.
So lets say, your max DD on TV is 30%. Here this is of no use to see Max DD , as some people might want to see what was there max DD 1000 candles back or 10 candle back. So this will show you your max DD from the data you select. TV shows 25000 candle data in a chart if you go back, you can set the counter to 24999 and it will show you max DD as shown on TV, but if you want custom section to show max DD , it is now possible which was not possible before.
Also, now let's say you put DD as 24999 and open a chart of an asset that was listed 1 week ago, now on 1H chart max DD will never show up until you reach 24999 candle in data history, but with this you can now enter a manual number and see the data.
13. Liquidation - This is an interesting feature, so now when your equity balance is less than 0 and your draw-down goes to -100, it will show you where and at what point in time you got liquidated by adding a red background color in the entire section. This is the most fun part of this script, while you can only see max DD on TV.
------------------------------------------------------------------------------
How to Use -
1 word, plug and play. Yes. Actual codes start from line 33.
select overlay=false or remove it from the title in your strategy on first line,
Just copy the codes from line 33 to 103,
then go to end section of your strategy and paste the entire code from line 33 to line 103,
see if you have any duplicate variable, edit it,
Add to chart.
What you see above is very contracted view. Here is how it looks when zoomed in.
imgur.com
----------------------------------------------------------------------------------
Feel free to edit and share and use. If you use it in your scripts, drop me tag. Cheers.
Strategytesting
365 Day High Breakout StrategySCRIPT NOTES
- Strategy consists of 3 parameters :-
1. BUY on 365 day breakout (250 days taken in back-testing instead of 365 days considering weekends and other holidays in a year)
2. Moving averages (Noise Filtering condition )
3. RELATIVE STRENTH indicator (Original Author - tradingview.com ) (Noise Filtering condition )
- Strategy works better on low volatile stocks.
- This strategy is for self improvement and concept sharing purpose only.
- Trading (including profit/loss) using this strategy is completely user's responsibility.
Two Take Profits and Two Stop LossThis script is for research purposes only. I am not a financial advisor.
Entry Condition
This strategy is based on two take profit targets, two stop loss, and scaling out strategy. The entry rule is very simple. Whenever the EMA crossover WMA, the long trade is taken and vice versa.
Take Profit and Stop Loss
The first take profit is set at 20 pips above the long entry and the second take profit is set at 40 pips above the long entry. Meanwhile, the first stop loss is set at 20 pips below the long entry and the second stop loss is set at the long entry.
Money Management
When the first take profit is achieved, half of the position is closed and the first stop loss is moved to the entry-level. The rest of the position is open to achieve either second take profit or second stop loss.
There are three outcomes when using this strategy. Let's say you enter the trade with 200 lot size and you are risking 2% of your equity.
1. The first outcome is when the price hits stop loss, you lose the entire 2%.
2. The second outcome is when the price hits the first take profit and you close half of your position. Meaning that you have gained 1%. Then you let the trade running and eventually it hits the second stop loss. Remember your first stop loss has changed to the second stop loss when the first take profit is achieved. The total loss is 0% because the price is at your entry-level. You have gained the earlier 1% and then lost 0%. At this point, you are at 1% gained.
3. The third outcome is similar to the second out but instead of hitting the second stop loss, the trade is running to your favor and hits the second take profit.
Therefore, you gained 1% from the first take profit and you gained another 2% for the second take profit. Your total gained is 3%
Summary
The reason behind this strategy is to minimize risk. with normal strategy, you only have two outcomes which are either win or loss. With this strategy, you have three outcomes which win 3%, win 1%, or loss 2%.
This is my similar strategy but with single stop loss
[CP]6 EMA Multi Timeframe InceptionA collection of 6 EMAs.
Each EMA can be attached to a different timeframe and have a different offset.
Great for building strategies that combine EMAs from different timeframes.
Hull Suite StrategyConverted the hull suite into a strategy script for easy backtesting and added ability to specify a time periods to backtest over.
WMX Williams Fractals strategy V4There are some magic numbers out there! Guys, Check this out!
if you like it please support me with a like or leave your comments below
CCI strategy on OIL1HThis indicator is based on Commodity Channel Index.
It buys when CCI on period 200 is under -130 and it´s rising last 12 bars. It closes the position by hitting Take Profit, Stop Loss or opening short position.
It sells when CCI on period 200 is over 130 and it´s falling last 12 bars. It closes the position by hitting Take Profit, Stop Loss or opening short position.
This strategy seems to working just on USOIL on 1 hour chart. This can predict that it´s just luck and not proper strategy or indicator I would use for trading.
This script is just for educational purposes and that´s why the script is open. I will be happy if you will leave comment and try to come up with some ideas how to improve this strategy, so it can be used also on other commodities/forex pairs.
Strategy VS Buy & HoldSUMMARY:
A strategy wrapper that makes a detailed and visual comparison between a given strategy and the buy & hold returns of the traded security.
DESCRIPTION:
TradingView has a "Buy & Hold Return" metric in the strategy tester that is often enough to assess how our strategy compares to a simple buy hold. However, one may want more information on how and when your strategy beats or is beaten by a simple buy & hold strategy. This script aims to show such detail by providing a more comprehensive metrics and charting the profit/loss of the given strategy against buy & hold.
As seen in the script, it plots/draws 4 elements:
1) Strategy P/L: strategy net profit + strategy open profit
2) Buy & Hold P/L: unrealized return
3) Difference: Strategy P/L - Buy & Hold P/L
4) Strategy vs Buy Hold Stats
> Percent of bars strategy P/L is above Buy & Hold
> Percent of bars strategy P/L is below Buy & Hold
> All Time Average Difference
ADJUSTABLE PARAMETERS:
All labels/panels can be disabled by unchecking these two options:
>bnh_info_panel = input(true, title='Enable Info Panel')
>bnh_indicator_panel = input(true, title='Enable Indicator Panel')
Comparison Date Range can be changed to better isolate specific areas:
>From Year, From Month, From Day
default: 1970 01 01
>To Year, To Month, To Day
default: 2050 12 31
Default settings basically covers all historical data.
HOW TO USE:
The default script contains a simple 50-200 SMA cross strategy, just delete and replace it. Those are everything between these lines:
/////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////STRATEGY SCRIPT START//////////////////////////////////
(STRATEGY SCRIPT GOES HERE)
//////////////////////////////STRATEGY SCRIPT END////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
Removing all plots and drawings from your strategy is advisable.
If you are going to use the Comparison Date Range, apply "bnh_timeCond" to your strategy to align the dates. A sample on how it’s applied can be seen on the Placeholder MA cross strategy.
Note: bnh_timeCond returns a boolean series
TradersAI_UTBotCREDITS to @HPotter for the orginal code.
CREDITS to @Yo_adriiiiaan for recently publishing the UT Bot study based on the original code -
I just added some simple code to turn it into a strategy. Now, anyone can simply add the strategy to their chart to see the backtesting results!
While @Yo_adriiiiaan mentions it works best on a 4-hour timeframe or above, I am happy to share that this seems to be working on a 15-minute chart on e-mini S&P 500 Index (using the KeyValue setting at 10)! You can play around with the different settings, and may be you might discover even better settings.
Hope this helps. Btw, if any of you play with different settings and discover great settings for a specific instrument, please share them with the community here - it will be rewarded back multiple times!
REAL STRATEGY : Dow_Factor_MFI/RSI_DVOG_StrategyI'm actually one of those who think it's more important to extract clues from indicators than strategy, but I wanted to test the data about the probability and dow factor I've shared for a long time.
Usually, Bitcoin is used as an eye stain for strategy success, since the graph has increased significantly from the beginning.
To prevent this, I used a commission and in the last lines of document I shared Bitmex's Bitcoin and Ethereum 1W test results.
I don't think there's a factor to repaint. ( Warn me if u see or observe )
I considered Bitcoin because I found working with liquid parities much more realistic.
Ethereum and Bitmex have been featured as a spot and may soon find a place at the CME , so I've evaluated the Ethereum .
But since the Ethereum Bitmex was also spot new, I deleted results that were less than 10 closed trades.
Since the Dow Theory also looks at the harmony in the indices, just try it in the Cryptocurrency market.
Use as indicator in other markets. Support with channels, trend lines with big periods and other supportive indicators.
And my personal suggestion : Use this script and indicator TF : 4H and above.
Specifications :
Commission. ( % 0.125 )
Switchable Methods ( Relative Strength Index / Money Flow Index )
Alarms. (Buy / Sell )
Position closure when horizontal market rates weighs.
Progressive gradual buy/sell alarms.
Clean code layout that will not cause repaint. (Caution : source = close )
Switchable barcolor option (I / 0 )
*****Test results :*****
drive.google.com
Summary:
It was a realistic test.
It has achieved great success in some markets, but as I mentioned earlier, use it only to gain insight into the price movements of cryptos.
Use as indicator in other markets.
This code is open source under the MIT license. If you have any improvements or corrections to suggest, please send me a pull request via the github repository : github.com
Stay tuned ! Noldo.