Portfolio Backtester Engine█ OVERVIEW
Portfolio Backtester Engine (PBTE). This tool will allow you to backtest strategies across multiple securities at once. Allowing you to easier understand if your strategy is robust. If you are familiar with the PineCoders backtesting engine , then you will find this indicator pleasant to work with as it is an adaptation based on that work. Much of the functionality has been kept the same, or enhanced, with some minor adjustments I made on the account of creating a more subjectively intuitive tool.
█ HISTORY
The original purpose of the backtesting engine (`BTE`) was to bridge the gap between strategies and studies . Previously, strategies did not contain the ability to send alerts, but were necessary for backtesting. Studies on the other hand were necessary for sending alerts, but could not provide backtesting results . Often, traders would have to manage two separate Pine scripts to take advantage of each feature, this was less than ideal.
The `BTE` published by PineCoders offered a solution to this issue by generating backtesting results under the context of a study(). This allowed traders to backtest their strategy and simultaneously generate alerts for automated trading, thus eliminating the need for a separate strategy() script (though, even converting the engine to a strategy was made simple by the PineCoders!).
Fast forward a couple years and PineScript evolved beyond these issues and alerts were introduced into strategies. The BTE was not quite as necessary anymore, but is still extremely useful as it contains extra features and data not found under the strategy() context. Below is an excerpt of features contained by the BTE:
"""
More than `40` built-in strategies,
Customizable components,
Coupling with your own external indicator,
Simple conversion from Study to Strategy modes,
Post-Exit analysis to search for alternate trade outcomes,
Use of the Data Window to show detailed bar by bar trade information and global statistics, including some not provided by TV backtesting,
Plotting of reminders and generation of alerts on in-trade events.
"""
Before I go any further, I want to be clear that the BTE is STILL a good tool and it is STILL very useful. The Portfolio Backtesting Engine I am introducing is only a tangental advancement and not to be confused as a replacement, this tool would not have been possible without the `BTE`.
█ THE PROBLEM
Most strategies built in Pine are limited by one thing. Data. Backtesting should be a rigorous process and researchers should examine the performance of their strategy across all market regimes; that includes, bullish and bearish markets, ranging markets, low volatility and high volatility. Depending on your TV subscription The Pine Engine is limited to 5k-20k historical bars available for backtesting, which can often leave the strategy results wanting. As a general rule of thumb, strategies should be tested across a quantity of historical bars which will allow for at least 100 trades. In many cases, the lack of historical bars available for backtesting and frequency of the strategy signals produces less than 100 trades, rendering your strategy results inconclusive.
█ THE SOLUTION
In order to be confident that we have a robust strategy we must test it across all market regimes and we must have over 100 trades. To do this effectively, researchers can use the Portfolio Backtesting Engine (PBTE).
By testing a strategy across a carefully selected portfolio of securities, researchers can now gather 5k-20k historical bars per security! Currently, the PTBE allows up to 5 securities, which amounts to 25k-100k historical bars.
█ HOW TO USE
1 — Add the indicator to your chart.
• Confirm inputs. These will be the most important initial values which you can change later by clicking the gear icon ⚙ and opening up the settings of the indicator.
2 — Select a portfolio.
• You will want to spend some time carefully selecting a portfolio of securities.
• Each security should be uncorrelated.
• The entire portfolio should contain a mix of different market regimes.
You should understand that strategies generally take advantage of one particular type of market regime. (trending, ranging, low/high volatility)
For example, the default RSI strategy is typically advantageous during ranging markets, whereas a typical moving average crossover strategy is advantageous in trending markets.
If you were to use the standard RSI strategy during a trending market, you might be selling when you should be buying.
Similarily, if you use an SMA crossover during a ranging market, you will find that the MA's may produce many false signals.
Even if you build a strategy that is designed to be used only in a trending market, it is still best to select a portfolio of all market regimes
as you will be able to test how your strategy will perform when the market does something unexpected.
3 — Test a built-in strategy or add your own.
• Navigate to gear icon ⚙ (settings) of strategy.
• Choose your options.
• Select a Main Entry Strat and Alternate Entry Strat .
• If you want to add your own strategy, you will need to modify the source code and follow the built-in example.
• You will only need to generate (buy 1 / sell -1/ neutral 0) signals.
• Select a Filter , by default these are all off.
• Select an Entry Stop - This will be your stop loss placed at the trade entry.
• Select Pyamiding - This will allow you to stack positions. By default this is off.
• Select Hard Exits - You can also think of these as Take Profits.
• Let the strategy run and take note of the display tables results.
• Portfolio - Shows each security.
• The strategy runs on each asset in your portfolio.
• The initial capital is equally distributed across each security.
So if you have 5 securities and a starting capital of 100,000$ then each security will run the strategy starting with 20,000$
The total row will aggregate the results on a bar by bar basis showing the total results of your initial capital.
• Net Profit (NP) - Shows profitability.
• Number of Trades (#T) - Shows # of trades taken during backtesting period.
• Typically will want to see this number greater than 100 on the "Total" row.
• Average Trade Length (ATL) - Shows average # of days in a trade.
• Maximum Drawdown (MD ) - Max peak-to-valley equity drawdown during backtesting period.
• This number defines the minimum amount of capital required to trade the system.
• Typically, this shouldn’t be lower than 34% and we will want to allow for at least 50% beyond this number.
• Maximum Loss (ML) - Shows largest loss experienced on a per-trade basis.
• Normally, don’t want to exceed more than 1-2 % of equity.
• Maximum Drawdown Duration (MDD) - The longest duration of a drawdown in equity prior to a new equity peak.
• This number is important to help us psychologically understand how long we can expect to wait for a new peak in account equity.
• Maximum Consecutive Losses (MCL) - The max consecutive losses endured throughout the backtesting period.
• Another important metric for trader psychology, this will help you understand how many losses you should be prepared to handle.
• Profit to Maximum Drawdown (P:MD) - A ratio for the average profit to the maximum drawdown.
• The higher the ratio is, the better. Large profits and small losses contribute to a good PMD.
• This metric allows us to examine the profit with respect to risk.
• Profit Loss Ratio (P:L) - Average profit over the average loss.
• Typically this number should be higher in trend following systems.
• Mean reversion systems show lower values, but compensate with a better win %.
• Percent Winners (% W) - The percentage of winning trades.
• Trend systems will usually have lower win percentages, since statistically the market is only trending roughly 30% of the time.
• Mean reversion systems typically should have a high % W.
• Time Percentage (Time %) - The amount of time that the system has an open position.
• The more time you are in the market, the more you are exposed to market risk, not to mention you could be using that money for something else right?
• Return on Investment (ROI) - Your Net Profit over your initial investment, represented as a percentage.
• You want this number to be positive and high.
• Open Profit (OP) - If the strategy has any open positions, the floating value will be represented here.
• Trading Days (TD) - An important metric showing how many days the strategy was active.
• This is good to know and will be valuable in understanding how long you will need to run this strategy in order to achieve results.
█ FEATURES
These are additional features that extend the original `BTE` features.
- Portfolio backtesting.
- Color coded performance results.
- Circuit Breakers that will stop trading.
- Position reversals on exit. (Simulating the function of always in the market. Similar to strategy.entry functionality)
- Whipsaw Filter
- Moving Average Filter
- Minimum Change Filter
- % Gain Equity Exit
- Popular strategies, (MACD, MA cross, supertrend)
Below are features that were excluded from the original `BTE`
- 2 stage in-trade stops with kick-in rules (This was a subjective decision to remove. I found it to be complex and thwarted my use of the `BTE` for some time.)
- Simple conversion from Study to Strategy modes. (Not possible with multiple securities)
- Coupling with your own external indicator (Not really practical to use with multiple securities, but could be used if signals were generated based on some indicator which was not based on the current chart)
- Use of the Data Window to show detailed bar by bar trade information and global statistics.
- Post Exit Analysis.
- Plotting of reminders and generation of alerts on in-trade events.
- Alerts (These may be added in the future by request when I find the time.)
█ THANKS
The whole PineCoders team for all their shared knowledge and original publication of the BTE and Richard Weismann for his ideas on building robust strategies.
═════════════════════════════════════════════════════════════════════════
Cari dalam skrip untuk "entry"
Bollinger Blast Buy Unholy GrailThis strategy copy the Nick Radge's trading ideas for a profitable systems. He mentions a Bollinger Band idea which is also published in his book Unholy Grails. Nick says:
he strategy that we did test and showed very promising results was an entry using a Bollinger band and an exit using the opposite Bollinger band, but we use 3 standard deviations for the entry and 1 standard deviation for the exit, just to keep the trailing stop a little bit tighter.”
Entry: Buy on the Open the day after a stock closes above the top Bollinger Band
Exit: Exit on the Open the day after a stock closes below the lower Bollinger Band
Results tested on Nasdaq market are very good and better than simply buy& hold
RSI+PA+DCA StrategyDear Tradingview community,
This RSI based trading strategy is created as a training exercise. I am not a professional trader, but a committed hobbyist. This not a finished trading strategy meant for trading, but more a combination of different trading ideas I liked to explore deeper. The aim with this exercise was to gain more knowledge and understanding about price averaging and dollar cost averaging strategies. Aside that I wanted to learn how to program a pyramiding strategy, how to plot different order entry layers and how to open positions on a specific time interval.
In this script I adapted code from a couple of strategy examples by Coinrule . Who wrote simple and powerful examples of RSI based strategies and pyramiding strategies.
Also the HOWTO scripts shared by vitvlkv were very helpful for this exercise. In the script description you can find all the sources to the code.
A PA strategy could be a helpful addition to ease the 'stress-management to buy when price drops and resolution in selling when the price is rising' (Coinrule).
The idea behind the strategy is fairly simple and is based on an RSI strategy of buying low. A position is entered when the RSI and moving average conditions are met. The position is closed when it reaches a specified take profit percentage. As soon as the first the position is openend multiple PA (price average) layers are setup based on a specified percentage of price drop. When the price crosses the layer another position with somewhat the same amount of assets is entered. This causes the average cost price (the red plot line) to decrease. If the price drops more, another similar amount of assets is bought with another price average decrease as result. When the price starts rising again the different positions are separately closed when each reaches its specified take profit. The positions can be re-openend when the price drops again. And so on. When the price rises more and crosses over the average price and reached the specified take profit on top of it, it closes all the positions at once and cancels all orders. From that moment on it waits for another price dip before it opens a new position.
Another option is to activate a DCA function that opens a position based on a fixed specified amount. It enters a position at the start of every week and only when there are already other positions openend and if the current price is below the average price of the position. Like this buying on a time interval can help lowering the average price in case the market is down.
I read in some articles that price averaging is also called dollar cost averaging as the result is somewhat the same. Although DCA is really based on buying on fixed time intervals. These strategies are both considered long term investment strategies that can be profitable in the long run and are not suitable for short term investment schemes. The downturn is that the postion size increases when the general market trend is going down and that you have to patiently wait until the market start rising again.
Another notable aspect is that the logic in this strategy works the way it does because the entries are exited based on the FIFO (first in first out) close entry rule. This means that the first exit is applied to the first entry position that is openend. In other words that when the third entry reaches its take profit level and exits, it actually exits the first entry. If you take a close look in the 'List of Trades' of your Strategy Tester panel, you can see that some 'Long1' entries are closed by an 'Exit 3' and not by an 'Exit 1'. This means that your trade partly loses, but causes a decrease in average price that is later balanced out by lower or repeated entering and closing other positions. You can change this logic to a real sequential way of closing your entries, but this changes the averaging logic considerably. In case you want to test this you need to change, in this line in the strategy call 'close_entries_rule = "FIFO"', the word FIFO to ANY.
In the settings you can specify the percentage of portfolio to use for each trade to spread the risk and for each order a trading fee of 0.075% is calculated.
2Tier Ichimoku Pyramiding [Takazudo]Ichimoku based pyramiding strategy example that was tested on 4h TF.
makes the first entry when 2Tier Kumo breakout was occurred.
makes the extra entries when higher-low (on long) or lower-high (on short) was occurred.
uses short term MACD reversal + stop entry as a confirmation of the trend.
slack trailing stop loss.
changes entry quantity by the percentage of SL.
prevents the ranged entry.
This is just an example of how to trade using Ichimoku signals.
Ichimoku Cloud LONG and SHORT indicatorsThis simple script uses 4 rules from Ichimoku Cloud indicator to marks position entry points.
The idea is that by entering a long position just when these 4 criteria are met, you can capture a 2-3% plus move within the next few days:
1. The conversion line is above the base line
2. The price is above the clouds
3. The lagging span is above the clouds
4. The rightmost cloud is green
The same 4 criteria but inverted will indicate a short entry.
In order to avoid 'stale' entries which can lead to chasing, we want the price and conversion line crossovers to be recent, within the past few days. Ideally we want to enter before close on the day the entry signal is given so that we can capture any potential gap up (or down if short). Often the price will make a nice move the next day or day after. If any of the criteria become invalidated, or if after 4-5 days there hasn't been significant movement, then it was a false alarm.
This script will show the basic Ichimoku Cloud indicators, plus labels for bearish and bullish price and conversion line crossovers as well as LONG and SHOT indicators to show when the entry criteria have been met.
Percent Calculator OverlayFirst and foremost: I'm inspired to publish my scripts by the other member's who publish quality, detailed scripts -a token of my appreciation and support, Thank You.
The percent calculator overlay is an extension of my Percent Calculator indicator that allows one to visualize the percent metrics they're interested in trading: it''s function is to simply output the target price from either the close or ones trade-entry based on a desired percent return on investment (R.O.I.) then plots it on top of the chart as an area plot and notes anytime in the past the desired conditions were met with a {flag "Success"}.
Say you want to profit 15% from your entry: open the settings and plug in your entry value and the number 15 into the appropriate settings and the indicator displays what the target price should be (rounded to two decimal places) right on the chart with the area as well as the horizontal line which is enabled by the "track price" setting.
The percent calculator overlay also goes one step further by finding the average percent return on investment over a desired interval of time (the default is 20 candles) as well as allows one to adjust the size of the price move the average percent return on investment is being calculated for which is displayed on the chart as circles and also displays a horizontal line for the most current value with the enabled "track price" setting.
NOTE: unlike the Percent Calculator the Percent Calculator Overlay creates a visual record of the number of success' the programmed parameters have achieved (based on the closing prices) which self adjusts when the "size of the move" is changed.
Say you want to find the average percent return on investment for a 3 candle swing over a 200 candle interval of time: open the settings and plug the number 200 into the interval setting and the number 3 into the price-move setting and the indicator displays what the average 3 candle swing returns on investment and plots what the target price would be to achieve the average return given the current close (or entry price) with the gray circles and the horizontal line enabled with the "track price" setting.
Practical Application: comparing ones desired return on investment to the average return on investment can help determine how realistic ones goals are... it's unlikely to achieve 100% return on investment if the average is only around 10% (given the parameters one is working within) but on the other hand achieving 5% return on investment is highly likely. By visualizing roughly how often the given parameters have achieved success on the chart one can become a lot more comfortable, confident, and accurate with their goals.
Forward Looking Statement: I believe in the not too distant future plug and play automated trading systems will be made available to the general public. Over the past 4 years we have seen brokers offer free charting software, commission free trading, and now fractional shares; I don't think it will be much longer before we can simply click a few buttons and tell the computer to enter when the stochastic is overbought/sold and exit with a predefined percent gain (and to repeat that process indefinitely). -Imagine the data moving 2-3-4 times a second, the liquidity flowing like Niagara falls, and 95% of the working population not only starting to invest but gains the extra cash flow they desperately need.
Beta testing: please comment or send me a message if you happen to stumble over any bugs or have any suggestions for improvement.
Percent Calculator (Return On Investment Target Price)First and foremost: I was inspired to publish my first script after reading some of the other member's scripts -a token of my appreciation and support, Thank You.
The percent calculator is a very simple and basic indicator to use, it''s function is to simply output the target price from either the close or ones trade-entry based on a desired percent return on investment (R.O.I.).
Say you want to profit 15% from your entry: simply plug in your entry value and the number 15 into the appropriate settings and the indicator displays what the target price should be (rounded to two decimal places).
The percent calculator also goes one step further by finding the average percent return on investment over a desired interval of time (the default is 20 candles) as well as allows one to adjust the size of the price move the average percent return on investment is being calculated for.
Say you want to find the average percent return on investment for a 3 candle swing over a 200 candle interval of time: simply plug the number 200 into the interval setting and the number 3 into the price-move setting and the indicator displays what the average 3 candle swing returns on investment.
Practical Application: comparing ones desired return on investment to the average return on investment can help determine how realistic ones goals are... it's unlikely to achieve 100% return on investment if the average is only around 10% (given the parameters one is working within) but on the other hand achieving 5% return on investment is highly likely.
Short in Bollinger Band Down trend (Weekly and Daily) // © PlanTradePlanMM
// 6/14/2020
// ---------------------------------------------------
// Name: Short in Bollinger Band Down trend (Weekly and Daily)
// ---------------------------------------------------
// Key Points in this study:
// 1. Short in BB Lower band, probability of price going down is more than 50%
// 2. Short at the top 1/4 of Lower band (EMA - Lower line), Stop is EMA, tartget is Lower line; it matches risk:/reward=1:3 naturally
//
// Draw Lines:
// BB Lower : is the Target (Black line)
// BB EMA : is the initial Stop (Black line)
// ShortLine : EMA - 1/4 of (Stop-target), which matches risk:/reward=1:3
// Prepare Zone : between EMA and ShortLine
// shortPrice : Blue dot line only showing when has Short position, Which shows entry price.
// StopPrice : Black dot line only showing when has Short position, Which shows updated stop price.
//
// Add SMA50 to filter the trend. Price <= SMA, allow to short
//
// What (Condition): in BB down trend band
// When (Price action): Price cross below ShortLine;
// How (Trading Plan): Short at ShortLine;
// Initial Stop is EMA;
// Initial Target is BB Lower Line;
// FollowUp: if price moves down first, and EMA is below Short Price. Move stop to EMA, At least "make even" in this trade;
// if Price touched Short Line again and goes down, new EMA will be the updated stop
//
// Exit: 1. Initial stop -- "Stop" when down first, Close above stop
// 2. Target reached -- "TR" when down quickly, Target reached
// 3. make even -- "ME" when small down and up, Exit at Entry Price
// 4. Small Winner -- "SM" when EMA below Entry price, Exit when Close above EMA
//
// --------------
// Because there are too many flags in up trend study already, I created this down trend script separately.
// Uptrend study is good for SPY, QQQ, and strong stocks.
// Downtrend Study is good for weak ETF, stock, and (-2x, -3x) ETFs, such as FAZ, UVXY, USO, XOP, AAL, CCL
// -----------------------------------------------------------------------------------------------------------------
// Back test Weekly and daily chart for SPY, QQQ, XOP, AAL, BA, MMM, FAZ, UVXY
// The best sample is FAZ Weekly chart.
// When SPY and QQQ are good in long term up trend, these (-2x, -3x) ETFs are always going down in long term.
// Some of them are not allowed to short. I used option Put/Put spread for the short entry.
//
SSL Crossover + MA choiceThis indicator builds on the SSL channel code by ErwinBeckers @
I have added options for diff MA's to be used in the SSL channel and crossover indicators for buy/sell signals
default MA is set to Arnaud Legaux, but you can set it to whatever you like - original was a Simple Moving Average by ErwinBeckers
The indicator will not repaint as the signals are drawn after close of crossover candles
Let me know if you have any suggestions - happy to add more functionality
Mirror MACD by Trader JayThis is my take on the metatrader indicator, the mirror macd. Works pretty good on Forex, haven't tested on anything else
Enter long after the Blue Line Cross Up the Red Line and EXIT after the Green line Cross Up the Red Line (above the Blue Line).
For the opposite position : ENTER SELL after the Red Line Cross Down.
Generalized SSL by Vts// Generalized SSL:
// This is the very first time the SSL indicator, whose acronym I ignore, is on Tradingview.
// It is based on moving averages of the highs and lows.
// Similar channel indicators can be found, whereas
// this one implements the persistency inside the channel, which is rather tricky.
// The green line is the base line which decides entries and exits, possibly with trailing stops.
// With respect to the original version, here one can play with different moving averages.
// The default settings are (10,SMA)
//
// Vitelot/Yanez/Vts March 2019
Trend is your friendThis indicator evaluates the trend based on crosses of two McGinley moving averages. It paints candles accordingly (it does not repaint), so you can see what the indicator is saying more clearly and stay in your trade until you see a period of consolidation or a reversal. You can control how far away those moving averages need to be for you to consider it a trend. If this distance is not met candles color is not changed and it shows you that the market is in a period of consolidation. I also added visualization of RSI, so you can have an easier time finding appropriate profit targets. For stop loss I would recommend placing it a couple points above or below the previous high / low that is located above / below you final target for entry. You can also use a certain percentage that works for you. I tried adding a stop loss based on ATR, but I did not like the results. Using market structure is a better choice in my opinion.
Here is a basic trading strategy for the default settings:
Wait for the indicator to start printing a series of green or red candles. After that you can enter a long or a short around moving averages. Another valid place to entry is the specific RSI zone. If we are in an uptrend buying when RSI is oversold can be beneficial as you expect market to recover. I do not recommend changing RSI from 14. Vice versa for the downtrend. It gives you an edge as you know at what price RSI will be oversold and allows you to place trades in advance. Pretty neat! You need to realize that no indicator or strategy can give you an exact entry. There will always be some margin of error. What I wanted to say is that if there is a strong trend up and you buy around your key moving averages and when RSI is oversold you entered in good places and there is a pretty good chance you will make money.
Time frame settings:
If you want to use tighter stop losses I would recommend sticking to 15m. Do not go lower. It is not worth the stress. 1h and 4h seems to be very good as well, but expect your stop losses to be wider. What I personally tend to do is display 15m, 30m and 1h and compare it. Think of it as a short, mid and long term. That way you can see things little bit better.
Examples:
1H chart BTC
4h chart EUR / USD
1D chart NASDAQ
15m chart BTC (Daytrading)
That last chart shows that even if you were longing while the trend was about to change you still had a good chance to close it with a little profit and switch to short easily. The default settings is what has worked the best for me. Feel free to change them as you see fit and do not forget to let me know if you find something that works better :)
Notes:
Either disable wick display or change it to a neutral color like gray for both green and red candles. Unfortunately pine script does not allow wick painting, so if you have red / green wicks it will look terrible. If RSI visualization makes your candles look too small you can go to settings and disable the display of individual RSI levels. You will still be able to see the zones, but the scale won't be affected.
Daily ATR%If You are using a percentage of the Daily Average True Range in determining your stop placement,
this quick indicator is for You.
excerpt from investopedia.com/articles/trading/06/stopplacement.asp
ATR % Stop Method
The ATR% stop method can be used by any type of trader because the width of the stop is determined by the percentage of average true range (ATR). ATR is a measure of volatility over a specified period of time. The most common length is 14, which is also a common length for oscillators such as the relative strength index (RSI) and stochastics. A higher ATR indicates a more volatile market, while a lower ATR indicates a less volatile market. By using a certain percentage of ATR, you ensure that your stop is dynamic and changes appropriately with market conditions.
For example, for the first four months of 2006, the GBP/USD average daily range was around 110 to 140 pips. A day trader may want to use a 10% ATR stop - meaning that the stop is placed 10% x ATR pips from the entry price.In this instance, the stop would be anywhere from 11 to 14 pips from your entry price. A swing trader might use 50% or 100% of ATR as a stop. In May and June of 2006, daily ATR was anywhere from 150 to 180 pips. As such, the day trader with the 10% stop would have stops from entry of 15 to 18 pips while the swing trader with 50% stops would have stops of 75 to 90 pips from entry.
UCS_Squeeze_Timing-V1There is an important information the Squeeze indicator is missing, which is the Pre Squeeze entry. While the Bollinger band begins to curves out of the KC, The breakout usually happens. There are many instances that the Squeeze indicator will fire, after the Major move, I cant blame the indicator, thats the nature (lagging) of all indicators, and we have to live with it.
Therefore pre-squeeze-fire Entry can be critical in timing your entry. Timing it too early could result in stoploss if it turns against you, ( or serious burn on options premium), because we never know when the squeeze will fire with the TTM squeeze, But now We know. Its a little timing tool. Managing position is critical when playing options.
I will code the timing signal when I get some time.
Updated Versions -
Impulse MACD enhancedThis indicator is designed to provide robust trade entry signals by combining multiple technical filters. Here’s a summary of its key components:
Impulse MACD Calculation:
Uses a Zero-Lag EMA (ZLEMA) based approach to generate a momentum indicator (with a signal line and histogram) that identifies shifts in market momentum.
Simulated Higher Timeframe (HTF) Trend Filter:
Computes an SMA over a multiplied period to simulate a higher timeframe trend. It requires the price to be in line with this broader trend before signaling an entry.
RSI Filter:
Ensures that for bullish entries the RSI is above a set threshold (indicating momentum) and for bearish entries it’s below a threshold.
ADX Filter:
Uses a manually calculated ADX to confirm that the market is in a strong trend (ADX > 30) to reduce false signals in weakly trending or sideways markets.
Volume Filter:
Compares the current volume to a 20‑bar SMA of volume, requiring volume to be significantly higher (by a user-defined percentage) to confirm the strength of the move.
VWAP Confirmation:
Uses the Volume-Weighted Average Price as an extra layer of confirmation: bullish signals require the price to be above VWAP, bearish signals below.
Optional Long-Term & Short-Term MA Filters:
These filters can be enabled to ensure the price is trading above (or below) longer-term and shorter-term moving averages, further aligning the trade with the prevailing trend.
ATR Volatility Filter:
Checks that volatility (as measured by the ATR relative to price) is below a maximum threshold, which helps avoid taking trades in overly volatile conditions.
Price Action Filter:
Ensures that for a bullish signal the current close is above the highest high over a specified lookback period (and vice versa for bearish), indicating a clear breakout.
Signal Throttling:
Signals are limited to one every 10 bars to prevent excessive trading.
When all these conditions are met, the indicator outputs an entry signal for either a bullish or bearish trade.
This multi-filter approach aims to increase win rate by reducing false signals and aligning trades with strong, confirmed trends while filtering out noise.
Balance of Power for US30 4H [PineIndicators]The Balance of Power (BoP) Strategy is a momentum-based trading system for the US30 index on a 4-hour timeframe. It measures the strength of buyers versus sellers in each candle using the Balance of Power (BoP) indicator and executes trades based on predefined threshold crossovers. The strategy includes dynamic position sizing, adjustable leverage, and visual trade tracking.
⚙️ Core Strategy Mechanics
Positive values indicate buying strength.
Negative values indicate selling strength.
Values close to 1 suggest strong bullish momentum.
Values close to -1 indicate strong bearish pressure.
The strategy uses fixed threshold crossovers to determine trade entries and exits.
📌 Trade Logic
Entry Conditions
Long Entry: When BoP crosses above 0.8, signaling strong buying pressure.
Exit Conditions
Position Close: When BoP crosses below -0.8, indicating a shift to selling pressure.
This threshold-based system filters out low-confidence signals and focuses on high-momentum shifts.
📏 Position Sizing & Leverage
Leverage: Adjustable by the user (default = 5x).
Risk Management: Position size adapts dynamically based on equity fluctuations.
📊 Trade Visualization & History Tracking
Trade Markers:
"Buy" labels appear when a long position is opened.
"Close" labels appear when a position is exited.
Trade History Boxes:
Green for profitable trades.
Red for losing trades.
These elements provide clear visual tracking of past trade execution.
⚡ Usage & Customization
1️⃣ Apply the script to a US30 4H chart in TradingView.
2️⃣ Adjust leverage settings as needed.
3️⃣ Review trade signals and historical performance with visual markers.
4️⃣ Enable backtesting to evaluate past performance.
This strategy is designed for momentum-based trading and is best suited for volatile market conditions.
[SHORT ONLY] ATR Sell the Rip Mean Reversion Strategy█ STRATEGY DESCRIPTION
The "ATR Sell the Rip Mean Reversion Strategy" is a contrarian system that targets overextended price moves on stocks and ETFs. It calculates an ATR‐based trigger level to identify shorting opportunities. When the current close exceeds this smoothed ATR trigger, and if the close is below a 200-period EMA (if enabled), the strategy initiates a short entry, aiming to profit from an anticipated corrective pullback.
█ HOW IS THE ATR SIGNAL BAND CALCULATED?
This strategy computes an ATR-based signal trigger as follows:
Calculate the ATR
The strategy computes the Average True Range (ATR) using a configurable period provided by the user:
atrValue = ta.atr(atrPeriod)
Determine the Threshold
Multiply the ATR by a predefined multiplier and add it to the current close:
atrThreshold = close + atrValue * atrMultInput
Smooth the Threshold
Apply a Simple Moving Average over a specified period to smooth out the threshold, reducing noise:
signalTrigger = ta.sma(atrThreshold, smoothPeriodInput)
█ SIGNAL GENERATION
1. SHORT ENTRY
A Short Signal is triggered when:
The current close is above the smoothed ATR signal trigger.
The trade occurs within the specified trading window (between Start Time and End Time).
If the EMA filter is enabled, the close must also be below the 200-period EMA.
2. EXIT CONDITION
An exit Signal is generated when the current close falls below the previous bar’s low (close < low ), indicating a potential bearish reversal and prompting the strategy to close its short position.
█ ADDITIONAL SETTINGS
ATR Period: The period used to calculate the ATR, allowing for adaptability to different volatility conditions (default is 20).
ATR Multiplier: The multiplier applied to the ATR to determine the raw threshold (default is 1.0).
Smoothing Period: The period over which the raw ATR threshold is smoothed using an SMA (default is 10).
Start Time and End Time: Defines the time window during which trades are allowed.
EMA Filter (Optional): When enabled, short entries are only executed if the current close is below the 200-period EMA, confirming a bearish trend.
█ PERFORMANCE OVERVIEW
This strategy is designed for use on the Daily timeframe, targeting stocks and ETFs by capitalizing on overextended price moves.
It utilizes a dynamic, ATR-based trigger to identify when prices have potentially peaked, setting the stage for a mean reversion short entry.
The optional EMA filter helps align trades with broader market trends, potentially reducing false signals.
Backtesting is recommended to fine-tune the ATR multiplier, smoothing period, and EMA settings to match the volatility and behavior of specific markets.
Crypto Scanner v4This guide explains a version 6 Pine Script that scans a user-provided list of cryptocurrency tokens to identify high probability tradable opportunities using several technical indicators. The script combines trend, momentum, and volume-based analyses to generate potential buying or selling signals, and it displays the results in a neatly formatted table with alerts for trading setups. Below is a detailed walkthrough of the script’s design, how traders can interpret its outputs, and recommendations for optimizing indicator inputs across different timeframes.
## Overview and Key Components
The script is designed to help traders assess multiple tokens by calculating several indicators for each one. The key components include:
- **Input Settings:**
- A comma-separated list of symbols to scan.
- Adjustable parameters for technical indicators such as ADX, RSI, MFI, and a custom Wave Trend indicator.
- Options to enable alerts and set update frequencies.
- **Indicator Calculations:**
- **ADX (Average Directional Index):** Measures trend strength. A value above the provided threshold indicates a strong trend, which is essential for validating momentum before entering a trade.
- **RSI (Relative Strength Index):** Helps determine overbought or oversold conditions. When the RSI is below the oversold level, it may present a buying opportunity, while an overbought condition (not explicitly part of this setup) could suggest selling.
- **MFI (Money Flow Index):** Similar in concept to RSI but incorporates volume, thus assessing buying and selling pressure. Values below the designated oversold threshold indicate potential undervaluation.
- **Wave Trend:** A custom indicator that calculates two components (WT1 and WT2); a crossover where WT1 moves from below to above WT2 (particularly near oversold levels) may signal a reversal and a potential entry point.
- **Scanning and Trading Zone:**
- The script identifies a *bullish setup* when the following conditions are met for a token:
- ADX exceeds the threshold (strong trend).
- Both RSI and MFI are below their oversold levels (indicating potential buying opportunities).
- A Wave Trend crossover confirms near-term reversal dynamics.
- A *trading zone* condition is also defined by specific ranges for ADX, RSI, MFI, and a limited difference between WT1 and WT2. This zone suggests that the token might be in a consolidation phase where even small moves may be significant.
- **Alerts and Table Reporting:**
- A table is generated, with each row corresponding to a token. The table contains columns for the symbol, ADX, RSI, MFI, WT1, WT2, and the trading zone status.
- Visual cues—such as different background colors—highlight tokens with a bullish setup or that are within the trading zone.
- Alerts are issued based on the detection of a bullish setup or entry into a trading zone. These alerts are limited per bar to avoid flooding the trader with notifications.
## How to Interpret the Indicator Outputs
Traders should use the indicator values as guidance, verifying them against their own analysis before making any trading decision. Here’s how to assess each output:
- **ADX:**
- **High values (above threshold):** Indicate strong trends. If other indicators confirm an oversold condition, a trader may consider a long position for a corrective reversal.
- **Low values:** Suggest that the market is not trending strongly, and caution should be taken when considering entry.
- **RSI and MFI:**
- **Below oversold levels:** These conditions are traditionally seen as signals that an asset is undervalued, potentially triggering a bounce.
- **Above typical resistance levels (not explicitly used here):** Would normally caution a trader against entering a long position.
- **Wave Trend (WT1 and WT2):**
- A crossover where WT1 moves upward above WT2 in an oversold environment can signal the beginning of a recovery or reversal, thereby reinforcing buy signals.
- **Trading Zone:**
- Being “in zone” means that the asset’s current values for ADX, RSI, MFI, and the closeness of the Wave Trend lines indicate a period of consolidation. This scenario might be suitable for both short-term scalping or as an early exit indicator, depending on further market analysis.
## Timeframe Optimization Input Table
Traders can optimize indicator inputs depending on the timeframe they use. The following table provides a set of recommended input values for various timeframes. These values are suggestions and should be adjusted based on market conditions and individual trading styles.
Timeframe ADX RSI MFI ADX RSI MFI WT Channel WT Average
5-min 10 10 10 20 30 20 7 15
15-min 12 12 12 22 30 20 9 18
1-hour 14 14 14 25 30 20 10 21
4-hour 16 16 16 27 30 20 12 24
1-day 18 18 18 30 30 20 14 28
Adjust these parameters directly in the script’s input settings to match the selected timeframe. For shorter timeframes (e.g., 5-min or 15-min), the shorter lengths help filter high-frequency noise. For longer timeframes (e.g., 1-day), longer input values may reduce false signals and capture more significant trends.
## Best Practices and Usage Tips
- **Token Limit:**
- Limit the number of tokens scanned to 10 per query line. If you need to scan more tokens, initiate a new query line. This helps manage screen real estate and ensures the table remains legible.
- **Confirming Signals:**
- Use this script as a starting point for identifying high potential trades. Each indicator’s output should be used to confirm your trading decision. Always cross-reference with additional technical analysis tools or market context.
- **Regular Review:**
- Since the script updates the table every few bars (as defined by the update frequency), review the table and alerts regularly. Market conditions change rapidly, so timely decisions are crucial.
## Conclusion
This Pine Script provides a comprehensive approach for scanning multiple cryptocurrencies using a combination of trend strength (ADX), momentum (RSI and MFI), and reversal signals (Wave Trend). By using the provided recommendation table for different timeframes and limiting the tokens to 20 per query line (with a maximum of four query lines), traders can streamline their scanning process and more effectively identify high probability tradable tokens. Ultimately, the outputs should be critically evaluated and combined with additional market research before executing any trades.
Daily COC Strategy with SHERLOCK WAVESThis indicator implements a unique trading strategy known as the "Daily COC (Candle Over Candle) Strategy" enhanced with "SHERLOCK WAVES" for pattern recognition. It's designed for traders looking to capitalize on specific candlestick formations with a negative risk-reward ratio, with the aim of achieving a high win rate (over 70%) through numerous trading opportunities, despite each trade having a higher risk relative to the reward.
Key Features:
Pattern Recognition: Identifies a setup based on three consecutive candles - a red candle followed by a shooting star, then an entry candle that does not break below the shooting star's low.
Negative Risk/Reward Trade Selection: Focuses on entries where the potential stop loss is greater than the take profit, banking on a high win rate to offset the individual trade's negative risk-reward ratio.
Visual Signals:
Green Label: Marks potential entry points at the high of the candle before the entry.
Green Dot: Indicates a winning trade closure.
Red Dot: Signals a losing trade closure.
Blue Circle: Warns when the current candle is within 2% of breaking above the previous candle's high, suggesting a potential setup is developing.
Green Circle: Plots the take profit level.
Red Circle: Plots the stop loss level.
Dynamic Statistics: A live updating label showing the number of trades, wins, losses, open trades, current account balance, and win percentage.
Customizable Parameters:
Risk % per Trade: Adjust the percentage of your account balance you're willing to risk on each trade.
Initial Account Balance: Set your starting balance for tracking performance.
Start Date for Strategy: Define when the strategy should start calculating from, allowing for backtesting.
Alerts:
An alert condition is set for when a potential trade setup is developing, helping traders prepare for entries.
Usage Tips:
This strategy is predicated on the idea that a high win rate can compensate for the negative risk-reward ratio of individual trades. It might not suit all market conditions or traders' risk profiles.
Use this strategy in conjunction with other analysis methods to validate trade setups.
Note: Always backtest thoroughly before applying to live markets. Consider this tool as part of a broader trading strategy, not a standalone solution. Monitor your win rate and adjust your risk management accordingly to ensure the strategy remains profitable over time.
This description now correctly explains the purpose behind the negative risk-reward ratio in the context of your trading strategy.
4 EMA & MACDThe indicator that combines Moving Average and MACD into one is very useful for providing a more complete picture of the market. Here's how it works:
Moving Average (MA): This is a trend indicator that smooths the price to show the dominant trend direction. MA helps traders determine whether the market is in an uptrend, downtrend, or sideways. For example, if the price is above the MA, it might indicate an uptrend, while if the price is below the MA, it might indicate a downtrend.
MACD (Moving Average Convergence Divergence): MACD measures market momentum and can provide entry and exit signals based on the difference between two moving averages (fast MA and slow MA). A buy signal occurs when the MACD crosses above the signal line, and a sell signal occurs when the MACD crosses below the signal line.
Combining both gives traders a more complete view:
MA provides an overview of the larger trend direction.
MACD helps identify moments when momentum supports a position for entering or exiting.
Common usage:
Entry: If the price is above the Moving Average (uptrend) and the MACD shows a buy signal (for example, MACD crossing above the signal line), it can be a signal to buy.
Exit: If the price starts moving below the MA and the MACD shows a sell signal, it can be a signal to sell or exit the position.
There is an indicator called MACD + Moving Average Cross, which combines both elements, providing stronger signals and making it easier to follow the market.
3 Candle AlertThis is a test for integration using a webhook. I am publishing it so I can share it. Ultimately, this is what we want to do:
1. Trade Entry Rules:
Wait until at least the 3rd bar of the day (15 minutes after market open) before entering the first trade.
Order of Priority for Entry:
Look for two consecutive volume bars of the same color (the second bar must have higher volume than the first).
Look for a “price push” beyond the high or low of the day (as determined in the first 15 minutes).
2. Trading Direction:
If the volume bars are RED, I take a Long Position.
If the volume bars are GREEN, I take a Short Position.
ENIGMA Signals with Retests Select higher Time FrameENIGMA Signals with Retests – Script Description
The "ENIGMA Signals with Retests" script is a unique indicator designed for traders who prefer precision trading based on price action retests of key levels derived from higher timeframes. This tool is ideal for those employing multi-timeframe analysis strategies, helping them detect high-probability trade entries when the price interacts with significant support and resistance levels.
What Does This Script Do?
This indicator identifies key levels from a higher timeframe selected by the user (e.g., 4-hour or daily), then tracks price action on lower timeframes to provide actionable buy and sell signals when the price retests these levels. It visually plots the key levels on the chart and triggers alerts for potential trade opportunities when conditions are met.
How It Works
Key Level Detection:
The script uses custom functions to detect recent swing highs and swing lows on the selected higher timeframe (such as 4H or Daily). These levels represent potential areas of support and resistance where price reactions are likely to occur.
Multi-Timeframe Analysis:
The indicator leverages the request.security() function to retrieve price data from the user-defined higher timeframe and plots horizontal lines on the chart for the most recent swing highs and lows.
Retest-Based Signals:
Once the key levels are plotted, the script continuously monitors the price on the lower timeframe:
A Buy Signal is triggered when the price closes below a key high level and then moves back above it, indicating a potential bullish retest.
A Sell Signal is triggered when the price closes above a key low level and then moves back below it, indicating a potential bearish retest.
These retest signals are displayed as green and red arrows on the chart, helping traders identify optimal entry points.
Alerts for Retests:
The script includes built-in alert conditions that notify traders when a valid retest signal occurs. This allows traders to react promptly without constantly monitoring the chart.
How to Use the Script
Select Your Key Timeframe:
From the input settings, choose a higher timeframe that suits your trading style (e.g., 4H for intraday trading or Daily for swing trading).
Adjust Visual Preferences:
Customize the line style (solid, dashed, or dotted) and length of the plotted levels.
Toggle labels for the levels on or off as per your preference.
Trade Execution:
Once a retest signal appears on the lower timeframe, consider entering a trade in the direction of the signal. The buy signal suggests a potential long entry, while the sell signal indicates a potential short entry.
Set Alerts:
Use the alert conditions provided to get notified whenever a valid retest occurs. This helps in reducing screen time and improving trading efficiency.
Underlying Concepts
This script is grounded in the principles of support and resistance, retests, and breakout trading. By focusing on multi-timeframe key levels, it aligns with widely used trading concepts like:
Breakout and Retest: Entering trades after a confirmed breakout and successful retest of a significant level.
Swing Highs and Lows: Recognizing swing points to identify strong price reaction zones.
Multi-Timeframe Confluence: Enhancing trade probability by ensuring that the signals on lower timeframes correspond with key levels from higher timeframes.
Why This Script Is Unique
Unlike many generic trend-following or scalping indicators, "ENIGMA Signals with Retests" offers:
Precision Signals: It only provides signals when specific retest conditions are met, reducing false signals and noise.
Multi-Timeframe Customization: Users can tailor the higher timeframe to their strategy, making it versatile for various trading styles.
Alert Functionality: Alerts are integrated, allowing traders to stay updated without constantly monitoring the charts.
This script is perfect for traders looking for a systematic way to trade retests of key levels across multiple timeframes. Whether you're a scalper, day trader, or swing trader, "ENIGMA Signals with Retests" can help improve your precision and timing in the market.