Day Range Breakout Strategy + Trend Structure Filter🚀 Enhanced Strategy for Breaking Previous Day’s Extremes with Market Structure-Based Trend
The strategy focuses on breakouts of previous day’s highs and lows, filtered by trend direction based on market structure.
🔑 Key Improvements
1️⃣ Solved the repainting issue.
There are similar strategies in the community, but the historical results of those algorithms do not correspond to the results of real backtesting.
2️⃣ Added a trend filter.
In most cases, this makes it possible to achieve higher profitability. It works as follows:
The script determines market structure based on a defined number of previous candles.
If there are higher highs and higher lows, this is considered an uptrend structure.
If there are lower highs and lower lows, this is considered a downtrend structure.
The trend filter is adjusted using the Lookback Period setting.
3️⃣ Choice of entry principle.
Implemented the ability to choose whether trades are opened based on closing prices or by high/low breakout, which allows finding the optimal settings for a specific instrument.
4️⃣ Improved entry/exit logic.
When an opposite signal appears, before entering a trade, the script first closes the previous position.
✅ This makes the strategy fully ready for algorithmic trading via webhook on any exchange that supports this function.
5️⃣ Better visualization.
🟥 Red and 🟩 green backgrounds indicate the trend direction.
⚙️ How It Works
The principle of the strategy as follows:
Wait for the breakout of the previous day’s high or low.
Enter long on a breakout of the high, or short on a breakout of the low in the market structure trend direction.
Exit occurs on the breakout of the opposite extreme.
📈 This allows capturing long trends.
⚠️ But, like all similar strategies, in a sideways market it produces losing trades.
⚙️ Default Settings
Breakout Confirmation:
The breakout is determined by the candle close.
You can also choose high/low, but this often gives more false signals. However, on some assets, it may show higher profitability in backtesting.
Trend Structure Period:
The default value is 15.
This means the script analyzes the last 15 candles on the selected timeframe to determine market structure as described above.
Position Size:
Fixed at $1,000, which is 1% of the initial capital of $100,000 to keep risks under control.
Commission:
Set to 0.1%, which is sufficient for most cryptocurrency exchanges.
Slippage:
Configured at 1 tick.
Funding Note:
Keep in mind that funding is not included in this strategy.
It’s impossible to predict whether it will be positive or negative, and it can vary significantly across exchanges, so it is not part of the default settings.
🕒 Recommended Settings
Timeframe: 1H and higher
On lower timeframes → significant discrepancies may occur between historical and real backtesting data.
On higher timeframes → minor differences are possible, related to slippage, sharp moves, and other unpredictable situations.
⚠️ Important Notes
Always remember: Strategy results may not repeat in the future.
The market constantly changes, so:
✅ Monitor the situation
✅ Backtest regularly
✅ Adjust settings for each asset
Also remember about possible bugs in any algorithmic trading strategy.
Even if a script is well-tested, no one knows what unpredictable events the market may bring tomorrow.
⚠️ Risk Management:
Do not risk more than 1% of your deposit per trade, otherwise you may lose your account balance, since this strategy works without stop losses.
⚠️ Disclaimer
The author of the strategy does not encourage anyone to use this algorithm and bears no responsibility for any possible financial losses resulting from its application!
Any decision to use this strategy is made personally by the owners of TradingView accounts and cryptocurrency exchange accounts.
📝 Final Notes
This is not the final version. I already have ideas on how to improve it further, so follow me to not miss updates.
🐞 Bug Reports
If you notice any bugs or inconsistencies in my algorithm,
please let me know — I will try to fix them as quickly as possible.
💬 Feedback & Suggestions
If you have any ideas on how this or any of my other strategies can be improved, feel free to write to me. I will try to implement your suggestions in the script.
Wishing everyone good luck and stable profits! 🚀💰
Supportandresitance
Dynamic Support and Resistance Pivot Strategy The Dynamic Support and Resistance Pivot Strategy is a flexible and adaptive tool designed to identify short-term support and resistance levels using the concept of price pivots.
### Key Elements of the Strategy
1. Pivot points as support and resistance levels
Pivots are significant turning points on the price chart, often marking local highs and lows where the price has reversed direction. A pivot high occurs when the price forms a local peak, while a pivot low occurs when the price forms a local trough. When a new pivot high is formed, it creates a resistance level. Conversely, when a new pivot low is formed, it creates a support level.
The strategy continuously updates these levels as new pivots are detected, ensuring they remain relevant to the current market conditions. By identifying these price levels, the strategy dynamically adjusts to market conditions, allowing it to adapt to both trending and ranging markets, since it has a long target and can perform reversal operations.
2. Entry Criteria
- Buy (Long): A long position is triggered when the price is near the support level and then crosses it from below to above. This suggests that the price has found support and may start moving upwards.
- Sell (Short): A short position is triggered when the price is near the resistance level and then crosses it from above to below. This indicates that the price may be reversing and moving downward.
3. Support/Resistance distance (%)
- This parameter establishes a percentage range around the identified support and resistance level. For example, if the Support Resistance Distance is 0.4% (default), the closing price must be within a range of 0.4% above support or below the resistance to be considered "close" and trigger a trade.
4. Exit criteria
- Take profit = 27 %
- Stop loss = 10 %
- Reversal if a new entry point is identified in the opposite direction
5. No Repainting
- The Dynamic Support and Resistance Pivot Strategy is not subject to repainting.
6. Position Sizing by Equity and risk management
- This strategy has a default configuration to operate with 35% of the equity. The stop loss is set to 10% from the entry price. This way, the strategy is putting at risk about 10% of 35% of equity, that is, around 3.5% of equity for each trade. The percentage of equity and stop loss can be adjusted by the user according to their risk management.
7. Backtest results
- This strategy was subjected to backtest and operations in replay mode on **1000000MOGUSDT.P**, with the inclusion of transaction fees at 0.12% and slipagge of 5 ticks, and the past results have shown consistent profitability. Past results are no guarantee of future results. The strategy's backtest results may even be due to overfitting with past data.
8. Chart Visualization
- Support and resistance levels are displayed as green (support) and red (resistance) lines.
- Pivot prices are displayed as green (pivot low) and red (pivot high) labels.
In this image above, the Support/Resistance distance (%) parameter was set to 0.8.
9. Default Configuration
Chart Timeframe: 1h
Pivot Lengh: 2
Support/Resistance distance (%): 0.4*
Stop Loss: 10 %
Take Profit: 27 %
* This parameter can alternatively be set to 0.8.
10. Alternative Configuration
Chart Timeframe: 20 min
Pivot Lengh: 4
Support/Resistance distance (%): 0.1
Stop Loss: 10 %
Take Profit: 25 %
BYBIT:1000000MOGUSDT.P
Breaks and Retests - Free990Strategy Description: "Breaks and Retests - Free990"
The "Breaks and Retests - Free990" strategy is based on identifying breakout and retest opportunities for potential entries in both long and short trades. The idea is to detect price breakouts above resistance levels or below support levels, and subsequently identify retests that confirm the breakout levels. The strategy offers an automated approach to enter trades after a breakout followed by a retest, which serves as a confirmation of trend continuation.
Key Components:
Support and Resistance Detection:
The strategy calculates pivot levels based on historical price movements to define support and resistance areas. A lookback range is used to determine these key levels.
Breakouts and Retests:
The system identifies when a breakout occurs above a resistance level or below a support level.
It then waits for a retest of the previously broken level as confirmation, which is often a better entry opportunity.
Trade Direction Selection:
Users can choose between "Long Only," "Short Only," or "Both" directions for trading based on their market view.
Stop Loss and Trailing Stop:
An initial stop loss is placed at a defined percentage away from the entry.
The trailing stop loss is activated after the position gains a specified percentage in profit.
Long Entry:
A long entry is triggered if the price breaks above a resistance level and subsequently retests that level successfully.
The entry condition checks if the breakout was confirmed and if a retest was valid.
The long entry is only executed if the user-selected direction is either "Long Only" or "Both."
Short Entry:
A short entry is triggered if the price breaks below a support level and subsequently retests that level.
The short entry is only executed if the user-selected direction is either "Short Only" or "Both."
sell_condition checks whether the support has been broken and whether the retest condition is valid.
An initial stop loss is placed when the trade is opened to limit the risk if the trade moves against the position.
The stop loss is calculated based on a user-defined percentage (stop_loss_percent) of the entry price.
pinescript
Copy code
stop_loss_price := strategy.position_avg_price * (1 - stop_loss_percent / 100)
For long positions, the stop loss is placed below the entry price.
For short positions, the stop loss is placed above the entry price.
Trailing Stop:
When a position achieves a certain profit threshold (profit_threshold_percent), the trailing stop mechanism is activated.
For long positions, the trailing stop follows the highest price reached, ensuring that some profit is locked in if the price reverses.
For short positions, the trailing stop follows the lowest price reached.
Code Logic for Trailing Stop:
Exit Execution:
The strategy exits the position when the price hits the calculated stop loss level.
This includes both the initial stop loss and the trailing stop that adjusts as the trade progresses.
Code Logic for Exit:
Summary:
Breaks and Retests - Free990 uses support and resistance levels to identify breakouts, followed by retests for confirmation.
Entry Points: Triggered when a breakout is confirmed and a retest occurs, for both long and short trades.
Exit Points:
Initial Stop Loss: Limits risk for both long and short trades.
Trailing Stop Loss: Locks in profits as the price moves in favor of the position.
This strategy aims to capture the momentum after breakouts and minimize losses through effective use of stop loss and trailing stops. It gives the flexibility of selecting trade direction and ensures trades are taken with confirmation through the retest, which helps to reduce false breakouts.
Original Code by @HoanGhetti