Mean Reversion with Incremental Entry by HedgerLabsThe "Mean Reversion with Incremental Entry" strategy, designed by HedgerLabs, is an advanced TradingView strategy script focusing on the mean reversion technique in financial markets. This strategy is engineered for traders who prefer a systematic approach with an emphasis on incremental entries based on price movements relative to a moving average.
Key Features:
Moving Average Based Strategy: Central to this strategy is the simple moving average (SMA), around which all trade entries and exits revolve. Traders can customize the MA length, making it flexible for various trading styles and timeframes.
Incremental Entry Mechanism: Unique to this strategy is the incremental entry system. The strategy initiates an initial trade when the price deviates from the MA by a specified percentage. Subsequent entries are made at incremental steps, defined by the trader, as the price moves further away from the MA. This method can potentially capitalize on increasing market volatility.
Dynamic Position Management: The strategy intelligently manages positions by entering long when the price is below the MA and short when above, allowing for adaptive positioning in different market conditions.
Automated Exit Logic: Exit points are determined when the price touches the MA, aiming to close positions at potential reversal points for optimized trade outcomes.
Continuous Market Analysis: With 'calc_on_every_tick' enabled, the strategy constantly evaluates market conditions, ensuring prompt reaction to price movements.
Usage Scenario:
This strategy is particularly beneficial in markets exhibiting mean-reverting behavior. It is suitable for traders focusing on swing trading or those who prefer to scale into positions during periods of high volatility.
Disclaimer:
Please remember that this strategy is for informational and educational purposes only and is not intended as financial or investment advice. Trading in financial markets carries risks, including the potential loss of capital. We advise doing your own research and consulting with a financial expert before making any investment decisions.
Göstergeler ve stratejiler
Ehlers Combo Strategy🚀 Presenting the Enhanced Ehlers Combo Strategy 🚀
Hello Traders! 👋 I'm thrilled to share the latest version of the Ehlers Combo Strategy v2.0. This powerful algorithm combines Ehlers Elegant Oscillator, Decycler, Instantaneous Trendline, Spearman Rank, and introduces the Signal to Noise Ratio for even more precise trading signals.
📊 Strategy Highlights:
Ehlers Elegant Oscillator: Captures market momentum and turning points.
Ehlers Decycler: Filters out market noise for clearer trend signals.
Instantaneous Trendline: Offers a dynamic view of the market trend.
Spearman Rank: Analyzes market rank correlations for enhanced insights.
Signal to Noise Ratio (SNR): Filters out noise for more accurate signals.
💡 Key Features & Customizations:
Adaptive Length: Enable adaptive length based on the market's current conditions.
SNR Threshold: Set your desired SNR threshold for filtering signals.
Exit Length: Define the length for exit signals.
📈 Trading Signals:
Long Entry: Elegant Oscillator and Decycler cross above 0, source crosses above Decycler, source is greater than an increasing Instantaneous Trendline, Spearman Rank is positive, and SNR exceeds the threshold.
Long Exit: Source crosses below the Instantaneous Trendline after entering a long position.
Short Entry: Elegant Oscillator and Decycler cross below 0, source crosses below Decycler, source is less than a decreasing Instantaneous Trendline, Spearman Rank is negative, and SNR exceeds the threshold.
Short Exit: Source crosses above the Instantaneous Trendline after entering a short position.
📊 Insights & Enhancements:
Dynamic Length: The strategy adapts its length dynamically based on market conditions.
Improved SNR: Signal to Noise Ratio ensures better filtering of signals.
Enhanced Visualization: The Elegant Oscillator now features improved color coding for a clearer interpretation.
🚨 Disclaimer:
Trading involves risk, and this script should be used judiciously. It's not a guaranteed profit machine, but with careful use, it can be a valuable addition to your toolkit.
Feel free to backtest, tweak, and make it your own! Let's conquer the markets together! 💪📈
🚀✨ Happy Trading! ✨🚀
---
🙌 Credits:
A big shoutout to the original contributors:
@blackcat1402
@cheatcountry
@DasanC
[Opening Range Breakout] S&R Strategy with Backtest (TSO) S&R Strategy with Backtest (TSO)
===========================================================================
===========================================================================
This indicator serves as a comprehensive full-cycle trading system, providing alerts at each stage of the trade, from opening to closure. The algorithm initiates by calculating the Opening/Pre-Market Price Range, waiting for a breakout to generate signals, and establishing TP (Take Profit and SL (Stop Loss) levels. The Opening/Pre-Market range, known for its robust support and resistance levels, is a key element. To filter out false breakouts and capture valid ones, the indicator incorporates a Smart Breakout feature, requiring confirmation through an initial breakout, a confirmation bounce, and a subsequent confirmation breakout. The indicator offers a variety of automated approaches for TP (Take-Profit) and SL (Stop-Loss) settings. These include leveraging opening range levels, both the most recent and historical S&R (Support and Resistance) levels, and an ATR (Average True Range) trailing stop-loss. This diverse set of tools ensure flexibility in tailoring TP (Take-Profit) and SL (Stop-Loss) parameters to different market conditions, contributing to a more adaptive and robust trading system. Additionally, a series of signal analysis tools, including candle bar analysis, divergence, and volume, enhance the precision of trading signals.
* Works with popular timeframes: 1M, 3M, 5M, 15M, 30M, 45M, 1H.
* Works best with Indices, Stocks, and Commodities, since there is pre-market price movement, which is used to obtain support and resistance price range.
* Every action of the trade is calculated on a confirmed closed candle bar state (barstate.isconfirmed), so the indicator will never repaint.
==============================================================
Indicator visual examples with various instruments:
---------------------------------------------------------------------------
Strategy Config: ORB_AAPL(NASDAQ)_15M
Example of Signal Cleanup confirmations via SMA and ATR. Take-Profit is calculated per optimal S&R (resistance) most recent levels.
---------------------------------------------------------------------------
Strategy Config: ORB_AMD(NASDAQ)_5M
Example of optimal S&R (resistance) level from previous day for Take-Profit 1 target, which gets hit.
---------------------------------------------------------------------------
Strategy Config: ORB_META(NASDAQ)_5M
Example of dynamic SL (Stop-Loss), which reduces the risk by moving to the new support level, which is at the same time is below the current price. Also Signal Cleanup confirmations via SMA, ATR and VWAP
---------------------------------------------------------------------------
Strategy Config: ORB_MSFT(NASDAQ)_15M
Example of automated ATR Trail Stop-Loss activation at no optimal S&R (support) feature.
---------------------------------------------------------------------------
Strategy Config: ORB_NFLX(NASDAQ)_3M
Example of a skipped LONG trade due to no optimal S&R (support) for Stop-Loss (can be seen per chart that it would be a loss trade). On another side, a SHORT SMA Confirmed trade hits all 3 profit targets.
---------------------------------------------------------------------------
Strategy Config: ORB_NVDA(NASDAQ)_15M
Example of no optimal support for SHORT Take-Profit targets, with ATR Trail Stop-Loss.
---------------------------------------------------------------------------
Strategy Config: ORB_SPY(AMEX)_15M
Example of several signal confirmations at the same time (SMA, VWAP, EWO) and S&R-TP-Entry-SL SL (Stop-Loss) system, which at trade open sets SL (Stop-Loss) per optimal S&R (since this is a LONG trade - support) and then moves to Entry at first take-profit.
===========================================================================
Trading open/close/TP/SL labels, plots and colors explanations:
---------------------------------------------------------------------------
>>> Opening/Pre-Market range: White dashed lines show opening range/pre-market levels with dotted white line extend along the Trading Schedule (if Trading Schedule is turned off - it will extend until next day).
>>> Smart Breakout: 1) Initial Breakout: "init_Brekout" | 2) Confirmation Bounce: "conf_Bounce" | 3) Confirmation Breakout: "conf_Breakout" (additional lables on chart can be hidden with only Confirmation Breakout shown).
>>> Additional S&R (Support and Resistance) lines: yellow - support, blue - resistance (can be hidden).
>>>>> LONG open: green "house" looking arrow below candle bar.
>>>>> SHORT open: red "house" looking arrow above candle bar.
>>>>> LONG/SHORT take-profit target: green/red circles (multi-profit > TP2/3/4/5 smaller circles).
>>>>> LONG/SHORT stop-loss target: green/red + crosses.
>>>>> LONG/SHORT take-profit hits: green/red diamonds.
>>>>> LONG/SHORT stop-loss hits: green/red X-crosses.
>>>>> LONG/SHORT EOD (End of Day | Intraday style) close (profitable trade): green/red squares.
>>>>> LONG/SHORT EOD (End of Day | Intraday style) close (loss trade): green/red PLUS(+)-crosses.
===========================================================================
STATS TABLE ///////////////////////////////////////////////////////////////
---------------------------------------------------------------------------
>>> Trading STATS table on the chart showing current trade direction, Last TP (Take-Profit) Taken, Current Trade PL (profit/loss in price difference from trade open to the very current state).
---------------------------------------------------------------------------
CUSTOM TRADING DATE RANGE /////////////////////////////////////////////////
---------------------------------------------------------------------------
>>>>> This feature can be used to manually set indicator trading range from and to a specific date and time. NOTE: This is not intended for a very long date range backtesting, utilize TradingView Strategy Tester for that.
* Use TradingView “Strategy Tester” to see Backtesting results
NOTE: If Strategy Tester does not show any results with Date Ranged fully unchecked, there may be an issue where a script opens a trade, but there is not enough TradingView power to set the Take-Profit and Stop-Loss and somehow an open trade gets stuck and never closes, so there are “no trades present”. In such case - manually check “Start”/“End” dates or use “Deep Backtesting” feature!
---------------------------------------------------------------------------
INTRADAY/TRADING SCHEDULE | ET (EASTERN TIMEZONE) ////////////////////////
---------------------------------------------------------------------------
>>> Trading Schedule - On/Off: This is where an Intraday Session or any custom session can be turned on and then scheduled.
>>>>> Trading Schedule - Time: Trade open Signals/Alerts time zone Hours. | NOTE: US Market Active Hours: 09:30 - 16:00 ET / Power Hour: 15:00 - 16:00 ET)
>>> Trading Schedule - EOD(End of Day) Close - On/Off: Close trade if still open by certain hour (set below).
>>>>> Trading Schedule - EOD(End of Day) Close - Hour (ET): US trading session closes at 4PM ET > 16:00.
Here is when the trade will close with EOD(End of Day) Close/Trading Cut Off Hour set to 16, which is end of US trading session:
1/3/5min > will close at 15:55pm ET
15min > will close at 15:45pm ET
30min > will close at 15:30pm ET
45min > will close at 15:45pm ET
60min > will close at 16:00pm ET
Here is when the trade will close with EOD(End of Day) Close/Trading Cut Off Hour set to 15, which is 1 hour before the end of US trading session (right before power hour starts):
1/3/5min > will close at 14:55pm ET
15min > will close at 14:45pm ET
30min > will close at 14:30pm ET
45min > will close at 14:45pm ET
60min > will close at 15:00pm ET
---------------------------------------------------------------------------
TRADE SIGNAL CONFIGURATION ////////////////////////////////////////////////
---------------------------------------------------------------------------
>>> Opening Range - Time Period (ET): Opening/Pre-Market Range time, which by default is set to US Session Pre-Market Range, can be customized to any time range as there are different market hours around the world and this setting can be customized to any time. Pre-Market Time/Price Range Hours(ET) | Pre-Market EU/Asia Hours: 4:00-9:30 ET | Pre-Market US (NY) Hours: 7:00-9:30 ET | Post-Market US Hours: 16:00-19:00 ET | First US Market Hour: 9:30-10:30 ET | Power Hour: 15:00-16:00)
>>> Opening Range - Levels Structure: determines how the price range is calculated, based on the highest/lowest price zones or based on the candle body bar.
>>> Opening Range - Breakout System: "Simple": bar close price has to simply break the opening range level | "Smart": After initial breakout (which is basically 'Simple' Breakout), a price come back is expected to the opening range level, a bounce, then a confirmation breakout with price closing ahead of the initial breakout.
>>>>> Opening Range - Smart Breakout: # of bars until Initial Breakout becomes invalid
>>>>> Opening Range - Smart Breakout: Bounce Settings, "Cross-Return" - LONG: Price has to cross down the initial breakout S&R, but never close below it; SHORT: Price has to cross up the initial breakout S&R, but then close above it; ||| "Cross-Close-Return" - LONG: At least 1 candle has to close below initial breakout S&R; SHORT: At least 1 candle has to close above initial breakout S&R.
>>>>> Alerts - Opening Range - Smart Breakout: Confirmation Bounce Alert. Trigger an alert at confirmation bounce. This is for live trading (especially scalping) Smart Breakout approach - to get ready to open the trade in the correct direction.
---------------------------------------------------------------------------
TAKE-PROFIT/STOP-LOSS CONFIGURATION ///////////////////////////////////////
---------------------------------------------------------------------------
>>> TP (Take-Profit) and SL (Stop-Loss): S&R Search - Left Bars: This setting is for calculating optimal S&R (Support and Resistance) levels (in combination with below - Right Bars) for S&R (Support and Resistance) TP (Take-Profit) levels calculations. NOTE: if at any point - there will be no available S&R (Support & Resistance) found for SL (Stop-Loss, 'S&R-Dynamic-SL' or 'S&R-Static-SL' setting, since both settings search for optimal SL (Stop-Loss) at trade open) or TP (Take-Profit, at any setting, since at trade open, an optimal TP (Take-Profit) level is searched) > SL (Stop-Loss) will automatically switch to trailing ATR-Trailing-SL and the trade will continue to run until it either hits ATR-Trailing-SL (Stop-Loss) or closes at EOD (End of Day).
>>> TP (Take-Profit) and SL (Stop-Loss): S&R Search - Right Bars: This setting is for calculating optimal S&R (Support and Resistance) levels (in combination with above - Left Bars) for S&R (Support and Resistance) TP (Take-Profit) levels calculations. NOTE: if at any point - there will be no available S&R (Support & Resistance) found for SL (Stop-Loss, 'S&R-Dynamic-SL' or 'S&R-Static-SL' setting, since both settings search for optimal SL (Stop-Loss) at trade open) or TP (Take-Profit, at any setting, since at trade open, an optimal TP (Take-Profit) level is searched) > SL (Stop-Loss) will automatically switch to trailing ATR-Trailing-SL and the trade will continue to run until it either hits ATR-Trailing-SL (Stop-Loss) or closes at EOD (End of Day).
>>> TP (Take-Profit) and SL (Stop-Loss): S&R Search - Custom Resolution: This is a custom timeframe setting specifically for S&R Search, it disregards current chart timeframe. This is great to use for scalping, for example: with main chart set to 1min and the custom timeframe set to 3min or 5min - there will be stronger support/resistance levels with more detailed price action.
>>> TP (Take-Profit) and SL (Stop-Loss): # of Bars (5000 max) to search back for optimal Support and Resistance levels: This is how many candles will be searched backwards for previous S&Rs (Support and Resistance) to find the optimal levels for TP (Take-Profit) and SL (Stop-Loss). NOTE: If SL (Stop-Loss) System is set to 'ATR-Trailing-SL' - this setting is only relevant for searching TP (Take-Profit) levels.
>>> TP (Take-Profit) and SL (Stop-Loss): At Trade Open - No S&R (Support and Resistance) found behavior: 'Skip Trade': If at trade open there are no S&R (Support and Resistance) levels for TP1 (Take-Profit 1) or SL (Stop-Loss) - trade is skipped. 'Open/ATR-Trailing-SL': If at trade open there are no S&R (Support and Resistance) levels for TP1 (Take-Profit 1) or SL (Stop-Loss), the trade will still be open with SL (Stop-Loss) set to 'ATR-Trailing-SL'.
>>> TP (Take-Profit) System: Pre-Market-Range-TP: All TP (Take-Profit) targets are calculated at trade open using the distance between Support and Resistance per Opening Pre-market Range and then divided by TP (Take-Profit) Divider, which can be set below; S&R-Current-Optimal-TP1: TP1 (Take-Profit) level is set per currently available S&R (Support & Resistance), if none available - historical S&R (Support & Resistance) levels will be searched, remaining TP (Take-Profit) targets (if selected, up to 5 # of TPs) are searched through most recent closest historical S&R (Support & Resistance) levels; S&R-Historic-Optimal-TP1: TP1 (Take-Profit) level is set per historically most recent closest available S&R (Support & Resistance) to the Entry price, remaining TP (Take-Profit) targets (if selected, up to 5 # of TPs) are searched through historical S&R (Support & Resistance) levels as well.
>>> TP (Take-Profit, Pre-Market-Range-TP) Divider #: This is for 'Pre-Market-Range-TP' setting only, where TP (Take-Profit) level is the distance between top/bottom levels of the opening range. It can be reduced by the divider #. (1 - full distance; 2 - 1/2 distance; 3 - 1/3 distance; etc.
>>> TP (Take-Profit) # of targets: It is wise to divide the trade into several profit targets. With this setting - up to 5 TP (Take-Profit) targets can be approached. The trade will be equally divided up by the selected # of TP (Take-Profit) targets.
>>> TP (Take-Profit) target(s) Consumed: Signal Bar consuming Take-Profits - trade signal bar is big enough to 'consume'/close ahead of the first TP setting > the signal can either be skipped, or all Take-Profit targets pushed ahead by average bar size).
>>> TP (Take-Profit) Offset - On/Off: This is a feature where TP (Take-Profit) target will be considered taken even if the price never crosses the target(s), but comes close enough (based on the offset amount). Set the offset amount below.
>>>>> TP (Take-Profit) Offset - Amount: Some Examples: (for SPY 0.1 would be $0.10 offset - if TP1 is $400 and price hits $399.90 > TP1 considered taken/signal shown/alert) | NOTE: For EURUSD, it is very different and if wrong will show TP1 immediately at trade open, typical good offset for EURUSD is: 0.0005 | Similar for BTCUSD, for example: 10 - $10 offset, if TP is $15,000 > $14,990.
>>> SL (Stop-Loss) System: 'Pre-Market-Range-SL': SL (Stop-Loss) is set to the opposite market range level from trade direction; 'S&R-Static-SL': SL (Stop-Loss) is set at trade open per optimal most recent S&R level and remains there until trade closes; 'S&R-Dynamic-SL': SL (Stop-Loss) is set at a trade open per optimal S&R (Support and Resistance) level from the most recent AND historical S&Rs (Support and Resistance), with every bar closed it will check if there are new S&Rs (Support and Resistance) levels, if these levels appear closer to the current price then current level - it will move SL (Stop-Loss) to that level, therefore reducing the risk; 'ATR-Trailing-SL': SL (Stop-Loss) is trail-following the ATR (Average True Range) line, NOTE: If at signal trigger, ATR will be against the trade direction - trade open signal will be skipped; 'S&R-TP-Entry-SL': SL (Stop-Loss) initially is set per S&R, then moves to Entry price at the very first TP (Take-Profit) hit and remains there until trade closes; 'S&R-TP-Trail-SL': SL (Stop-Loss) initially is set per S&R, then moves to Entry at TP1 (Take-Profit 1) hit, then keeps trailing per previously taken profit targets (TP2 taken, SL moves to TP1 | TP3 taken, SL moves to TP2 | TP4 taken, SL moves to TP3). NOTE: 'ATR-Trailing-SL' will not switch automatically if 'S&R-Dynamic-SL', S&R-TP-Entry-SL', 'S&R-TP-Trail-SL' system is selected, as already the most optimal SL (Stop-Loss) level is calculated - it will switch automatically only with 'S&R-Static-SL' system.
>>> SL (Stop-Loss) - On/Off: Without SL (Stop-Loss), unless EOD (End of Day) Close is turned on - there will be no SL (Stop-Loss) at all!
---------------------------------------------------------------------------
SIGNAL ANALYSIS AND CLEANUP ///////////////////////////////////////////////
---------------------------------------------------------------------------
>>> Signal Cleanup - Bar Color: Include Bar Color (bullish/bearish) confirmation, LONG signal will only be opened if signal bar is green/bullish, SHORT if red/bearish.
>>> Signal Cleanup - Bar Directional Structure: Skip opposite bar structure types signals (For example: bearish green hammer).
>>> Signal Cleanup - Bar Doji Skip: Skip doji (indecisive) candles signals.
>>> Signal Cleanup - EWO (Elliott Wave Oscillator): Include EWO (Elliott Wave Oscillator), LONG will only be opened if EWO is bullish / SHORT if EWO is bearish.
>>> Signal Cleanup - VWAP (Volume-Weighted Average Price): Include VWAP (Volume-Weighted Average Price), LONG will only be opened if price is above VWAP / SHORT if price is below VWAP.
>>> Signal Cleanup - MA (Moving Average) Confirmation: Include MA (Moving Average), LONG will only be opened if MA is bullish / SHORT if MA is bearish.
>>> Signal Cleanup - ATR (Average True Range): Include ATR (Average True Range) confirmation, LONG will only be opened if ATR is bullish / SHORT if ATR is bearish.
>>> Signal Cleanup - Divergence(RSI + MACD): Include Divergence (RSI + MACD ) confirmation, LONG will only be opened if Divergence is bullish / SHORT if Divergence is bearish.
>>> Signal Cleanup - Volume % Strength: Include Volume strength/percentage confirmation, LONG/SHORT will only be opened with strong Volume matching the signal direction | By default, strong Volume percentage is set to 150% and weak to 50%.
>>> Signal Cleanup - Volume Above Average: Include Volume Above Moving Average (Volume closing bar closes above volume moving average) confirmation, LONG/SHORT will only be opened with Volume above average - Volume closed bar color must match the closed price color (bullish/bearish direction) + Volume bar must be closed above volume MA line).
---------------------------------------------------------------------------
===========================================================================
||||||||||||||||||||||||||||||||||| *** ||||||||||||||||||||||||||||||||||| *** |||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||| *** ||||||||||||||||||||||||||||||||||| *** |||||||||||||||||||||||||||||||||||
TP System - VERY IMPORTANT INFO!
-------------------------------------------------------------------------------------------------------------------
"TP PERCENTAGE" - amount by which current trade/position needs to be reduced/partially closed/sold.
-------------------------------------------------------------------------------------------------------------------
TP System: Dynamic
"TP PERCENTAGE" - will always be the same amount (trade/position size divided by the # of take-profit(TP) targets) and percentage to be closed will always be of the ORIGINAL trade/position.
-------------------------------------------------------------------------------------------------------------------
TP System: Static
"TP PERCENTAGE" - will always be the same amount IF take-profit(TP) targets are hit 1-by-1 (TP1 > TP2 > TP3 > TP4 > TP5), otherwise it will vary and unless it is a 1st take-profit(TP1), the REMAINING trade/position size will always be smaller than original and therefore the percentage to be closed will always be of the REMAINING trade/position and NOT the original one!
-------------------------------------------------------------------------------------------------------------------
"TP PERCENTAGE" CheatSheet (these are the only percentages you may see)
-----------------------------------------------------------------------
TP PERCENTAGE---Close/Sell Amount-------------Example (trade size: 50 stocks)
20%-------------trade size * 0.2--------------50 * 0.2 = 10 stocks
25%-------------trade size * 0.25-------------50 * 0.25 = 12.5(~13) stocks
34%-------------trade size * 0.34-------------50 * 0.34 = 17 stocks
40%-------------trade size * 0.4--------------50 * 0.4 = 20 stocks
50%-------------trade size * 0.5--------------50 * 0.5 = 25 stocks
60%-------------trade size * 0.6--------------50 * 0.6 = 30 stocks
66%-------------trade size * 0.66-------------50 * 0.66 = 33 stocks
75%-------------trade size * 0.75-------------50 * 0.75 = 37.5(~38) stocks
80%-------------trade size * 0.8--------------50 * 0.8 = 40 stocks
100%------------trade size--------------------50 = 50 stocks
-----------------------------------------------------------------------
If for any reason a portion of the current/remaining trade closed at such occurrence was slightly wrong, it is not an issue. Such occurrences are rare and with slight difference in partial TP closed is not significant to overall performance of our algorithms.
||||||||||||||||||||||||||||||||||| *** ||||||||||||||||||||||||||||||||||| *** |||||||||||||||||||||||||||||||||||
||||||||||||||||||||||||||||||||||| *** ||||||||||||||||||||||||||||||||||| *** |||||||||||||||||||||||||||||||||||
===========================================================================
Alert Settings (you don’t have to touch this section unless you will be using TradingView alerts through a Webhook to use with trading bot)
---------------------------------------------------------------------------
Here is how a LONG OPEN alert looks like.
NOTE: Each label , , etc. is customizable, you can change the text of it within indicator Input settings.
ALERT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
COIN: BTCUSD
TIMEFRAME: 15M
LONG: OPEN
ENTRY: 20000
TP1: 20500
TP2: 21000
TP3: 21500
TP4: 22500
TP5: 23500
SL: 19000
Leverage: 0
---------------------------------------------------------------------------
Here is how a TP1 alert will look with 5 TPs breakdown of the trade.
NOTE1: Next to TP1 taken it will show at which price it was triggered.
NOTE2: Next to "TP Percentage" it shows how much of the CURRENT/ACTIVE/REMAINING trade needs to be closed.
NOTE2: If TP2/3/4/5 comes before TP1 - the alert will tell you exactly how many percent of the trade needs to be closed!
ALERT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
COIN: BTCUSD
TIMEFRAME: 15M
LONG: TP1
TP1: 20500
TP Percentage: 20%
---------------------------------------------------------------------------
Here is how an alert will look for LONG - STOP-LOSS.
ALERT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
COIN: BTCUSD
TIMEFRAME: 15M
ENTRY: 20000
LONG: SL
SL: 19000
---------------------------------------------------------------------------
Here is how an alert will look for LONG - EOD (End of Day) In Profit close.
ALERT >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
COIN: BTCUSD
TIMEFRAME: 15M
LONG: EOD-Close (profit)
ENTRY: 20000
EOD-Close: 21900
===========================================================================
Adding Alerts in TradngView
---------------------------------------------------------------------------
-Add indicator to chart and make sure the correct strategy is configured (check Backtesting results)
-Right-click anywhere on the TradingView chart
-Click on Add alert
-Condition: Select this indicator by it’s name
-Immediately below, change it to "alert() function calls only", as other wise there will be 2 alerts for every alert!
-Expiration: Open-ended (that may require higher tier TradingView account, otherwise the alert will need to be occasionally re-triggered)
-Alert name: Whatever you desire
-Hit “Create”
-Note: If you change ANY Settings within the indicator – you must DELETE the current alert and create a new one per steps above, otherwise it will continue triggering alerts per old Settings!
===========================================================================
If you have any questions or issues with the indicator, please message me directly via TradingView.
---------------------------------------------------------------------------
Good Luck! (NOTE: Trading is very risky, past performance is not necessarily indicative of future results, so please trade responsibly!)
---------------------------------------------------------------------------
NOTE: There seems to be a strange glitch when strategy is running live, it will show "double-take" take-profits labels on the chart. This is not affecting the script logic and backtesting results, if you simply change the timeframe real quick to something else then back - it will no longer show the duplicate orders... this must be some sort of a glitch as every alert was thoroughly tested to make sure everything is working!
Session Breakout Scalper Trading BotHi Traders !
Introduction:
I have recently been exploring the world of automated algorithmic trading (as I prefer more objective trading strategies over subjective technical analysis (TA)) and would like to share one of my automation compatible (PineConnecter compatible) scripts “Session Breakout Scalper”.
The strategy is really simple and is based on time conditional breakouts although has more ”relatively” advanced optional features such as the regime indicators (Regime Filters) that attempt to filter out noise by adding more confluence states and the ATR multiple SL that takes into account volatility to mitigate the down side risk of the trade.
What is Algorthmic Trading:
Firstly what is algorithmic trading? Algorithmic trading also known as algo-trading, is a method of using computer programs (in this case pine script) to execute trades based on predetermined rules and instructions (this trading strategy). It's like having a robot trader who follows a strict set of commands to buy and sell assets automatically, without any human intervention.
Important Note:
For Algorithmic trading the strategy will require you having an essential TV subscription at the minimum (so that you can set alerts) plus a PineConnecter subscription (scroll down to the .”How does the strategy send signals” headings to read more)
The Strategy Explained:
Is the Time input true ? (this can be changed by toggling times under the “TRADE MEDIAN TIMES” group for user inputs).
Given the above is true the strategy waits x bars after the session and then calculates the highest high (HH) to lowest low (LL) range. For this box to form, the user defined amount of bars must print after the session. The box is symmetrical meaning the HH and LL are calculated over a lookback that is equal to the sum of user defined bars before and after the session (+ 1).
The Strategy then simultaneously defines the HH as the buy level (green line) and the LL as the sell level (red line). note the strategy will set stop orders at these levels respectively.
Enter a buy if price action crosses above the HH, and then cancel the sell order type (The opposite is true for a stop order).
If the momentum based regime filters are true the strategy will check for the regime / regimes to be true, if the regime if false the strategy will exit the current trade, as the regime filter has predicted a slowing / reversal of momentum.
The image below shows the strategy executing these trading rules ( Regime filters, "Trades on chart", "Signal & Label" and "Quantity" have been omitted. "Strategy label plots" has been switched to true)
Other Strategy Rules:
If a new session (time session which is user defined) is true (blue vertical line) and the strategy is currently still in a trade it will exit that trade immediately.
It is possible to also set a range of percentage gain per day that the strategy will try to acquire, if at any point the strategy’s profit is within the percentage range then the position / trade will be exited immediately (This can be changed in the “PERCENT DAY GAIN” group for user inputs)
Stops and Targets:
The strategy has either static (fixed) or variable SL options. TP however is only static. The “STRAT TP & TP” group of user inputs is responsible for the SL and TP values (quoted in pips). Note once the ATR stop is set to true the SL values in the above group no longer have any affect on the SL as expected.
What are the Regime Filters:
The Larry Williams Large Trade Index (LWLTI): The Larry Williams Large Trade Index (LWTI) is a momentum-based technical indicator developed by iconic trader Larry Williams. It identifies potential entries and exits for trades by gauging market sentiment, particularly the buying and selling pressure from large market players. Here's a breakdown of the LWTI:
LWLTI components and their interpretation:
Oscillator: It oscillates between 0 and 100, with 50 acting as the neutral line.
Sentiment Meter: Values above 75 suggest a bearish market dominated by large selling, while readings below 25 indicate a bullish market with strong buying from large players.
Trend Confirmation: Crossing above 75 during an uptrend and below 25 during a downtrend confirms the trend's continuation.
The Andean Oscillator (AO) : The Andean Oscillator is a trend and momentum based indicator designed to measure the degree of variations within individual uptrends and downtrends in the prices.
Regime Filter States:
In trading, a regime filter is a tool used to identify the current state or "regime" of the market.
These Regime filters are integrated within the trading strategy to attempt to lower risk (equity volatility and/or draw down). The regime filters have different states for each market order type (buy and sell). When the regime filters are set to true, if these regime states fail to be true the trade is exited immediately.
For Buy Trades:
LWLTI positive momentum state: Quotient of the lagged trailing difference and the ATR > 50
AO positive momentum state: Bull line > Bear line (signal line is omitted)
For Sell Trades:
LWLTI negative momentum stat: Quotient of the lagged trailing difference and the ATR < 50
AO negative momentum state: Bull line < Bear line (signal line is omitted)
How does the Strategy Send Signals:
The strategy triggers a TV alert (you will neet to set a alert first), TV then sends a HTTP request to the automation software (PineConnecter) which receives the request and then communicates to an MT4/5 EA to automate the trading strategy.
For the strategy to send signals you must have the following
At least a TV essential subscription
This Script added to your chart
A PineConnecter account, which is paid and not free. This will provide you with the expert advisor that executes trades based on these strategies signals.
For more detailed information on the automation process I would recommend you read the PineConnecter documentation and FAQ page.
Dashboard:
This Dashboard (top right by defualt) lists some simple trading statistics and also shows when a trade is live.
Important Notice:
- USE THIS STRATEGY AT YOUR OWN RISK AND ALWAYS DO YOUR OWN RESEARCH & MANUAL BACKTESTING !
- THE STRATEGY WILL NOT EXHIBIT THE BACKTEST PERFORMANCE SEEN BELOW IN ALL MARKETS !
SILVER Midnight Candle Color Strategy 1-Hour Delay and SL/TP Overview:
The "Midnight Candle Color Strategy with 1-Hour Delay and SL/TP" is a unique trading strategy designed for the Forex market. This strategy capitalizes on the color of the midnight candle based on New York time, making trade decisions one hour later, at 1:00 AM.
Key Features:
Time Zone Adjustment: Automatically adjusts to New York time (UTC-5 or UTC-4 during Daylight Saving Time).
Midnight Candle Analysis: Utilizes the color of the midnight candle to gauge market sentiment.
Trade Execution at 1 AM: Trades are executed one hour after midnight based on the previous day's candle color.
Strategic SL/TP: Incorporates predefined stop loss (SL) and take profit (TP) levels for each trade.
How It Works:
The script first determines whether the current bar represents 12:00 AM or 1:00 AM in New York time.
At midnight, it records the color of the candle (green for bullish, red for bearish).
At 1:00 AM, the strategy:
Enters a long position if the midnight candle was green, with specific TP and SL settings.
Enters a short position if the midnight candle was red, again with defined TP and SL.
Visualization:
Optional markers are plotted on the chart for easy visualization of the strategy's entry points at midnight and 1 AM.
Usage Tips:
Ideal for traders focusing on overnight price movements and early morning trends.
Best suited for SILVER trading due to the 24-hour trading cycle.
We recommend backtesting the strategy with historical data to evaluate performance.
Disclaimer:
This strategy is provided for educational purposes and should not be considered as financial advice. Users should conduct their own research and exercise caution while trading. Past performance is not indicative of future results.
I´m not a signal service, however I´m sharing my signals. For free. If you wish to buy something, contact some other signalist, preferably with 5-10-15-20K followers, selling signals on the premium channel, but in reality not trading them themselves. If you will realise after few blown account that something is wrong, ask yourself why is that. Trading is not pushing the buy-sell button and drinking tequila on the beach. If you want to learn, you know what to do.
TrailingTakeProfit exampleQuite recently I came upon a concept of Trailing Take Profit and I couldn't find a PineScript which implements it for the fastest possible execution, so here it is :)
Everybody knows Trailing StopLoss - an invisible mechanism follows the price and exits the trade once the price retreats too much from its recent most extended favourable value. Trailing TakeProfit does the similar thing, but at the opposite end - the trade gets closed if a price moves too well, in too favourable extent.
Why close the trade if it is going so good? Well, whatever goes up, must go down and vice versa. It is expected, that after fast rally a market will soon fall and after a dump it will go up. So Trailing TakeProfit's role is to secure profits.
But how does Trailing TakeProfit differ from the standard one? "Trailing" means, the exit level is moving. Its role is to be executed only after a rapid favourable move within 1-2 candles, not more. We never know when a rapid move happens, but when it does, we wanna catch those pips and quickly exit without looking back.
Visually Trailing TakeProfit levels are... bands. In this script example these are ATR multiplied bands (aka Keltner Channel), but they could also be Bollinger Bands or something else.
The code is simple just to focus on this single functionality, so you can quickly copy-paste it into your script. Entries are triggered by default SMA crosses.
P.S. I wouldn't be myself, if I didn't add alert messages compatible with the syntax of recently revamped TradingConnector - both in the code already and in the table showing them.
FlexiMA Variance Tracker - Strategy [presentTrading]█ Introduction and How It Is Different
The FlexiMA Variance Tracker by PresentTrading introduces a novel approach to technical trading strategies. Unlike traditional methods, it calculates deviations between a chosen indicator source (such as price or average) and a moving average with a variable length. This flexibility is achieved through a unique combination of a starting factor and an increment factor, allowing the moving average to adapt dynamically within a specified range. This strategy provides a more responsive and nuanced view of market trends, setting it apart from standard trading methodologies.
BTC 8h L/S
Local
█ Strategy, How It Works: Detailed Explanation
The FlexiMA Variance Tracker, developed by PresentTrading, stands at the forefront of trading strategies, distinguished by its adaptive and multifaceted approach to market analysis. This strategy intricately weaves various technical elements to construct a comprehensive trading logic. Here's an in-depth professional breakdown:
🔶Foundation on Variable-Length Moving Averages:
Central to this strategy is the concept of variable-length Moving Averages (MAs). Unlike traditional MAs with a fixed period, this strategy dynamically adjusts the length of the MA based on a starting factor and an incremental factor. This approach allows the strategy to adapt to market volatility and trend strength more effectively.
Each MA iteration offers a distinct temporal perspective, capturing short-term price movements to long-term trends. This aggregation of various time frames provides a richer and more nuanced market analysis, essential for making informed trading decisions.
🔶Deviation Analysis and Normalization:
The strategy calculates deviations of the price (or the chosen indicator source) from each of these MAs. These deviations are pivotal in identifying the immediate market direction relative to the average trend captured by each MA.
To standardize these deviations for comparability, they undergo a normalization process. The choice of normalization method (Max-Min or Absolute Sum) can significantly influence the interpretation of market conditions, offering distinct insights into price movements and trend strength.
🔹Normalization: Absolute Sum
🔶Composite Oscillator Construction:
A composite oscillator is derived from the median of these normalized deviations. The median serves as a balanced and robust central trend indicator, minimizing the impact of outliers and market noise.
Additionally, the standard deviation of these deviations is computed, providing a measure of market volatility. This volatility indicator is crucial for assessing market risk and can guide traders in setting appropriate stop-loss and take-profit levels.
🔶Integration with SuperTrend Indicator:
The FlexiMA strategy integrates the SuperTrend indicator, renowned for its effectiveness in identifying trend direction and reversals. The SuperTrend's incorporation enhances the strategy's ability to filter out false signals and confirm genuine market trends.
* The SuperTrend Toolkit is made by @QuantiLuxe
This combination of the variable-length MA oscillator with the SuperTrend indicator forms a potent duo, offering traders a dual-confirmation mechanism for trade signals.
🔹Supertrend's incorporation
🔶Strategic Trade Signal Generation:
Trade signals are generated when there is a confluence between the composite oscillator and the SuperTrend indicator. For example, a long position signal might be considered when the oscillator suggests an uptrend, and the SuperTrend flips to bullish.
The strategy's parameters are fully customizable, enabling traders to tailor the signal generation process to their specific trading style, risk tolerance, and market conditions.
█ Usage
To effectively employ the FlexiMA Variance Tracker strategy:
Traders should set their desired trade direction and fine-tune the starting and increment factors according to their market analysis and risk tolerance.
Indicator Length: 5
Indicator Length: 40
The strategy is suitable for a wide range of markets and can be adapted to different time frames, making it a versatile tool for various trading scenarios.
█ Default Settings Impact on Performance: FlexiMA Variance Tracker
1. Trade Direction (Configurable: Long, Short, Both): Determines trade types. 'Long' for buying, 'Short' for selling, 'Both' adapts to market trends.
2. Indicator Source: HLC3: Balances market sentiment by considering high, low, and close, providing comprehensive period analysis.
4. Indicator Length (Default: 10): Baseline for moving averages. Shorter lengths increase responsiveness but add noise, while longer lengths favor trends.
5. Starting and Increment Factor (Default: 1.0): Adjusts MA lengths range. Higher values capture broad market dynamics, lower values focus analysis.
6. Normalization Method (Options: None, Max-Min, Absolute Sum): Standardizes deviations. 'None' for raw deviations, 'Max-Min' for relative scaling, 'Absolute Sum' emphasizes relative strength.
7. SuperTrend Settings (ATR Length: 10, Multiplier: 15.0): Influences indicator sensitivity. Short ATR or high multiplier for short-term, long ATR or low multiplier for long-term trends.
8. Additional Settings (Mesh Style, Color Customization): Enhances visual clarity. Mesh style for detailed deviation view, colors for quick market condition identification.
TASC 2024.01 Gap Momentum System█ OVERVIEW
TASC's January 2024 edition of Traders' Tips features an article titled “Gap Momentum” by Perry J. Kaufman. The article discusses how a trader might create a momentum strategy based on opening gap data. This script implements the Gap Momentum system presented therein.
█ CONCEPTS
In the article, Perry J. Kaufman introduces Gap Momentum as a cumulative series constructed in the same way as On-Balance Volume (OBV) , but using gap openings (today’s open minus yesterday’s close).
To smoothen the resulting time series (i.e., obtain the " signal line "), the author applies a simple moving average . Subsequently, he proposes the following two trading rules for a long-only trading system:
• Enter a long position when the signal line is moving higher.
• Exit when the signal line is moving lower.
█ CALCULATIONS
The calculation of Gap Momentum involves the following steps:
1. Calculate the ratio of the sum of positive gaps over the past N days to the sum of negative gaps (absolute values) over the same time period.
2. Add the resulting gap ratio to the cumulative time series. This time series is the Gap Momentum.
3. Keep moving forward, as in an N-day moving average.
Elliott's Quadratic Momentum - Strategy [presentTrading]█ Introduction and How It Is Different
The "Elliott's Quadratic Momentum - Strategy" is a unique and innovative approach in the realm of technical trading. This strategy is a fusion of multiple SuperTrend indicators combined with an Elliott Wave-like pattern analysis, offering a comprehensive and dynamic trading tool. It stands apart from conventional strategies by incorporating multiple layers of trend analysis, thereby providing a more robust and nuanced view of market movements.
*Although the script doesn't explicitly analyze Elliott Wave patterns, it employs a wave-like approach by considering multiple SuperTrend indicators. Elliott Wave theory is based on the premise that markets move in predictable wave patterns. While this script doesn't identify specific Elliott Wave structures like impulsive and corrective waves, the sequential checking of trend conditions across multiple SuperTrend indicators mimics a wave-like progression.
BTC 8hr Long/Short Performance
Local Detail
█ Strategy, How It Works: Detailed Explanation
The core of this strategy lies in its multi-tiered approach:
1. Multiple SuperTrend Indicators:
The strategy employs four different SuperTrend indicators, each with unique ATR lengths and multipliers. These indicators offer various perspectives on market trends, ranging from short to long-term views.
By analyzing the convergence of these indicators, the strategy can pinpoint robust entry signals for both long and short positions.
2. Elliott Wave-like Pattern Recognition:
While not directly applying Elliott Wave theory, the strategy takes inspiration from its pattern recognition approach. It looks for alignments in market movements that resemble the characteristic waves of Elliott's theory.
This pattern recognition aids in confirming the signals provided by the SuperTrend indicators, adding an extra layer of validation to the trading signals.
3. Comprehensive Market Analysis:
By combining multiple indicators and pattern analysis, the strategy offers a holistic view of the market. This allows for capturing potential trend reversals and significant market moves early.
█ Trade Direction
The strategy is designed with flexibility in mind, allowing traders to select their preferred trading direction – Long, Short, or Both. This adaptability is key for traders looking to tailor their approach to different market conditions or personal trading styles. The strategy automatically adjusts its logic based on the chosen direction, ensuring that traders are always aligned with their strategic objectives.
█ Usage
To utilize the "Elliott's Quadratic Momentum - Strategy" effectively:
Traders should first determine their trading direction and adjust the SuperTrend settings according to their market analysis and risk appetite.
The strategy is versatile and can be applied across various time frames and asset classes, making it suitable for a wide range of trading scenarios.
It's particularly effective in trending markets, where the alignment of multiple SuperTrend indicators can provide strong trade signals.
█ Default Settings
Trading Direction: Configurable (Long, Short, Both)
SuperTrend Settings:
SuperTrend 1: ATR Length 7, Multiplier 4.0
SuperTrend 2: ATR Length 14, Multiplier 3.618
SuperTrend 3: ATR Length 21, Multiplier 3.5
SuperTrend 4: ATR Length 28, Multiplier 3.382
Additional Settings: Gradient effect for trend visualization, customizable color schemes for upward and downward trends.
Backtesting ModuleDo you often find yourself creating new 'strategy()' scripts for each trading system? Are you unable to focus on generating new systems due to fatigue and time loss incurred in the process? Here's a potential solution: the 'Backtesting Module' :)
INTRODUCTION
Every trading system is based on four basic conditions: long entry, long exit, short entry and short exit (which are typically defined as boolean series in Pine Script).
If you can define the conditions generated by your trading system as a series of integers, it becomes possible to use these variables in different scripts in efficient ways. (Pine Script is a convenient language that allows you to use the integer output of one indicator as a source in another.)
The 'Backtesting Module' is a dynamic strategy script designed to adapt to your signals. It boasts two notable features:
⮞ It produces a backtest report using the entry and exit variables you define.
⮞ It not only serves for system testing but also to combine independent signals into a single system. (This functionality enables to create complex strategies and report on their success!)
The module tests Golden and Death cross signals by default, when you enter your own conditions the default signals will be neutralized. The methodology is described below.
PREPARATION
There are three simple steps to connect your own indicator to the Module.
STEP 1
Firstly, you must define entry and exit variables in your own script. Let's elucidate it with a straightforward example. Consider a system generating long and short signals based on the intersections of two moving averages. Consequently, our conditions would be as follows:
// Signals
long = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
short = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
Now, the question is: How can we convert boolean variables into integer variables? The answer is conditional ternary block, defined as follows:
// Entry & Exit
long_entry = long ? 1 : 0
long_exit = short ? 1 : 0
short_entry = short ? 1 : 0
short_exit = long ? 1 : 0
The mechanics of the Entry & Exit variables are simple. The variable takes on a value of 1 when your trading system generates the signal and if your system does not produce any signal, variable returns 0. In this example, you see how exit signals can be generated in a trading system that only contains entry signals. If you have a system with original exit signals, you can also use them directly. (Please mind the NOTES section below).
STEP 2
To utilize the Entry & Exit variables as source in another script, they must be plotted on the chart. Therefore, the final detail to include in the script containing your trading system would be as follows:
// Plot The Output
plot(long_entry, "Long Entry", display=display.data_window, editable=false)
plot(long_exit, "Long Exit", display=display.data_window, editable=false)
plot(short_entry, "Short Entry", display=display.data_window, editable=false)
plot(short_exit, "Short Exit", display=display.data_window, editable=false)
STEP 3
Now, we are ready to test the system! Load the Backtesting Module indicator onto the chart along with your trading system/indicator. Then set the outputs of your system (Long Entry, Long Exit, Short Entry, Short Exit) as source in the module. That's it.
FEATURES & ORIGINALITY
⮞ Primarily, this script has been created to provide you with an easy and practical method when testing your trading system.
⮞ I thought it might be nice to visualize a few useful results. The Backtesting Module provides insights into the outcomes of both long and short trades by computing the number of trades and the success percentage.
⮞ Through the 'Trade' parameter, users can specify the market direction in which the indicator is permitted to initiate positions.
⮞ Users have the flexibility to define the date range for the test.
⮞ There are optional features allowing users to plot entry prices on the chart and customize bar colors.
⮞ The report and the test date range are presented in a table on the chart screen. The entry price can be monitored in the data window.
⮞ Note that results are based on realized returns, and the open trade is not included in the displayed results. (The only exception is the 'Unrealized PNL' result in the table.)
STRATEGY SETTINGS
The default parameters are as follows:
⮞ Initial Balance : 10000 (in units of currency)
⮞ Quantity : 10% of equity
⮞ Commission : 0.04%
⮞ Slippage : 0
⮞ Dataset : All bars in the chart
For a realistic backtest result, you should size trades to only risk sustainable amounts of equity. Do not risk more than 5-10% on a trade. And ALWAYS configure your commission and slippage parameters according to pessimistic scenarios!
NOTES
⮞ This script is intended solely for development purposes. And it'll will be available for all the indicators I publish.
⮞ In this version of the module, all order types are designed as market orders. The exit size is the sum of the entry size.
⮞ As your trading conditions grow more intricate, you might need to define the outputs of your system in alternative ways. The method outlined in this description is tailored for straightforward signal structures.
⮞ Additionally, depending on the structure of your trading system, the backtest module may require further development. This encompasses stop-loss, take-profit, specific exit orders, quantity, margin and risk management calculations. I am considering releasing improvements that consider these options in future versions.
⮞ An example of how complex trading signals can be generated is the OTT Collection. If you're interested in seeing how the signals are constructed, you can use the link below.
THANKS
Special thanks to PineCoders for their valuable moderation efforts.
I hope this will be a useful example for the TradingView community...
DISCLAIMER
This is just an indicator, nothing more. It is provided for informational and educational purposes exclusively. The utilization of this script does not constitute professional or financial advice. The user solely bears the responsibility for risks associated with script usage. Do not forget to manage your risk. And trade as safely as possible. Best of luck!
Contrarian DC Strategy - w Entry SL Pause and TrailingStopDonchian Channel Setup:
The strategy uses a tool called the Donchian Channel. Imagine this as two lines (bands) on a chart that show the highest and lowest prices over a certain number of past trading days (default is 20 days).
There's also a centerline, which is the average of these two bands.
Entry Conditions for Trades:
Buying (Going Long): The strategy considers buying when the price touches or falls below the lower band of the Donchian Channel. However, this only happens if there has been a pause after a previous losing trade. This pause is a number of candles where no new trades are taken.
Selling (Going Short): Similarly, the strategy considers selling when price reaches or exceeds the upper band of the Donchian Channel. Again, this is subject to a pause after a losing trade.
Stop Loss and Take Profit:
Each trade has a "Stop Loss" and "Take Profit" set. The Stop Loss is a preset price level where the trade will close to prevent further losses if the market moves against your position. The Take Profit does the same but locks in profit if the market moves in your favor.
The Stop Loss is set based on a percentage of the price at which you entered the trade.
The Take Profit is determined by the Risk/Reward Ratio. This ratio helps balance how much you're willing to risk versus the potential reward.
Trailing Stop Loss:
When a trade is profitable, the strategy should involve a "Trailing Stop Loss." This means the Stop Loss level moves (or trails) the price movement to lock in profits as the market moves in your favor.
For a buy trade, if the price moves above the centerline of the Donchian Channel, the Trailing Stop Loss should be adjusted in the middle between the entry price and the centerline. Viceversa for a sell trade, it should be adjusted in the same way if the price goes below the centerline.
IMPORTANT: There's no allert for the trailing stop at the moment.
Post-Stop Loss Pause:
If a trade hits the Stop Loss (i.e., it's a losing trade), the strategy takes a break before opening another trade in the same direction. This pause helps to avoid entering another trade immediately in a potentially unfavorable market.
In summary, this strategy is designed to make trades based on the Donchian Channel, with specific rules for when to enter and exit trades, and mechanisms to manage risk and protect profits. It's contrarian because it tends to buy when the price is low and sell when the price is high, which is opposite to what many traders might do.
COSTAR Strategy [SS]A little late posting this but here it is, as promised!
This is the companion to the COSTAR indicator.
What it does:
It creates a co-integration paired relationship with a separate, cointegrated ticker. It then plots out the expected range based on the value of the cointegrated pair. When the current ticker is below the value of its co-integrated partner, it becomes a "Buy" and should be longed. When it becomes overvalued in comparison, it becomes a "Sell" and should be shorted.
The example above is with BA and USO, which have a strong inverse relationship.
How it works:
I made the strategy version a bit more intuitive. Instead of you selecting the parameters for your model, it will autoselect the ideal parameters based on your desired co-integrated pair. You simply enter the ticker you want to compare against, and it will sort through the values at various lags to find significance and stationarity. It will then create a model and plot the model out for you on your chart, as you can see above.
The premise of the strategy:
The premise of the strategy is as stated before. You long when the ticker is undervalued in comparison to its co-integrated pair, and short when it is overvalued. The conditions for entry are simply a co-integrated pair being over the expected range (short) or below the expected range (long).
The condition to exit is a "re-integration", or a crossover of the expected value of the ticker (the centreline).
What if it can't find a relationship?
In some instances, the indicator will not be able to determine a co-integrated relationship, owning to a lack of stationarity between the data. When this happens, you will get the following error:
The indicator provides you with prompts, such as switching the timeframe or trying an alternative ticker. In the case displayed above, if we simply switch to the 1 hour timeframe, we have a viable model with great backtest results:
You can toggle in the settings menu the various parameters, such as timeframe, fills and displays.
And that is the strategy in a nutshell, be sure to check out its partner indicator, COSTAR, for more information on the premise of using co-integrated models for trading. And let me know your questions below!
Safe trades everyone!
Donchian Quest Research// =================================
Trend following strategy.
// =================================
Strategy uses two channels. One channel - for opening trades. Second channel - for closing.
Channel is similar to Donchian channel, but uses Close prices (not High/Low). That helps don't react to wicks of volatile candles (“stop hunting”). In most cases openings occur earlier than in Donchian channel. Closings occur only for real breakout.
// =================================
Strategy waits for beginning of trend - when price breakout of channel. Default length of both channels = 50 candles.
Conditions of trading:
- Open Long: If last Close = max Close for 50 closes.
- Close Long: If last Close = min Close for 50 closes.
- Open Short: If last Close = min Close for 50 closes.
- Close Short: If last Close = max Close for 50 closes.
// =================================
Color of lines:
- black - channel for opening trade.
- red - channel for closing trade.
- yellow - entry price.
- fuchsia - stoploss and breakeven.
- vertical green - go Long.
- vertical red - go Short.
- vertical gray - close in end, don't trade anymore.
// =================================
Order size calculated with ATR and volatility.
You can't trade 1 contract in BTC and 1 contract in XRP - for example. They have different price and volatility, so 1 contract BTC not equal 1 contract XRP.
Script uses universal calculation for every market. It is based on:
- Risk - USD sum you ready to loss in one trade. It calculated as percent of Equity.
- ATR indicator - measurement of volatility.
With default setting your stoploss = 0.5 percent of equity:
- If initial capital is 1000 USD and used parameter "Permit stop" - loss will be 5 USD (0.5 % of equity).
- If your Equity rises to 2000 USD and used parameter "Permit stop"- loss will be 10 USD (0.5 % of Equity).
// =================================
This Risk works only if you enable “Permit stop” parameter in Settings.
If this parameter disabled - strategy works as reversal strategy:
⁃ If close Long - channel border works as stoploss and momentarily go Short.
⁃ If close Short - channel border works as stoploss and momentarily go Long.
Channel borders changed dynamically. So sometime your loss will be greater than ‘Risk %’. Sometime - less than ‘Risk %’.
If this parameter enabled - maximum loss always equal to 'Risk %'. This parameter also include breakeven: if profit % = Risk %, then move stoploss to entry price.
// =================================
Like all trend following strategies - it works only in trend conditions. If no trend - slowly bleeding. There is no special additional indicator to filter trend/notrend. You need to trade every signal of strategy.
Strategy gives many losses:
⁃ 30 % of trades will close with profit.
⁃ 70 % of trades will close with loss.
⁃ But profit from 30% will be much greater than loss from 70 %.
Your task - patiently wait for it and don't use risky setting for position sizing.
// =================================
Recommended timeframe - Daily.
// =================================
Trend can vary in lengths. Selecting length of channels determine which trend you will be hunting:
⁃ 20/10 - from several days to several weeks.
⁃ 20/20 or 50/20 - from several weeks to several months.
⁃ 50/50 or 100/50 or 100/100 - from several months to several years.
// =================================
Inputs (Settings):
- Length: length of channel for trade opening/closing. You can choose 20/10, 20/20, 50/20, 50/50, 100/50, 100/100. Default value: 50/50.
- Permit Long / Permit short: Longs are most profitable for this strategy. You can disable Shorts and enable Longs only. Default value: permit all directions.
- Risk % of Equity: for position sizing used Equity percent. Don't use values greater than 5 % - it's risky. Default value: 0.5%.
⁃ ATR multiplier: this multiplier moves stoploss up or down. Big multiplier = small size of order, small profit, stoploss far from entry, low chance of stoploss. Small multiplier = big size of order, big profit, stop near entry, high chance of stoploss. Default value: 2.
- ATR length: number of candles to calculate ATR indicator. It used for order size and stoploss. Default value: 20.
- Close in end - to close active trade in the end (and don't trade anymore) or leave it open. You can see difference in Strategy Tester. Default value: don’t close.
- Permit stop: use stop or go reversal. Default value: without stop, reversal strategy.
// =================================
Properties (Settings):
- Initial capital - 1000 USD.
- Script don't uses 'Order size' - you need to change 'Risk %' in Inputs instead.
- Script don't uses 'Pyramiding'.
- 'Commission' 0.055 % and 'Slippage' 0 - this parameters are for crypto exchanges with perpetual contracts (for example Bybit). If use on other markets - set it accordingly to your exchange parameters.
// =================================
Big dataset used for chart - 'BITCOIN ALL TIME HISTORY INDEX'. It gives enough trades to understand logic of script. It have several good trends.
// =================================
London BreakOut ClassicHey there, this is my first time publishing a strategy. The strategy is based on the London Breakout Idea, an incredibly popular concept with abundant information available online.
Let me summarize the London Breakout Strategy in a nutshell: It involves identifying key price levels based on the Tokyo Session before the London Session starts. Typically, these key levels are the high and low of the previous Tokyo session. If a breakout occurs during the London session, you simply follow the trend.
The purpose of this code
After conducting my research, I came across numerous posts, videos, and articles discussing the London Breakout Strategy. I aimed to automatically test it myself to verify whether the claims made by these so-called trading gurus are accurate or not. Consequently, I wrote this script to gain an understanding of how this strategy would perform if I were to follow its basic settings blindly.
Explanation of drawings on the chart:
Red or Green Box: A box is drawn on our chart displaying the exact range of the Tokyo trading session. This box is colored red if the trend during the session was downward and green if it was upward. The box is always drawn between the high and the low between 0:00 AM and 7:00 AM UTC. You can change the settings via the Inputs "Session time Tokyo" & "Session time zone".
Green Background: The green background represents the London trading session. My code allows us to make entries only during this time. If we haven't entered a trade, any pending orders are canceled. I've also programmed a timeout at 11 pm to ensure every trade is closed before the new Tokyo session begins.
Red Line: The red line is automatically placed in the middle of our previous Tokyo range. This line acts as our stop loss. If we cross this line after entering a trade but before reaching our take profit, we'll be stopped out.
When do we enter a trade?
We wait for a candle body to close outside of the previous Tokyo range to enter a trade with the opening of the next candle. We only enter one trade per day.
Where do we put our Take Profit?
The code calculates the exact distance between our entry point and the stop loss. We are trading a risk-reward ratio of 1:1 by default, meaning our take profit is always the same number of pips away from our entry as the stop loss. The Stop Loss is always defined by the red line on the chart. You can change the risk-reward ratio via the inputs setting "CRV", to see how the result changes.
What is the purpose of this script?
I wanted to backtest the London breakout strategy to see how it actually works. Therefore, I wrote this code so that everybody can test it for themselves. You can change the settings and see how the result changes. Typically, you should test this strategy on forex markets and on either 1Min, 5 Min, or 15 Min timeframe.
What are the results?
Over the last 3-6 months (over 100 trades), trading the strategy with my default settings hasn't proven to be very successful. Consequently, I do not recommend trading this strategy blindly. The purpose of this code is to provide you with a foundation for the London Breakout Strategy, allowing you to modify and enhance it according to your preferences. If you're contemplating whether to give it a try, you can assess the results from the past months by using this code as a starting point.
Dual Regime Strategy (DRS)/Introduction
The Dual Regime Strategy (DRS) is a composite strategy consisting of two signals, both catering to two different market regimes. The stock market experiences periods of high volatility followed by periods of low volatility, a mean reversion strategy performs well during periods of high volatility while a trend following strategy performs well during periods of low volatility. This is the basis for the mean reversion signal and the momentum signal.
/Signals
1. Mean Reversion Signal
Definition: Mean reversion is a financial theory that suggests that asset prices and financial markets tend to fluctuate around a long-term average or mean value. In other words, when the price of an asset moves significantly away from its historical average, it is likely to revert, or move back, towards that average over time.
Concept: Mean reversion assumes that extreme price movements are temporary and that there is an inherent tendency for prices to return to their historical average or equilibrium level. Traders and investors who follow mean reversion strategies often look for overbought or oversold conditions in the market to identify potential trading opportunities. They believe that when prices deviate too far from their mean, there is a higher probability of a reversal.
DRS strategy: The Keltner Channel is a volatility-based technical indicator that consists of three lines: an upper channel, a lower channel, and a middle channel. It is primarily used for mean reversion strategies. The strategy uses a Keltner channel to trigger the mean reversion signals by identifying potential overbought and oversold conditions.
2. Momentum Signal
Definition: Momentum, in the context of financial markets, refers to the tendency of assets to continue moving in the same direction as their recent past price movements. It is based on the idea that assets that have been performing well recently are more likely to continue performing well, and assets that have been performing poorly are more likely to continue performing poorly.
Concept: Momentum traders and investors seek to identify and ride existing price trends. They believe that there is a persistence in price movements, and they aim to capitalize on this persistence by buying assets that have shown recent strength and selling assets that have shown recent weakness.
DRS strategy: The Exponential Moving Average is used to identify the strength and direction of the existing trend. When the price remains above the moving average, it indicates bullish momentum and vice versa for bearish momentum.
/Results
The backtest results are based on a starting capital of $13,700 (convenient amount for retail traders) with 5% of equity for the position size and pyramiding of 2 to allow one open position at a time for each signal. Commissions vary from broker to broker and they are calculated in different ways so a simple $3 per order is used in backtesting this strategy. Slippage of 3 ticks is used to ensure the results are representative of real world, market order trading. The backtest results are available to view at the bottom of this page.
Note:
Past performance in backtesting does not guarantee future results. Broker execution and market changes can significantly affect strategy performance in live trading.
Originality:
The DRS strategy is unique in its combination of both Momentum Strategy and Mean Reversion Strategy components within a single trading strategy. This dual-regime approach allows the strategy to adapt to different market conditions. Additionally, it incorporates short positions for momentum signals, this ensures that the strategy remains active in bear markets.
1. Mean Reverting Regimes
In mean-reverting regimes, markets exhibit high volatility with prices oscillating around a historical average. The DRS employs the Keltner Channel as a core tool for identifying overbought and oversold conditions, which are prevalent in such regimes.
Detection: The strategy detects mean reverting opportunities when prices deviate significantly from the middle band of the Keltner Channel, signaling an overbought or oversold condition.
Execution: Trades are executed with the expectation that prices will revert to the mean. For example, buying when the price is below the lower band (oversold) and selling when it's above the upper band (overbought).
2. Trending Regimes
In trending regimes, markets move in a persistent direction, either up or down. The DRS utilizes the Exponential Moving Average (EMA) to identify and follow these trends.
Trend Identification: The EMA helps in determining the overall direction of the trend, while the number of days price stays above the moving average indicates the strength of the trend.
Trade Execution: The strategy capitalizes on strong trends by taking positions in the direction of the trend (long positions in uptrends and short positions in downtrends).
/Tickers
This strategy has been backtested primarily on SPY. It also performs well on IWF and QQQ.
MACD of Relative Strenght StrategyMACD Relative Strenght Strategy :
INTRODUCTION :
This strategy is based on two well-known indicators: MACD and Relative Strenght (RS). By coupling them, we obtain powerful buy signals. In fact, the special feature of this strategy is that it creates an indicator from an indicator. Thus, we construct a MACD whose source is the value of the RS. The strategy only takes buy signals, ignoring SHORT signals as they are mostly losers. There's also a money management method enabling us to reinvest part of the profits or reduce the size of orders in the event of substantial losses.
RELATIVE STRENGHT :
RS is an indicator that measures the anomaly between momentum and the assumption of market efficiency. It is used by professionals and is one of the most robust indicators. The idea is to own assets that do better than average, based on their past performance. We calculate RS using this formula :
RS = close/highest_high(RS_Length)
Where highest_high(RS_Length) = highest value of the high over a user-defined time period (which is the RS_Length).
We can thus situate the current price in relation to its highest price over this user-defined period.
MACD (Moving Average Convergence - Divergence) :
This is one of the best-known indicators, measuring the distance between two exponential moving averages : one fast and one slower. A wide distance indicates fast momentum and vice versa. We'll plot the value of this distance and call this line macdline. The MACD uses a third moving average with a lower period than the first two. This last moving average will give a signal when it crosses the macdline. It is therefore constructed using the values of the macdline as its source.
It's important to note that the first two MAs are constructed using RS values as their source. So we've just built an indicator of an indicator. This kind of method is very powerful because it is rarely used and brings value to the strategy.
PARAMETERS :
RS Length : Relative Strength length i.e. the number of candles back to find the highest high and compare the current price with this high. Default is 300.
MACD Fast Length : Relative Strength fast EMA length used to plot the MACD. Default is 14.
MACD Slow Length : Relative Strength slow EMA length used to plot the MACD. Default is 26.
MACD Signal Smoothing : Macdline SMA length used to plot the MACD. Default is 10.
Max risk per trade (in %) : The maximum loss a trade can incur (in percentage of the trade value). Default is 8%.
Fixed Ratio : This is the amount of gain or loss at which the order quantity is changed. Default is 400, meaning that for each $400 gain or loss, the order size is increased or decreased by a user-selected amount.
Increasing Order Amount : This is the amount to be added to or subtracted from orders when the fixed ratio is reached. The default is $200, which means that for every $400 gain, $200 is reinvested in the strategy. On the other hand, for every $400 loss, the order size is reduced by $200.
Initial capital : $1000
Fees : Interactive Broker fees apply to this strategy. They are set at 0.18% of the trade value.
Slippage : 3 ticks or $0.03 per trade. Corresponds to the latency time between the moment the signal is received and the moment the order is executed by the broker.
Important : A bot has been used to test the different parameters and determine which ones maximize return while limiting drawdown. This strategy is the most optimal on BITSTAMP:ETHUSD in 8h timeframe with the parameters set by default.
ENTER RULES :
The entry rules are very simple : we open a long position when the MACD value turns positive. You are therefore LONG when the MACD is green.
EXIT RULES :
We exit a position (whether losing or winning) when the MACD becomes negative, i.e. turns red.
RISK MANAGEMENT :
This strategy can incur losses, so it's important to manage our risks well. If the position is losing and has incurred a loss of -8%, our stop loss is activated to limit losses.
MONEY MANAGEMENT :
The fixed ratio method was used to manage our gains and losses. For each gain of an amount equal to the value of the fixed ratio, we increase the order size by a value defined by the user in the "Increasing order amount" parameter. Similarly, each time we lose an amount equal to the value of the fixed ratio, we decrease the order size by the same user-defined value. This strategy increases both performance and drawdown.
Enjoy the strategy and don't forget to take the trade :)