Custom Screener with Alerts [QuantNomad]Some time ago I published an example of simple custom screener in PineScript:
The only thing this screener did is created a dynamic label with screener output.
Recently TradingView announced alerts from the strategy with the possibility to add custom messages to alerts.
So using it I was able to create a bit more advanced screener which sends results as alert messages. With tools like Alertatron, you can easily redirect them to Telegram if you want.
It works for 40 symbols (limitation of the number of security calls).
To create your own screener you need to change only screenerFunc. The logic of this function is very simple, it outputs value you want to display in screener and condition based on which your screener should filter your stocks.
To create alerts for this screener create an alert from strategy and use {{strategy.order.alert_message}} as alert message.
Do you know now how to make this screener better? Let me know.
Disclaimer
Please remember that past performance may not be indicative of future results.
Due to various factors, including changing market conditions, the strategy may no longer perform as good as in historical backtesting.
This post and the script don’t provide any financial advice.
Search in scripts for "backtesting"
Schaff Trend Cycle + Double MAThis strategy uses two different moving averages to determine a trend. It opens a position on a pullback from a trend.
Conditions for buy signal are:
►Crossover out of Shaff Trend Cycle's extreme levels
►The price is above its short period exponential moving average.
►A short period exponential moving average is above a long period exponential moving average.
*Conditions for sell are the opposite.
All in all, I don't think it needs to be on your chart but it can be optimized and even successful on some timeframes.
Shaff Trend Cycle solution was provided by @everget, I converted his script to Pine v.4, added exponential averages and created an algorithm for backtesting.
Ichimoku systemThis script is to get backtesting results of ichimoku Cloud system .
>> tick buying only to watch backtesting results of buying trades ony other wise untick to see both buy and sell trade results (for intraday timeframe)
Tell me if you have any suggestions u i will try to include them in coming updates
Pivot Point SuperTrend [Backtest]Hello All,
This is backtesting result of following indicator/strategy. I didn't work on adding other indicators. maybe in the future I can try to combine this with other indicators.
You can visit following link to see "Pivot Point SuperTrend" . by using this backtesting tool, you can test&find better options
There is option "Use Center Line to Close Entry for 50%" . by default it's not enabled. if you enable this option, pivot point center line may push you to close your entry for 50% (can be used as early stoploss/take profit line if you think it's risky)
Enjoy!
Stochastic Pop and Drop by Jake Bernstein v1 [Bitduke]I found a simple strategy by Jake Bernstein, modified it a little and created a strategy with Risk Management System (SL+TP); After that I test it on the different cryptocurrency pairs.
About the Indicator
Basically it's the strategy of 2 indicators: Stochastic Oscillator to define the bias and Average Directional Index to confirm it.
One again, It uses Stochastic Oscillator to define the trading bias. In particular, the trading bias was deemed bullish when the weekly 14-period Stochastic Oscillator was above some default value (in him paper - 50) and rising and vice versa.
Once the trading bias is established, Steckler used the Average Directional Index (ADX) to define a slowdown in the trend. ADX measures the strength of the trend and a move below 20 signals a weak trend.
Modifications
I didn't implement Average Directional Index (ADX) and test just different sources for data, oscillator periods and different levels in relation to the crypto market.
So, it shows good results with two tight thresholds at 55 and 45 level.
The bar chart below the defining the bullish and bearish periods (green and red) and gives a signal to enter the trade (purple bars).
Backtesting
Backtested on XBTUSD , BTCPERP (FTX) pairs. You may notice it shows good results on 3h timeframe.
Relatively low drawdown
~ 10% (from 2019 to date) FTX
~ 22% (4 years from 2016) Bitmex
I backtested on the different altcoin pairs as well, but the results were just not good.
Relatively good results were shown by some index pairs from the FTX exchange ( FTX:SHITPERP ), but I think there is a few data for backtesting to be asure in them.
Bitmex 3h (2017 - 2020) :
i.imgur.com
FTX 3h (2019 - 2020):
i.imgur.com
Possible Improvements
- Regarding trading algorithm it would be good to check with strategy with ADX somehow. Maybe for the better entries
- As for Risk Management system, it can be improved by adding trailing stop to the strategy.
Link: school.stockcharts.com
expected range STRATEGYThis is the strategy version of "expected range STUDY". The buy and sell signals are generated with the study version, but what is displayed on the chart is different. Here, the PnL of each trade is shown on the chart, as well as the peak profit point of each trade up till the present. Black areas represent take profit and waiting for the next trade to start. Green = long. Red = short. Set to take profit at 53% and stoploss is set to -7%. Having a stoploss trigger does not put a black area on the chart. For the XBTUSD 2 hour chart, but use it however you like on whatever chart for backtesting.
Enjoy. Don't get rekt. A good backtest doesn't mean a good forward test. Use at your own risk.
expected range STUDYThis is an indicator that measures how much price movement (low to high) we've seen in a set of 1 bar back, 2 bars back, 3 bars back, 5 bars back, 8 bars back using the Fibonacci sequence up to 89 bars back, and then measures how low or high within each range we are, sort of like giving a rating of 0 for sitting on the lower Bollinger Band and a rating of 100 for sitting on the higher Bollinger band. It combines all the data and weights the data by the historical strength of signal from each length of bands. It's been tuned to a 2 hour XBTUSD chart, but it could be used on other things and other timeframes too. Some tweaking would be needed, though. The final result works more like a trend following indictor than and indicator that tries to pick an exact trend reversal point. However, you're free to use it how you want. Frequently you get a nice red or green spike up showing you when the bottom or top is in, but sometimes those spikes are just the start of an extended down move or up move.
On the chart, a buy (long) signal is generated when the green line crosses up above the orange line. To make it extra clear the background is green when you should be long. A sell (short) signal is generated with the red line crosses up above the yellow line. The background will be red when you should be short. If the background is black, it's indicating a profit of over 53% was taken and it's waiting for another trade to start. Up to you to take profit or keep riding your trade.
For XBTUSD trades, a full take profit on any trade exceeding 53% gains works nice (on 1x leverage) and a stoploss of -7% works quite nicely too. One could use this on up to 2x leverage but I wouldn't recommend going much higher. Have fun. Trade carefully. Don't get rekt.
I will release the "expected range STRATEGY" to go along with this so you can do your own backtesting.
Disclaimer: I haven't tested the alerts, but they should work. Use at your own risk.
NoNonsense Forex - high timeframe trading absurd NON-REPAINTINGSome time ago I bumped into NoNonsense Forex - pretty good-looking course with well-designed videos, reasonable rules, etc. Nice explanatory videos, not selling anything, building indicators-only strategy. But there was one thing that really annoyed me - it was supposed to work only on Daily timeframe. What is the point in trading such high timeframe, if decisions changing market direction are playing out within 1 minute? What is the point in evaluating trades from 1994 if we are 25 years later?
Anyway, I have developed this strategy, which is:
- non-repainting
- not using trailing-stop
- not using any other known TradingView backtest bugs
And I'm showing it as an example of OVERFITTING. Backtesting results look absurd: 100% profitable. But if you change any of the many parameters in the Settings popup, they will turn into disaster. It means, the rules of this strategy are very fragile. Don't trade this! Remember about backtesting rule #1: past results do not guarantee success in the future.
I'm giving this strategy out with the source code. Feel free to do anything you want with it. But if you find parameters or modifications on, which allow profitable trading on lower timeframes, don't be shy, let me know :)
*********
Forex / Indices / Commodities traders who want to start AUTO-TRADING might want to take a look at "TradingConnector", which allows no-latency trades execution from TradingView to MT4/MT5.
Heiken-Ashi CandlesSimple script to view Heiken-Ashi candles below a normal candles chart.
Could also be useful for using HA calcs in strategy scripts on normal candles chart for proper backtesting.
I adapted this to v4 from original v2 script by @samtsui. If you like please remember to give him a Thumbs Up for his original version! ->
Visual RSI [LucF]Visual RSI offers a different way of looking at RSI by providing a composite representation of 9 different RSI-generated components. Instead of focusing on one line only, this approach blends multiple sources to provide the viewer with a larger context RSI-based picture.
For those who don’t want to read
• Green in bullish (>50) zone is the most bullish.
• Red in bullish zone doesn’t necessarily mean bearish—it just means bullish strength is weakening. It may be just a pause before a reprise or exhaustion signalling a reversal—impossible to tell.
• The same in inverse applies to the bearish zone (<50).
For those who want to understand
The nine components making up Visual RSI are:
• a current timeframe RSI
• a higher timeframe RSI
• the delta between these two RSI lines
• for each of these three basic components, two independent Bollinger band: one calculated for the bullish section of the scale (>50) and a separate one calculated for the lower bearish region.
Dual BBs
In my view, RSI’s position with regards to the centerline is much more important than its position in extreme areas. Why? Because the building block of RSI is the ratio of the averages of up/down moves during the RSI period. When the average of ups is greater, RSI is > 50. So while a rising signal starting from 20 let’s say, indicates that the rate of change is increasing, only when it crosses 50 can we say that sentiment balance has truly become bullish, and this information is more reliable than the signal being at a level corresponding to whatever estimate we make of what constitutes an extreme value. In my landscape, the general balance of a ratio provides more valuable information than the ratio’s exact value.
The idea behind the dual BBs is to provide independent tracking information for both halves of the indicator’s space, which I find more useful than the normal method of simply adding a multiple of the standard deviation on both sides of the mean. With dual BBs, the upper BB will never go lower than the indicator’s centerline, and the lower BB will never go higher. The upper BB focuses on upper-bound volatility when the signal is bearish, and the lower BB focuses on downside volatility when the signal is bearish.
The functions used to calculate the independent BBs are reusable on other signals if a centerline can be defined for them. A clamping percentage is implemented, so that when a BB line is hugging the centerline it clamps to it. This helps in providing earlier signals when they use the BB line states.
Providing context to RSI
What RSI measures indirectly is the balance in the rate of change—or the speed of price movement, but not its instant value, otherwise RSI would be even noisier. More precisely, RSI represents the relative strength of the up/down movement in the last n bars of RSI’s length, with 14 often used because that’s what Wilder proposed (Visual RSI’s defaults are 20 for the current timeframe and 40 for the higher timeframe). At every bar, a new value is added to the equation and an old value carrying equal weight is dropped, so a large dropped off value will have more impact on RSI’s value if the new bar’s move is small. This accounts for some of RSI’s speed in identifying exhaustion after important moves, but almost for some of its noise.
Visual RSI is the result of trying to drown RSI’s noise in the context of other informational streams, while simultaneously providing even faster information than RSI alone, by giving more visual weight to the delta between the current and higher timeframe RSI’s.
How to read Visual RSI
The default settings show all 9 basic components as green/red areas of intensities varying with their importance. The most intense colors are reserved for the delta RSI and the BBs have the lightest intensities. The individual lines of components are intentionally difficult to distinguish so that focus is first on the general picture, including the all-important six-state background, and then on the delta RSI.
One entry setup could be reversals in a larger trend context, so low pivots of the delta in a fully bullish context (a green background in the upper section of the indicator), and inversely, high pivots in a fully bearish context (a red background in the lower section of the indicator).
Please resist the common misconception, when interpreting RSI, that a reversal in the signal will necessarily lead to a reversal in price. Each trend has its rhythm. Only machine-generated price action can progress regularly. It’s normal for trends to take a breather for some time before they continue or reverse, as traders driving the trend experience emotional fatigue and gradual fear. RSI reversals merely signify that such a breather has occurred—nothing more. Only the larger context can provide information that can situate that pause and put more meaningful odds on it having more probability of continuing in one direction or the other. This is the reasoning behind the setup just described.
Features
• All components can be hidden, displayed as a simple line, a uniformly colored fill, or a green/red fill (the default).
• The background can be colored using 9 different methods, including 3 six-state methods using the rising/falling BB lines of the 3 basic components. These six states allow for bullish/bearish/neutral sentiment in both the upper and lower regions of the indicator. A bearish (dark red) background in the bullish (>50) section of the indicator represents decreasing bullishness. A bearish (slightly brighter red) in the bearish (<50) section of the indicator means incresingly bearish sentiment. The six-state backgrounds allow for neutral (no color) sentiment when no compelling signs can be found to conclude anything with meaningful odds. The default background uses the six-state method on the higher timeframe RSI’s BBs because I find it the most useful, as it represents the largest—and slowest—context sentiment among all the indicator’s components.
• A thin status bar in the top part of the indicator also allows selection of the same 9 methods to color it. The default is a triple-state system using the rising/falling characteristics of the current timeframe RSI’s BBs to provide a short-term counterbalance to the long-term background.
• Three different markers can be configured using approximately 70 permutations each, each filtered by 20 different filter permutations. When modification of the relevant parameters in the script’s Settings/Settings/Parameters section is added, possibilities are almost endless. If the generated signals are then fed into the PineCoders Engine and combined with the Engine’s own options, the permutations go up another order of magnitude, and changes to any setting can be instantly evaluated using the Engine’s backtesting results.
• Five simple filters can be combined. They are additive. They include volume-related conditions and a chandelier, which I find useful because both volume and volatility (the chandelier using highs/lows and ATR) are sensible complementary sources to RSI’s momentum information. The filter’s state can be shown as a thin line at the bottom of the indicator.
• Alerts can be configured using any of the marker/filter combinations mentioned. As usual, once your markers/filters are set up the way you want, create your alert from the chart/timeframe you want the alert to run on and be sure to use the “Once Per Bar Close” triggering condition. Use an alert message that will remind you of which combination of markers were used when creating the alert.
• A plot providing entry signals for the PineCoders Backtesting & Trading Engine is supplied. It will use whichever marker/filter configuration is active to generate signals.
• All higher timeframe information is non-repainting. Higher timeframe lines can be smoothed (the default). The selection of the higher timeframe can be made using 3 different methods:
1. By steps (if current timeframe <= 1 minute: 60 min, <= 60 min: 1D, <= 6H: 3D, <= 1D: 1W, <=1W: 1M, >1W: 12M)
2. By a user-defined multiple of the current timeframe
3. Using a fixed timeframe
Thanks to:
• Alex Orekhov aka @everget for the chandelier code.
• @RicardoSantos who through a small remark early on, unknowingly put me on the track of eliminating noise through visual crowding.
• The brilliant guys in the PineCoders Pro room for your knowledge, limitless creativity and constant companionship.
Golden Cross by -Westy-Quick Guide
- Yellow cross and green MA on top = Potential uptrend
- Yellow cross and red MA on top = Potential downtrend
A simple golden cross indicator of the green 50 and red 200 SMA with a yellow cross for ease of visibility and backtesting.
Generally, longer time frames more powerful signals but are less frequent. I typically use it on the 4 hour, daily and weekly.
WOW no repainting and no security() call! 100% real results!If you couldn't tell by the title, this is a joke lmao.
TV has an awful backtesting engine and I just wanted to prove this with a super simple script.
We buy when close > open
and sell when close < open.
That's it.
There is also some risk management and trade closing when we reach a certain drawdown, but wait!
TradingView doesn't know what equity drawdown is because they don't use tick data or any lower timeframe data! Wowow!
Ps - all tickdata for Forex & CFD historical data is free from Dukascopy if you want to perform your own backtesting ;)
Dukascopy Data
Enjoy
-DasanC
Complete turtles strategy based on the donchian channelsDear Traders and investor,
I want to demonstrate scrypt of the iconic "trend following strategy" coded by my
The main idea was borrowed from the book "Way of the Turtle: The Secret Methods that Turned Ordinary People into Legendary". The strategy is based on the donchian channels and is one of the oldest and easiest strategy in the using. Also strategy include risk managment and trends filter which prevent false entries and high drawndowns. The results are based on the period from 2006 to present, but you can also change timeframe and period of backtesting.
Best regards,
Vlad
Multiple Moving Averages Alerts ScriptAlerts script that has triggers on multiple moving average crossovers so that profit is maximised, it also has an optional control moving average, enabled by default, that when active will stop trading when the price (first ma) is below the control moving average.
Source code is open so that others can use and modify
Click Below for Backtesting version:
Disclaimers, not an expert, not intended to be financial advise.
Biffy
SimpleCrossOver_BotThis is a simple example of how you can compile your own strategy
This script contains the code for alerts and for backtesting.
In order to use the backtester, comment out the sections to be used for signals, and comment in the sections to be used on the back tester, and visa versa for using the script for alerts in order to automate your own bot.
Awesome Oscillator.MMouse_Lager_BCEAwesome Oscillator with added options for turning short trades on and off, as well as a start date for backtesting.
Two Bar Break Line Alerts R1.0 by JustUncleLThis indicator with default settings is designed for BINARY OPTIONS trading. The indicator can also be used for Forex trading with some setting changes. The script shows Two Bar Pullback Break lines and alerts when those Break lines are Touched (broken) creating a short term momentum entry condition.
For a Bullish Break (Green Up Arrow) to occur: first must have two (or three) consecutive bear (red) candles which is followed by a bull (green) candle creating a pivot point. The breakout occurs then the High of the current Bull (green) exceeds the highest point of the previous two (or three) pivotal bear candles. The green channel Line shows where the current Bullish BreakOut occurs.
For a Bearish Break (Red Down Arrow) to occur: first must have two (or three) consecutive bull (green) candles which is followed by a bear (red) candle creating a pivot point. The breakout occurs when the Low of the current Bear (red) drops below the lowest point of the previous two (or three) pivotal Bull candles. The red channel Line shows where the current Bearish BreakOut occurs.
The break Line Arrows can optionally be filtered by the Coloured MA (enabled by default), a longer term directional MA (disabled by default) and/or a MACD condition (enabled by default) as a momentum filter.
You can optionally select three Bar break lines instead of two. The three bar break lines are actually equivalent to Guppy's Three Bar Count Back Line method for trade entries (see Guppy's video reference below).
Included in this indicator is an ability to display some basic Binary Option statistics, when enabled (enabled by default) it shows Successful Bars in Yellow and failed Bars in Black and the last Nine numbers on the script title line represent the Binary option Statistics in order:
%ITM rate
Total orders
Successful Orders
Failed Orders
Total candles tested
Candles per Day
Trades per Day
Max Consecutive Wins
Max Consecutive Losses
You can start the Binary Option statistics from a specific Date, which is handy for checking more recent history.
HINTS:
BINARY OPTIONS trading: use 5min, 15m, 1hr or even Daily charts. Trade after the price touches one of the Breakout lines and the Arrow first appears. Wait for the price to come back from Break Line by 1 or 2 pips, the alert arrow must stay on and candle change to black, then take Binary trade expiry End of Candle. If price pull back and arrow turns off, don't trade this candle, move on you probably don't have momentum, there will be plenty of other trigger events. The backtesting results are good with ITM rates 65% to 72% on many currency pairs, commodities and indices. Realtime trading has confirmed the backtesting results and they could even be bettered, provided you are selective on which signals to trade (strong MACD support etc), that you are patient and disciplined to this trading method.
FOREX trading: the default settings should work with scalping. For longer term trades try with settings change to a more standard MACD filter or slower to catch the longer term momentum swings and the idea would be to trade the first Break Line alert that occurs after a decent Pullback in the direction of the trend. Setting the SL to just above/below the Pivot High/Low and set target to two or three times SL.
References:
"Fundamentals of Price Action Trading for Forex, Stocks, Options and Futures" video:
www.youtube.com
Other videos by "basecamptrading" on Naked Trading.
"Taking Profits in Today's Market by Daryl Guppy" video:
www.youtube.com
Pivot Reversal Strategy - TimeFramedThis is Pivot Reversal Strategy including the time frames for backtesting.
Updated TurtlesThis script has been updated to prevent double orders (short/long) from occurring and modifying backtests results.
This is an update to the script that was written a few years ago to prevent double longs/shorts from occurring and skewin backtesting results. Check out the updated indicator here and let me know what you think.
I also added:
- date range inputs if you want to do some backtesting on a particular set of dates.
- the ability to toggle shorting
3 Duck's Trading System from Babypips.comThe 3 Duck's Trading System from Babypips.com
The 3 Duck's Trading System is the most popular and active trading system thread on the the babypips.com forum. It is a system that is mainly for beginners because it teaches you discipline, learning to cope with price moving against your position and learning to stay in a trade and keep profits running. For the thread and more info on the 3 Duck's Trading System click here
How does it work?
The system is a very simple enter/exit based on the 60 SMA of 3 different time frames: 4 hour, 1 hour and 5 minute.
The Rules, er, the Ducks! The Ducks must all be in a row for a trade to take place!
Duck 1 - To go long, price must be above the 60 SMA on the 4 hour chart.
Duck 2 - To go long, price must be above the 60 SMA on the 1 hour chart.
Duck 3 - To go long, price must cross above the 60 SMA on the 5 minute chart and the 60 SMA of the 5 minute chart must be below that of the 4 hour and 1 hour chart. (obviously the reverse for shorting)
YOU MUST USE THIS SYSTEM ONLY ON THE 5 MINUTE CHART.
I say this because I have already charted all of the Ducks into the 5 minute chart so you don't have to flip back and forth.
I have also added some inputs for profit targets, stop targets, trailing stops and times to trade for backtesting.
If you have any questions or comments, please let me know! If you see I messed up on something, please let me know!
Also a VERY special thanks to the babypips.com user Captain_Currency . He wrote this strategy 10 years ago (2007 was 10 years ago?!) and he is still active on the thread and posting results and offering help!
Adam Smith - MovingAvg CrossSimple Moving Average Cross script. Test on stocks and currency. For stocks test shorter time periods, meaning intra-day time periods such as 3min to 30min and so on to fit what is best. For currency, try longer periods with this model such as day to weeks depending on which currency.
NOTE: Take a look at your Max Drawdowns when testing. This will be the main indicator once you figure out your time period for backtesting. This will also let you know how much money to save and/or hold back in savings for down periods.
Adding some essential components to a prebuilt RSI strategyThis is more to be used as a blank_slate for any strategy build adding more effective backtesting with a period selector and inputs like TS, TP, SL that can all be used as plots for alerts.
It has the BackTest Component created by Pbergden
It also includes the standard long/short with trailing stop, take profit, stop loss and margin call.
Here is a video using the blank_slate to add in the built-in RSI Strategy.
youtu.be
We hope this brings good results and helps speed things up for everyone.
Trend v4.0 Another updateYet another update, default settings can be customized to your needs. Be aware that while this is similar to the other versions, this can only repaint an active bar, but that slows it down by one period. You are warned. Be that as it may, the basic idea is the same; trying to capture the really strong moves into overbought or oversold territory as defined by Relative Strength index. In RSI mode, you can see the smoothing has slowed it down a bit, but warrants backtesting.
First green bar go long, First red bar go short, first white bar possible trend exhaustion. Or use crossovers and such, play with the inputs OB/OS, RSI length, signal length, tick length, swing length, as I said customize to your tastes. I offer no surety as to its efficacy, but we all learn.
Trade Responsibly,
Shiroki






















