Strategy Tester EMA-SMA-RSI-MACDOn Tradingview I never saw a custom adjustable strategy script yet, so this is it,
you can change different things and see if you'll get a good strategy or not
Settings:
First choose the source, you can choose out of:
close, open, high, low, ohlc4, hlc3, hl2
Then choose you strategy: Long & Short, Long only or Short only
Next, choose your entry "Buy/Long" (which is the "close Short position" when "Short"):
- (E)MA 1 > (E)MA 2 (Each can be made ema or sma)
- close above (E)MA 1
- RSI strategy
- macd > signal
- macd > 0
- signal > 0
Then choose your RSI values if needed (for example you want a trigger when EMA 1 > SMA 2
but only if RSI > 60, then change "IF RSI >" from 0 to 60
Next you can choose an extra argument
and even a second argument with Higher Time Frame settings
Under this you can change your (E)MA values as desired (HTF values, MACD and RSI length can be found lower)
All the same with the exit/close (or if "Short", this is your entry)
Again, change everything as you wish
Then comes the RSI length setting, MACD settings and HTF settings, followed by SL/TP settings
(you also can enable/disable SL/TP), and TIME settings (for example you want to know the profit only from this year)
Alerts are provided in next script
Have fun!
Oscillators
OathOath consists of 21 and 55 EMA , Commodity Channel Index and Supertrend indicator. It confirms a trend and gives you a signal on a pullback. Original creation worked on 1h EURUSD chart.
Oath is merely a rebrand of my previous Patient Trendfollower strategy. Unlike Patient Trendfollower, Oath has actually a good name and it does not fill your screen with noodles.
►Long setup:
• 21 EMA is above 55 EMA , which is above the Supertrend indicator.
• Commodity Channel Index is an oscillator, which prints into the chart if extreme levels are reached. Green is for a level above 100 or below -100, red is above 140 or below -140 and black is above 180 or below -180.
• If 21 EMA > 55EMA > Supertrend and an oversold signal appear, you can buy into the trend.
• When backtesting on 1h EURUSD , profit target 400 pips worked best with a stop-loss below Supertrend's bottom and the size of your spread. Spread values do not subtract from your profit.
• A picture shows two valid entries.
Further examples can be found in Patient Trendfollower 's description.
Thanks to:
• @everget for providing Supertrend solution.
• Satik FX who hand-tested the system by hand and reported results in this article. He is my main inspiration for creating the complete indicator as one because I want to be able to show and hide it with a single click.
EltrutTurtle inverted.
Long when
1. 7 period high broken
2. trendflex below 1
3. inside 35,3 bollinger band
Super Z strategy - Thanks to Rafael Zioni//Original script
//https://www.tradingview.com/script/wYknDlLx-super-Z/
This is a test for verifying if this interesting study works well.
The author, thanks to him!!!, advise a possible repaint because the script uses security function.
Refer to tradingview.com for more info on repainting:
www.tradingview.com
QUOTE:
We can see repainting in the following cases:
1- Strategies using calc_on_every_tick=true. A strategy with parameter calc_on_every_tick = false may also be prone to repainting, but to a lesser degree.
(this is not the case, ndr).
2- Using security for requesting data from a resolution higher than the resolution of the chart’s main symbol (i.e. do not use ion weelky chart if you set 1440 (1Day) in inputs)
NOTE: Thanks again to Rafael Zioni. If he requires to delete this strategy, I'll do immediately.
Combo Backtest 123 Reversal & Elder Ray (Bear Power) 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
Developed by Dr Alexander Elder, the Elder-ray indicator measures buying
and selling pressure in the market. The Elder-ray is often used as part
of the Triple Screen trading system but may also be used on its own.
Dr Elder uses a 13-day exponential moving average (EMA) to indicate the
market consensus of value. Bear Power measures the ability of sellers to
drive prices below the consensus of value. Bear Power reflects the ability
of sellers to drive prices below the average consensus of value.
Bull Power is calculated by subtracting the 13-day EMA from the day's High.
Bear power subtracts the 13-day EMA from the day's Low.
You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
WARNING:
- For purpose educate only
- This script to change bars colors.
RSI Divergence Indicator strategyThis strategy is based on RSI divergence indicator.
RSI period setting 5
Go Long when Bull or Hidden Bull is shown
Exit when RSI goes above 75 OR when bear condition appears
Ichimoku with ADXMy first attempt at coding a strategy in pine script.
The strategy tests for a confluence of bull / bear signals and executes a trade when these are met.
It uses the ADX as a screen against fake breakouts.
Strategy - Stochastic Crosses in Trending MarketThis strategy is based on Stochastic Crosses happening in the Oversold/Overbought area, taken into account the current trend which is determined by an EMA pair.
(Only Longs in uptrend / only Shorts in downtrend)
- Long position is closed when Stochastic is entering Overbought area
- Short position is closed when Stochastic is entering Overbought area
Additionally a logic is implemented to close the position when another (subsequent) Buy or Sell Signal is given after the trend has changed (to avoid fake outs)
- EMA and Stochastic settings can be changed in the settings
- Take Profit / Stop Loss can be dynamically activated in the settings (by defaults only Take Profit is activated)
- Short Position trading can be excluded in the settings (for people trading on platforms without the possibility to open Short Positions)
- Strategy time frame can be entered in the settings
Default setup seems to work well for BTC on 4HR timeframe.
Good luck!
As this is my first strategy, I am very happy for constructive feedback on how to improve this.
RWI StrategyA test of the RWI used purely for long/short signals proves surprisingly profitable on 3H and 4H XBTUSD and ETHUSD.
Combo Backtest 123 Reversal & ECO Strategy 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
We call this one the ECO for short, but it will be listed on the indicator list
at W. Blau’s Ergodic Candlestick Oscillator. The ECO is a momentum indicator.
It is based on candlestick bars, and takes into account the size and direction
of the candlestick "body". We have found it to be a very good momentum indicator,
and especially smooth, because it is unaffected by gaps in price, unlike many other
momentum indicators.
We like to use this indicator as an additional trend confirmation tool, or as an
alternate trend definition tool, in place of a weekly indicator. The simplest way
of using the indicator is simply to define the trend based on which side of the "0"
line the indicator is located on. If the indicator is above "0", then the trend is up.
If the indicator is below "0" then the trend is down. You can add an additional
qualifier by noting the "slope" of the indicator, and the crossing points of the slow
and fast lines. Some like to use the slope alone to define trend direction. If the
lines are sloping upward, the trend is up. Alternately, if the lines are sloping
downward, the trend is down. In this view, the point where the lines "cross" is the
point where the trend changes.
When the ECO is below the "0" line, the trend is down, and we are qualified only to
sell on new short signals from the Hi-Lo Activator. In other words, when the ECO is
above 0, we are not allowed to take short signals, and when the ECO is below 0, we
are not allowed to take long signals.
WARNING:
- For purpose educate only
- This script to change bars colors.
Pure RSI long onlyPlease watch the comment lines in the formula.
This is the demostration that RSI resembles actually the real trend and you could be successfull only using different levels of RSI for entering and leaving the market.
Adding a simple moving average you may obtain explosive results.
Combo Backtest 123 Reversal & Ease of Movement (EOM) 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
This indicator gauges the magnitude of price and volume movement.
The indicator returns both positive and negative values where a
positive value means the market has moved up from yesterday's value
and a negative value means the market has moved down. A large positive
or large negative value indicates a large move in price and/or lighter
volume. A small positive or small negative value indicates a small move
in price and/or heavier volume.
A positive or negative numeric value. A positive value means the market
has moved up from yesterday's value, whereas, a negative value means the
market has moved down.
WARNING:
- For purpose educate only
- This script to change bars colors.
BEST ATR Stop Multiple StrategyHello traders
Here we go again.... with another strategy snippet.
Reminder: it's an alternative of this Trailing Stop strategy script
Entry logic
The entry is based on a Simple Moving Averages (SMA) cross.
This part doesn't matter here - as I wanted to focus on the ATR multiple stop loss component.
ATR STOP
This strategy snippet uses an entry stop loss defined based on a multiple of the average true range value.
The soure code detects ATR value at entry price, applies the multiplier and will set a static (= non trailing) stop-loss to each position
A pinescript v4 label will appear for each new signal displaying the ATR*multiplier value at signal time
All the BEST
Dave
Pyramiding Strategy To Study [mcristianrios]This script simulates what goes behind scenes in a Strategy and it serves to know in Study mode how many positions are running at the same time.
Pure Stochastic long onlyJust a stochastic for giving you a smart and quick signals of entering and exiting.
Your enter is K>D in the low band and close > last bar's high.
An Ema has been added for targeting and stops.
You exit also in case of high values of K or in case D crosses over K but in the "upper".
Length, periods and level of bands are personalized.
The system goes long only, because it fits at best for shares only; I leave you the attemp of writing code for other classes and for going short, in particular.
SUGGESTIONS:
Keep Oversold period high (> 20, also 40-45)
Keep Emaperiodfast higher (> 5)
MAs & RSI strategy long onlyThis system originates from many articles by Enrico Malverti, Trading System, 2015.
Many trading systems are more stable if you use simple and not so innovative indicators, like exponential moving averages and Relative Strengthe index.
Differently by the original article:
- there is no ATR Filter, but we have introduced a Schaff Indicator. If you have multiple shares/commodities to choose, prefer what has a better value of Schaff;
- there is no fixed stop loss but a second moving average (fast), used as target. There are also Simple Mov Averages on lows (trailing stop loss for long) and a SMA on highs (trailing stop loss for short position).
Be careful, in the system only long case, because being short is not the reverse of being long (as stated in my blog)
SMA on highs are therefore only graphically put.
In this version, I’ve changed the “religious” use of EMAs (“sponsored by” Alexander Elder) to “ordinary” MAs: this because since simple moving averages measure all the factor in addition egual each one, this involve a sort of “offset” in the graph, while EMAs give a major “importance” to the last value (last close itself, you’re already considering): therefore this calculation may be counterproductive.
HOW TO OPERATE
BUY when prices crosses over SMAon long period (we suggest, however, sma long = Sma fast period = no. 11 for italian and european shares)
SELL when
prices go under SMA on lows (7 period), or under on SMA fast!
RSI crosses under level 70 or is higher than 75 (or 80, but in code there is 75)
Combo Backtest 123 Reversal & Dynamo 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
In July 1996 Futures magazine, E. Marshall Wall introduces the
Dynamic Momentum Oscillator (Dynamo). Please refer to this article
for interpretation.
The Dynamo oscillator is a normalizing function which adjusts the
values of a standard oscillator for trendiness by taking the difference
between the value of the oscillator and a moving average of the oscillator
and then subtracting that value from the oscillator midpoint.
WARNING:
- For purpose educate only
- This script to change bars colors.
Combo Backtest 123 Reversal & Dynamic Pivot Point 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
This Pivot points is calculated on the current day.
Pivot points simply took the high, low, and closing price from the previous period and
divided by 3 to find the pivot. From this pivot, traders would then base their
calculations for three support, and three resistance levels. The calculation for the most
basic flavor of pivot points, known as ‘floor-trader pivots’, along with their support and
resistance levels.
WARNING:
- For purpose educate only
- This script to change bars colors.
Combo Backtest 123 Reversal & Dynamic Momentum Index 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
This indicator plots Dynamic Momentum Index indicator. The Dynamic Momentum
Index (DMI) was developed by Tushar Chande and Stanley Kroll. The indicator
is covered in detail in their book The New Technical Trader.
The DMI is identical to Welles Wilder`s Relative Strength Index except the
number of periods is variable rather than fixed. The variability of the time
periods used in the DMI is controlled by the recent volatility of prices.
The more volatile the prices, the more sensitive the DMI is to price changes.
In other words, the DMI will use more time periods during quiet markets, and
less during active markets. The maximum time periods the DMI can reach is 30
and the minimum is 3. This calculation method is similar to the Variable
Moving Average, also developed by Tushar Chande.
The advantage of using a variable length time period when calculating the RSI
is that it overcomes the negative effects of smoothing, which often obscure short-term moves.
The volatility index used in controlling the time periods in the DMI is based
on a calculation using a five period standard deviation and a ten period average
of the standard deviation.
WARNING:
- For purpose educate only
- This script to change bars colors.
Laguerre RSI by KivancOzbilgic STRATEGYBacktesting.
" Laguerre RSI is based on John EHLERS' Laguerre Filter to avoid the noise of RSI .
Change alpha coefficient to increase/decrease lag and smoothness.
Buy when Laguerre RSI crosses upwards above 20.
Sell when Laguerre RSI crosses down below 80.
While indicator runs flat above 80 level, it means that an uptrend is strong.
While indicator runs flat below 20 level, it means that a downtrend is strong. "
Developer: John EHLERS
Author: KivancOzbilgic
Fractal Breakout StrategyFractal
A type of pattern used in technical analysis to predict a reversal in the current trend. A fractal pattern consists of five bars and is identified when the price meets the following characteristics:
1. A shift from a downtrend to an uptrend occurs when the lowest bar is located in the middle of the pattern and two bars with successively higher lows are positioned around it.
2. A shift from an uptrend to a downtrend occurs when the highest bar is located in the middle of the pattern and two bars with successively lower highs are positioned around it.
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 !
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".