Underworld Hunter Backtesting AlgorhitmThis strategy is built to prove the profitability of my Underworld Hunter indicator . It tests two different strategies. I won't be going into the calculation again since it is part of the original script. I just made a few adjustments.
First one is clearly visual. It plots slimmer twin-coloured lines now and has a different colour for every extreme level. Second is less obvious - I switched Relative Strength Index for Commodity Channel Index.
Extreme levels are as follows: green 100 -► 120, yellow 120 -► 140, orange 140 -► 160, red 160 -► 180 and purple above 180, I will have a special separate algorithm for testing optimal CCI levels someday, in this script, these values are only meant to help you with manual operations and do not influence results of the strategy in any way.
#Trending strategy
The trending strategy opens a position whenever the price leaves the bands and holds it until two consecutive bars are closed within the bands. The picture shows one winning position that hasn't yet been resulted. It also shows a few fakeouts. For this strategy, you want to keep the length below 110, the deviation should be below 2 and you probably want to play lower timeframes.
#Within the bands
The second strategy is pretty much the opposite. It opens a position when the price reaches outer bands and holds it until two consecutive bars are closed within the bands and current bar closes below previous bars low in case of long. It is working on hourly timeframes and you need higher length and deviation to succeed. The picture shows a few positions on EURUSD. Each of them is profitable but would be much higher if you closed it manually when it was time. You need to enable this strategy, which automatically disables the other one.
When using my script, you need to bear in mind that the first strategy doesn't detect optimal levels to close the price. A trend is often followed by a less volatile and boring correction which causes bands to shrink and lower your profits if you don't close manually as it will take longer till bands are reached.
On the other hand, second script literally has no stop-loss. As long as the price is outside the range, it will never close which will cause major drawdowns, unless you control the trade manually. CCI is here to help you with both.
I also recommend combining this with Market Profile (on TW, there is only Volume Profile, which can be used in a similar way) and trading day theory (trending with multiple distributions, trending day, normal day, a variation on a normal day, non-trending day or neutral day). Always keep in mind that it is up to traders to be profitable, indicators can support a good trader, but they will not fix a bad one.
Volatility
MTF Trailing SL Strategy [QuantNomad]This is a Multi-Timeframe version of my Trailing SL Strategy.
Few weeks ago I published Trailing SL Strategy. There I used only basic Trailing SL to enter positions.
It worked pretty well so I tried to work on it a bit. I thought what if you can use the same ATR TSL on different timeframes and combine them into one signal.
In this strategy you can use only ATR stops and choose 3 other higher timeframes in addition to your current timeframe.
You'll see Trailing SL plotted on the chart form all these timeframes.
Entry Long position if all 4 time-frames agree on long signal.
Exit Long positions when at least 2 time-frames disagree on long signal.
Entry to Short position if all 4 time-frames agree on Short signal.
Exit from Short positions when at least 2 time-frames disagree on Short signal.
Here is the link to my basic Trailing SL Strategy:
Rsi, Ema , Ma and Bollinger Bands for 1 min BtcusdtThis is for 1 min Btcusdt pair.
I am tring to find a way to catch %1 ups and downs.
Basicly it buys when rsi low and minute candle closes under ema,ma and lower bollinger band,
it sells when candle goes over upper bb,low ma, when rsi high.
It sells when rsi high ,candle closes over upper bb,over low ma and does the opposite when buying.
I know it's crowded but still tring to learn what to do ^^
I welcome any suggestions to improve.
It works better with shorts for now.
Don't buy with this !! You might lose big !
Full Candle Outside BB [Bishnu103]Bollinger band defines volatility range based on the current market condition. If a full candle is created outside BB then it is highly volatile and it may reverse to the mean, i.e. middle BB.
Buy - when a green candle is created below lower BB (alert candle) and price goes above high of it.
Buy SL - low of alert candle
Target 1 - middle band
Target 2- upper band
Sell - when a red candle is cerated above upper BB (alert candle) and price goes below low of it
Sell SL - high of alert candle
Target 1 - middle band
Target 2 - lower band
************************************************************************************************************************************************************************************
Disclaimer: This is in-progress strategy. I plan to work further and improve this. So please use this in the live market very carefully and based on your own risk factors.
************************************************************************************************************************************************************************************
Why is it ok to backtest on TradingView from now on!TradingView backtester has bad reputation. For a good reason - it was producing wrong results, and it was clear at first sight how bad they were.
But this has changed. Along with many other improvements in its PineScript coding capabilities, TradingView fixed important bug, which was the main reason for miscalculations. TradingView didn't really speak out about this fix, so let me try :)
Have a look at this short code of a swing trading strategy (PLEASE DON'T FOCUS ON BACKTEST RESULTS ATTACHED HERE - THEY DO NOT MATTER). Sometimes entry condition happens together with closing condition for the already ongoing trade. Example: the condition to close Long entry is the same as a condition to enter Short. And when these two aligned, not only a Long was closed and Short was entered (as intended), but also a second Short was entered, too!!! What's even worse, that second short was not controlled with closing conditions inside strategy.exit() function and it very often lead to losses exceeding whatever was declared in "loss=" parameter. This could not have worked well...
But HOORAY!!! - it has been fixed and won't happen anymore. So together with other improvements - TradingView's backtester and PineScript is now ok to work with on standard candlesticks :)
Yep, no need to code strategies and backtest them on other platforms anymore.
----------------
Having said the above, there are still some pitfalls remaining, which you need to be aware of and avoid:
Don't backtest on HeikenAshi, Renko, Kagi candlesticks. They were not invented with backtesting in mind. There are still using wrong price levels for entries and therefore producing always too good backtesting results. Only standard candlesticks are reliable to backtest on.
Don't use Trailing Stop in your code. TradingView operates only on closed candlesticks, not on tick data and because of that, backtester will always assume price has first reached its favourable extreme (so 'high' when you are in Long trade and 'low' when you are in Short trade) before it starts to pull back. Which is rarely the truth in reality. Therefore strategies using Trailing Stop are also producing too good backtesting results. It is especially well visible on higher timeframe strategies - for some reason your strategy manages to make gains on those huge, fat candlesticks :) But that's not reality.
"when=" inside strategy.exit() does not work as you would intuitively expect. If you want to have logical condition to close your trade (for example - crossover(rsi(close,14),20)) you need to place it inside strategy.close() function. And leave StopLoss + TakeProfit conditions inside strategy.exit() function. Just as in attached code.
If you're working with pyramiding, add "process_orders_on_close=ANY" to your strategy() script header. Default setting ("=FIFO") will first close the trade, which was opened first, not the one which was hit by Stop-Loss condidtion.
----------------
That's it, I guess :) If you are noticing other issues with backtester and would like to share, let everyone know in comments. If the issue is indeed a bug, there is a chance TradingView dev team will hear your voice and take it into account when working on other improvements. Just like they heard about the bug I described above.
P.S. I know for a fact that more improvements in the backtesting area are coming. Some will change the game even for non-coding traders. If you want to be notified quickly and with my comment - gimme "follow".
FRAMA - Supertrend strategyFRAMA Strategy
I found this strategy on internet, in a well-known forex forum.
I have translated the two indicators mentioned in that strategy (originally in mq4) in pine script.
Thanks to Fractured and Shizaru for the FRAMA snippets, to mejialucas for Supertrend snippet, to JayRogers for trade management snippet and to Trost for backtesting snippet.
I also added some code to have FRAME with a deiiferent timeframe
Indicators set-up:
FRAMA period 24 (it was originally 25 but it's better to use an even number)
FRAMA timefarme lower then chart timeframe (e.g. daily chart and weekly FRAMA)
Supertrend indicator as it is.
Of course, it is better to adapt above setting to traded instrument.
Long/Buy rules:
1 - Enter at crossover between FRAMA and its signal
2 - Option to filter entries based on supertrend signal
3 - Exit when Supertrend change direction;
4 - Exit long when short signal occurs;
Short/Sell rules:
1 - Enter at crossunder between FRAMA and its signal
2 - Option to filter entries based on supertrend signal
3 - Exit when Supertrend change direction;
4 - Exit short when long signal occurs;
VERY IMPORTANT NOTE: this is a trend following strategy, so the target is to stay in the trade as much as possible (drawdown my be high). If your trading style is more focused on scalping and/or pullbaks, this strategy is not for you.
Credits to who developed this startegy (google it).
Thanks to all pinescripters mentined in the code for their snippets.
I have also a study with alerts.
Please use comment section for any feedback or contact me if you need support.
Combo Backtest 123 Reversal & Donchian Channel Width This is combo strategies for get a cumulative signal.
First strategy
This System was created from the Book "How I Tripled My Money In The
Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
The strategy buys at market, if close price is higher than the previous close
during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50.
The strategy sells at market, if close price is lower than the previous close price
during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
Second strategy
The Donchian Channel was developed by Richard Donchian and it could be compared
to the Bollinger Bands. When it comes to volatility analysis, the Donchian Channel
Width was created in the same way as the Bollinger Bandwidth technical indicator was.
As was mentioned above the Donchian Channel Width is used in technical analysis to measure
volatility. Volatility is one of the most important parameters in technical analysis.
A price trend is not just about a price change. It is also about volume traded during this
price change and volatility of a this price change. When a technical analyst focuses his/her
attention solely on price analysis by ignoring volume and volatility, he/she only sees a part
of a complete picture only. This could lead to a situation when a trader may miss something and
lose money. Lets take a look at a simple example how volatility may help a trader:
Most of the price based technical indicators are lagging indicators.
When price moves on low volatility, it takes time for a price trend to change its direction and
it could be ok to have some lag in an indicator.
When price moves on high volatility, a price trend changes its direction faster and stronger.
An indicator's lag acceptable under low volatility could be financially suicidal now - Buy/Sell signals could be generated when it is already too late.
Another use of volatility - very popular one - it is to adapt a stop loss strategy to it:
Smaller stop-loss recommended in low volatility periods. If it is not done, a stop-loss could
be generated when it is too late.
Bigger stop-loss recommended in high volatility periods. If it is not done, a stop-loss could
be triggered too often and you may miss good trades.
WARNING:
- For purpose educate only
- This script to change bars colors.
Coinbase_3-MIN_HFT-StrategyThis conceptual strategy trades against the short-term trend. The first position can be either long or short.
In the short-term, prices fluctuate up and down on wide spread exchanges.
And if the price moves to one side, the price tends to return to its original position momentarily.
This strategy set stop order. Stop price is calculated with upper and lower shadows.
GMS: RSI & ROC StrategyThis is a basic strategy like the RSI one I posted. This one adds in the Rate of Change indicator as well.
You can separate the two for RSI only and ROC only. Everything else is the same as the RSI strategy.
- Simple moving average trend filter.
- Simple moving average trade exit.
- Both long and short or each on it's own.
The source code should be open if you want to see it or modify it for your own project. I hope it helps!
Andre
Global Market Signals
Trailing SL Strategy [QuantNomad]I'm a big fan of simple strategies.
This one is a very simple one. So it consists only from one Trailing SL. When SL is hit, the position is reversed and SL is tracked for a new position.
You can choose one of 3 types of SL:
% of your price
ATR - it is calculated as current ATR * multiplier
Absolute
As you can see even this simple strategy can show pretty good results.
BEST ABCD Pattern StrategyHello traders
This is the strategy version of this script
I - Concept
I present to you, ladies and gentlemen, the first screener for harmonic patterns.
Starting with an ACBD pattern screener this time!!
I used the calculations from Ricardo Santo's script
In short, he's using fractals (regular or Bill Williams ) for the pattern calculations. A masterpiece !!!
II - Definitions
The ABCD pattern ( AB=CD ) is one of the classic chart patterns which is repeated over and over again.
The ABCD pattern shows perfect harmony between price and time.
The Williams Fractal is an indicator, developed by Bill Williams, that aims to detect reversal points (highs and lows) and marks them with arrows.
Up fractals and down fractals have specific shapes. The Williams Fractal indicator helps users determine in which direction price will develop
💎Strategy filters💎
I included some cool backtest filters:
- flexible take profit in USD value (plotted in blue)
- flexible stop loss in USD value (plotted in red)
The take profit and stop loss should work with Forex/FX pairs as well
All the BEST
Dave
ETHUSD_SuperTrend Strategy_CoinbaseETHUSD SuperTrend Strategy for COINBASE 1HR
This will allow for traders to better visuals entries and exits in a trending ETHUSD market on COINBASE
BEST Engulfing + Breakout StrategyHello traders
This is a simple algorithm for a Tradingview strategy tracking a convergence of 2 unrelated indicators.
Convergence is the solution to my trading problems.
It's a puzzle with infinite possibilities and only a few working combinations.
Here's one that I like
- Engulfing pattern
- Price vs Moving average for detecting a breakout
Definition
Take out the notebooks :) and some coffee (good for focus). I'm bullish in coffee
The engulfing pattern is a two-candle reversal pattern.
The second candle completely ‘engulfs’ the real body of the first one, without regard to the length of the tail shadows.
The bullish Engulfing pattern appears in a downtrend and is a combination of one red candle followed by a larger green candle
The bearish Engulfing pattern appears in a downtrend and is a combination of one green candle followed by a larger red candle
Example: imgur.com
We're bored sir... what's the point of all this?
In summary, an engulfing is a pattern to track reversals. (the whole TradingView audience stands up now giving a standing ovation)
Adding the Price vs Moving average filters allows to track reversals with momentums (half of the audience collapsed because this is too awesome)
Ok sir... you picked up my interest
I included some cool backtest filters:
- date range filtering
- flexible take profit in USD value (plotted in blue)
- flexible stop loss in USD value (plotted in red)
All the best
Dave
[LunaOwl] 超級趨勢2 (SuperTrend2)It is very similar to the previous version. I changed the function from study to a strategy, and added the Average true range to RMA again.
I don't know the academic suitability, but using this strategy to trade the Altcoins market may have a good effect.
refer to Binance for 0.1% of fees, starting from Q4 2017.
跟以前的版本變化不大,我將腳本函數從"study"更改為"strategy",然後將平均真實範圍再次用遞迴平均線均化數值。
不知道學術上的適不適合這麼做...但是,直到目前交易小幣現貨市場,效果還算不錯,用用看。
交易手續費參考幣安小幣,0.1%,從2017年第四季開始測。
Updated:
--1. use RMA to reduce ATR noise.
--2. for the highly volatile Altcions market, strategy should focus on reducing noise.
--3. the Street commonly used alpha filtering for Random Walk.
--4. compared to other MAs, the performance is not outstanding, but the advantage is stability.
--5. I choose the 4H time frame to test the Altcoins (ex: ETH).
稍做更新:
--1.平均真實區間利用了遞迴均線減少雜訊
--2.針對高波動率的小幣市場,中期順勢策略應該以減少雜訊為重點
--3.研究國外交易策略後,它們常用平滑因子過濾隨機走勢
--4.績效上和其它平均法比較並沒有突出,但優點是參數變動穩定性
--5.我選擇四小時線回測小幣市場,並且選擇經歷過牛熊市的以太坊
The purpose of publishing Chinese Scripts is to make Pine close to more Chinese user.
發布中文腳本的目的,是希望可以讓 Pine 親近更多中文圈的使用者。
NoScoobies Bollinger BandsBollinger Bands strategy that I am trying out, however I can't get my strategy.close to work. Looking for help.
sma dipsparity and sdvFXBTCJPY 1min contrarian script (2020/1/30)
1分足の逆張りです.
If you want to use other timescale, need to change disparity rate and sdv.
To display disparity(sma) and standard deviation, and to draw a hline(pine function) a certain valu. And lets think. I thought disparity rate 1~1.3 or -1~-1.3 are able to use constrarian trade (and sdv>600).
In bottom, disparity index is auxiliary. It is different from the multiple in the script to make the value easier to understand.
Sorry if the expiration date of the script has expired.
Pair Trade cryptoPair trade for crypto with inputs:
* length of correlation and moving average
* trade pair
* spread threshold to enter long / short
* spread threshold to exit long / short
Pair TradePair trade with inputs:
* length of correlation and moving average
* trade pair
* spread threshold to enter long / short
* spread threshold to exit long / short
UT Bot Strategy with Backtesting Range [QuantNomad]UT Bot indicator was inially developer by @Yo_adriiiiaan
Idea of original code belongs @HPotter
I can't update my original UT Bot Strategy so I publishing new strategy with backtesting range included.
I just took code of Yo_adriiiiaan, cleaned it, deleted all useless pieces of code, transformet to v4 and created a strategy from it.
Also I added an input that allows you to swich to signals from Heiking Ashi. I saw that author uses HA for the indicator and on HA it look much nices then on real candles.
Do not add this strategy to HA candles, use usual candles and this checkbox.
Original script:
UT Bot
Donchain BreakoutIt is a long only strategy.
1. Buy when price breaks out of the upper band.
2. Exit has two options. Option 1 allows you to exit using lower band. Option 2 allows you to exit using basis line.
3. Slippage and commissions are not considered in the return calculation.
Bollinger Band BreakoutIt is a long only strategy.
1. Buy when price breaks out of the upper band.
2. Exit has two options. Option 1 allows you to exit using lower band. Option 2 allows you to exit using moving average.
3. Option 1 preferred over option 2 if the instrument is highly volatile.
4. Slippage and commissions are not considered in the return calculation.
BEST Supertrend StrategyHello traders
Sharing a sample Supertrend strategy to illustrate how to calculate a convergence and using it in a strategy
I based the setup as follow:
- Entries on Supertrend MTF breakout + moving average cross. Entering whenever there is a convergence
- exit whenever a Simple Moving Averages cross in the opposite direction happen
- possibility to filter only Longs/Shorts or both
All the best
Dave