Momentum Indicator Strategy 15m// Strategy based on Momentum Indicator
// Greatest effect on 15M time frame
// Created and based on Binance chart
// Working with comission
// No repaints
Komut dosyalarını "momentum" için ara
Runner 1.0This script uses moving average crosses together with momentum to try to optimalise entry and exit, based on the market info at that time.
It works best on the 5 minute chart, and pyramiding will increase profit - but lower the profit factor. Based on testing, it works with the most major currency pairs as well as commodities.
OmenImproved momentum-based trading algorithm based on my previous Merlin V6 script. Adjusted trade filtering rules to improve net return and profit factor on both long and short positions.
Works best with mid time-frame Heikin-Ashi data.
Gabriel's Witcher Strategy [65 Minute Trading Bot]Strategy Description: Gabriel's Witcher Strategy
Author: Gabriel
Platform: TradingView Pine Script (Version 5)
Backtested Asset: Avalanche (Coinbase Brokage for Volume adjustment)
Timeframe: 65 Minutes
Strategy Type: Comprehensive Trend-Following and Momentum Strategy with Scalping and Risk Management Features
Overview
Gabriel's Witcher Strategy is an advanced trading bot designed for the Avalanche pair on a 65-minute timeframe. This strategy integrates a multitude of technical indicators to identify and execute high-probability trading opportunities. By combining trend-following, momentum, volume analysis, and range filtering, the strategy aims to capitalize on both long and short market movements. Additionally, it incorporates scalping mechanisms and robust risk management features, including take-profit (TP) levels and commission considerations, to optimize trade performance and profitability.
====Key Components====
Source Selection:
Custom Source Flexibility: Allows traders to select from a wide range of price and volume sources (e.g., Close, Open, High, Low, HL2, HLC3, OHLC4, VWAP, On-Balance Volume, etc.) for indicator calculations, enhancing adaptability to various trading styles.
Various curves of Volume Analysis are employed:
Tick Volume Calculation: Utilizes tick volume as a fallback when actual volume data is unavailable, ensuring consistency across different data feeds.
Volume Indicators: Incorporates multiple volume-based indicators such as On-Balance Volume (OBV), Accumulation/Distribution (AccDist), Negative Volume Index (NVI), Positive Volume Index (PVI), and Price Volume Trend (PVT) for comprehensive market analysis.
Trend Indicators:
ADX (Average Directional Index): Measures trend strength using either the Classic or Masanakamura method, with customizable length and threshold settings. It's used to open positions when the mesured trend is strong, or exit when its weak.
Jurik Moving Average (JMA): A smooth moving average that reduces lag, configurable with various parameters including source, resolution, and repainting options.
Parabolic SAR: Identifies potential reversals in market trends with adjustable start, increment, and maximum settings.
Custom Trend Indicator: Utilizes highest and lowest price points over a specified timeframe to determine current and previous trend bases, visually represented with color-filled areas.
Momentum Indicators:
Relative Strength Index (RSI): Evaluates the speed and change of price movements, smoothed with a custom length and source. It's used to not enter the market for shorts in oversold or longs for overbought conditions, and to enter for long in oversold or shorts for overboughts.
Momentum-Based Calculations: Employs both Double Exponential Moving Averages (DEMA) on a MACD-based RSI to enhance momentum signal accuracy which is then further accelerated by a Hull MA. This is the technical analysis tool that determines bearish or bullish momentum.
OBV-Based Momentum Conditions: Uses two exponential moving averages of OBV to determine bullish or bearish momentum shifts, anomalities, breakouts where banks flow their funds in or Smart Money Concepts trade.
Moving Averages (MA):
Multiple MA Types: Includes Simple Moving Average (SMA), Exponential Moving Average (EMA), Weighted Moving Average (WMA), Hull Moving Average (HMA), and Volume-Weighted Moving Average (VWMA), selectable via input parameters.
MA Speed Calculation: Measures the percentage change in MA values to determine the direction and speed of the trend.
Range Filtering:
Variance-Based Filter: Utilizes variance and moving averages to filter out trades during low-volatility periods, enhancing trade quality.
Color-Coded Range Indicators: Visualizes range filtering with color changes on the chart for quick assessment.
Scalping Mechanism:
Heikin-Ashi Candles: Optionally uses Heikin-Ashi candles for smoother price action analysis.
EMA-Based Trend Detection: Employs fast, medium, and slow EMAs to determine trend direction and potential entry points.
Fractal-Based Filtering: Detects regular or BW (Black & White) fractals to confirm trade signals.
Take Profit (TP) Management:
Dynamic TP Levels: Calculates TP levels based on the number of consecutive long or short entries, adjusting targets to maximize profits.
TP Signals and Re-Entry: Plots TP signals on the chart and allows for automatic re-entry upon TP hit, maintaining continuous trade flow.
Risk Management:
Commission Integration: Accounts for trading commissions to ensure net profitability.
Position Sizing: Configured to use a percentage of equity for each trade, adjustable via input parameters.
Pyramiding: Allows up to one additional position per direction to enhance gains during strong trends.
Alerts and Visual Indicators:
Buy/Sell Signals: Plots visual indicators (triangles and flags) on the chart to signify entry and TP points.
Bar Coloring: Changes bar colors based on ADX and trend conditions for immediate visual cues.
Price Levels: Marks significant price levels related to TP and position entries with cross styles.
Input Parameters
Source Settings:
Custom Sources (srcinput): Choose from various price and volume sources to tailor indicator calculations.
ADX Settings:
ADX Type (ADX_options): Select between 'CLASSIC' and 'MASANAKAMURA' methods.
ADX Length (ADX_len): Defines the period for ADX calculation.
ADX Threshold (th): Sets the minimum ADX value to consider a strong trend.
RSI Settings:
RSI Length (len_3): Period for RSI calculation.
RSI Source (src_3): Source data for RSI.
Trend Strength Settings:
Channel Length (n1): Period for trend channel calculation.
Average Length (n2): Period for smoothing trend strength.
Jurik Moving Average (JMA) Settings:
JMA Source (inp): Source data for JMA.
JMA Resolution (reso): Timeframe for JMA calculation.
JMA Repainting (rep): Option to allow JMA to repaint.
JMA Length (lengths): Period for JMA.
Parabolic SAR Settings:
SAR Start (start): Initial acceleration factor.
SAR Increment (increment): Acceleration factor increment.
SAR Maximum (maximum): Maximum acceleration factor.
SAR Point Width (width): Visual width of SAR points.
Trend Indicator Settings:
Trend Timeframe (timeframe): Period for trend indicator calculations.
Momentum Settings:
Source Type (srcType): Select between 'Price' and 'VWAP'.
Momentum Source (srcPrice): Source data for momentum calculations.
RSI Length (rsiLen): Period for momentum RSI.
Smooth Length (sLen): Smoothing period for momentum RSI.
OBV Settings:
OBV Line 1 (e1): EMA period for OBV line 1.
OBV Line 2 (e2): EMA period for OBV line 2.
Moving Average (MA) Settings:
MA Length (length): Period for MA calculations.
MA Type (matype): Select MA type (1: SMA, 2: EMA, 3: HMA, 4: WMA, 5: VWMA).
Range Filter Settings:
Range Filter Length (length0): Period for range filtering.
Range Filter Multiplier (mult): Multiplier for range variance.
Take Profit (TP) Settings:
TP Long (tp_long0): Percentage for long TP.
TP Short (tp_short0): Percentage for short TP.
Scalping Settings:
Scalping Activation (ACT_SCLP): Enable or disable scalping.
Scalping Length (HiLoLen): Period for scalping indicators.
Fast EMA Length (fastEMAlength): Period for fast EMA in scalping.
Medium EMA Length (mediumEMAlength): Period for medium EMA in scalping.
Slow EMA Length (slowEMAlength): Period for slow EMA in scalping.
Filter (filterBW): Enable or disable additional fractal filtering.
Pullback Lookback (Lookback): Number of bars for pullback consideration.
Use Heikin-Ashi Candles (UseHAcandles): Option to use Heikin-Ashi candles for smoother trend analysis.
Strategy Logic
Indicator Calculations:
Volume and Source Selection: Determines the primary data source based on user input, ensuring flexibility and adaptability.
ADX Calculation: Computes ADX using either the Classic or Masanakamura method to assess trend strength.
RSI Calculation: Evaluates market momentum using RSI, further smoothed with custom periods.
Trend Strength Assessment: Utilizes trend channel and average lengths to gauge the robustness of current trends.
Jurik Moving Average (JMA): Smooths price data to reduce lag and enhance trend detection.
Parabolic SAR: Identifies potential trend reversals with adjustable parameters for sensitivity.
Momentum Analysis: Combines RSI with DEMA and OBV-based conditions to confirm bullish or bearish momentum.
Moving Averages: Employs multiple MA types to determine trend direction and speed.
Range Filtering: Filters out low-volatility periods to focus on high-probability trades.
Trade Conditions:
Long Entry Conditions:
ADX Confirmation: ADX must be above the threshold, indicating a strong uptrend.
RSI and Momentum: RSI below 70 and positive momentum signals.
JMA and SAR: JMA indicates an uptrend, and Parabolic SAR is below the price.
Trend Indicator: Confirms the current trend direction.
Range Filter: Ensures market is in an upward range.
Scalping Option: If enabled, additional scalping conditions must be met.
Short Entry Conditions:
ADX Confirmation: ADX must be above the threshold, indicating a strong downtrend.
RSI and Momentum: RSI above 30 and negative momentum signals.
JMA and SAR: JMA indicates a downtrend, and Parabolic SAR is above the price.
Trend Indicator: Confirms the current trend direction.
Range Filter: Ensures market is in a downward range.
Scalping Option: If enabled, additional scalping conditions must be met.
Position Management:
Entry Execution: Places long or short orders based on the identified conditions and user-selected position types (Longs, Shorts, or Both).
Take Profit (TP): Automatically sets TP levels based on predefined percentages, adjusting dynamically with consecutive trades.
Re-Entry Mechanism: Allows for automatic re-entry upon TP hit, maintaining active trading positions.
Exit Conditions: Closes positions when TP levels are reached or when opposing trend signals are detected.
Visual Indicators:
Bar Coloring: Highlights bars in green for bullish conditions, red for bearish, and orange for neutral.
Plotting Price Levels: Marks significant price levels related to TP and trade entries with cross symbols.
Signal Shapes: Displays triangle and flag shapes on the chart to indicate trade entries and TP hits.
Alerts:
Custom Alerts: Configured to notify traders of long entries, short entries, and TP hits, enabling timely trade management and execution.
Usage Instructions
Setup:
Apply the Strategy: Add the script to your TradingView chart set to BTCUSDT with a 65-minute timeframe.
Configure Inputs: Adjust the input parameters under their respective groups (e.g., Source Settings, ADX, RSI, Trend Strength, etc.) to match your trading preferences and risk tolerance.
Position Selection:
Choose Position Type: Use the Position input to select Longs, Shorts, or Both based on your market outlook.
Execution: The strategy will automatically execute and manage positions according to the selected type, ensuring targeted trading actions.
Signal Interpretation:
Buy Signals: Blue triangles below the bars indicate potential long entry points.
Sell Signals: Red triangles above the bars indicate potential short entry points.
Take Profit Signals: Flags above or below the bars signify TP hits for long and short positions, respectively.
Bar Colors: Green bars suggest bullish conditions, red bars indicate bearish conditions, and orange bars represent neutral or consolidating markets.
Risk Management:
Default Position Size: Set to 100% of equity. Adjust the default_qty_value as needed for your risk management strategy.
Commission: Accounts for a 0.1% commission per trade. Adjust the commission_value to match your broker's fees.
Pyramiding: Allows up to one additional position per direction to enhance gains during strong trends.
Backtesting and Optimization:
Historical Testing: Utilize TradingView's backtesting features to evaluate the strategy's performance over historical data.
Parameter Tuning: Optimize input parameters to align the strategy with current market dynamics and personal trading objectives.
Alerts Configuration:
Set Up Alerts: Enable and configure alerts based on the predefined alertcondition statements to receive real-time notifications of trade signals and TP hits.
Additional Features
Comprehensive Indicator Integration: Combines multiple technical indicators to provide a holistic view of market conditions, enhancing trade signal accuracy.
Scalping Options: Offers an optional scalping mechanism to capitalize on short-term price movements, increasing trading flexibility.
Dynamic Take Profit Levels: Adjusts TP targets based on the number of consecutive trades, maximizing profit potential during favorable trends.
Advanced Volume Analysis: Utilizes various volume indicators to confirm trend strength and validate trade signals.
Customizable Range Filtering: Filters trades based on market volatility, ensuring trades are taken during optimal conditions.
Heikin-Ashi Candle Support: Optionally uses Heikin-Ashi candles for smoother price action analysis and reduced noise.
====Recommendations====
Thorough Backtesting:
Historical Performance: Before deploying the strategy in a live trading environment, perform comprehensive backtesting to understand its performance under various market conditions. These are the premium settings for Avalanche Coinbase.
Optimization: Regularly review and adjust input parameters to ensure the strategy remains effective amidst changing market volatility and trends. Backtest the strategy for each crypto and make sure you are in the right brokage when using the volume sources as it will affect the overall outcome of the trading strategy.
Risk Management:
Position Sizing: Adjust the default_qty_value to align with your risk tolerance and account size.
Stop-Loss Implementation: Although the strategy includes TP levels, they're also consided to be a stop-loss mechanisms to protect against adverse market movements.
Commission Adjustment: Ensure the commission_value accurately reflects your broker's fees to maintain realistic backtesting results. Generally, 0.1~0.3% are most of the average broker's comission fees.
Slipage: The slip comssion is 1 Tick, since the strategy is adjusted to only enter/exit on bar close where most positions are available.
Continuous Monitoring:
Strategy Performance: Regularly monitor the strategy's performance to ensure it operates as expected and make adjustments as needed. A max-drawndown hit has been added to operate in case the premium Avalanche settings go wrong, but you can turn it off an adjust the equity percentage to 50% if you are confortable with the high volatile max-drown or even 100% if your account allows you to borrow cash.
Customization:
Indicator Parameters: Tailor indicator settings (e.g., ADX length, RSI period, MA types) to better fit your specific trading style and market conditions.
Scalping Options: Enable or disable scalping based on your trading preferences and risk appetite.
Conclusion
Gabriel's Witcher Strategy is a robust and versatile trading solution designed to navigate the complexities of the Crypto market. By integrating a wide array of technical indicators and providing extensive customization options, this strategy empowers traders to execute informed and strategic trades. Its comprehensive approach, combining trend analysis, momentum detection, volume evaluation, and range filtering, ensures that trades are taken during optimal market conditions. Additionally, the inclusion of scalping features and dynamic take-profit management enhances the strategy's adaptability and profitability potential. Unlike any trading strategy, with both diligent testing and continuous monitoring under the strategy tester, it's possible to achieve sustained success by adjusting the settings to the individual Crypto that need it, for example this one is preset for Avalanche Coinbase 65 Miinutes but it can be adjust for BTCUSD or Etherium if you backtest and search for the right settings.
SuperATR 7-Step Profit - Strategy [presentTrading] Long time no see!
█ Introduction and How It Is Different
The SuperATR 7-Step Profit Strategy is a multi-layered trading approach that integrates adaptive Average True Range (ATR) calculations with momentum-based trend detection. What sets this strategy apart is its sophisticated 7-step take-profit mechanism, which combines four ATR-based exit levels and three fixed percentage levels. This hybrid approach allows traders to dynamically adjust to market volatility while systematically capturing profits in both long and short market positions.
Traditional trading strategies often rely on static indicators or single-layered exit strategies, which may not adapt well to changing market conditions. The SuperATR 7-Step Profit Strategy addresses this limitation by:
- Using Adaptive ATR: Enhances the standard ATR by making it responsive to current market momentum.
- Incorporating Momentum-Based Trend Detection: Identifies stronger trends with higher probability of continuation.
- Employing a Multi-Step Take-Profit System: Allows for gradual profit-taking at predetermined levels, optimizing returns while minimizing risk.
BTCUSD 6hr Performance
█ Strategy, How It Works: Detailed Explanation
The strategy revolves around detecting strong market trends and capitalizing on them using an adaptive ATR and momentum indicators. Below is a detailed breakdown of each component of the strategy.
🔶 1. True Range Calculation with Enhanced Volatility Detection
The True Range (TR) measures market volatility by considering the most significant price movements. The enhanced TR is calculated as:
TR = Max
Where:
High and Low are the current bar's high and low prices.
Previous Close is the closing price of the previous bar.
Abs denotes the absolute value.
Max selects the maximum value among the three calculations.
🔶 2. Momentum Factor Calculation
To make the ATR adaptive, the strategy incorporates a Momentum Factor (MF), which adjusts the ATR based on recent price movements.
Momentum = Close - Close
Stdev_Close = Standard Deviation of Close over n periods
Normalized_Momentum = Momentum / Stdev_Close (if Stdev_Close ≠ 0)
Momentum_Factor = Abs(Normalized_Momentum)
Where:
Close is the current closing price.
n is the momentum_period, a user-defined input (default is 7).
Standard Deviation measures the dispersion of closing prices over n periods.
Abs ensures the momentum factor is always positive.
🔶 3. Adaptive ATR Calculation
The Adaptive ATR (AATR) adjusts the traditional ATR based on the Momentum Factor, making it more responsive during volatile periods and smoother during consolidation.
Short_ATR = SMA(True Range, short_period)
Long_ATR = SMA(True Range, long_period)
Adaptive_ATR = /
Where:
SMA is the Simple Moving Average.
short_period and long_period are user-defined inputs (defaults are 3 and 7, respectively).
🔶 4. Trend Strength Calculation
The strategy quantifies the strength of the trend to filter out weak signals.
Price_Change = Close - Close
ATR_Multiple = Price_Change / Adaptive_ATR (if Adaptive_ATR ≠ 0)
Trend_Strength = SMA(ATR_Multiple, n)
🔶 5. Trend Signal Determination
If (Short_MA > Long_MA) AND (Trend_Strength > Trend_Strength_Threshold):
Trend_Signal = 1 (Strong Uptrend)
Elif (Short_MA < Long_MA) AND (Trend_Strength < -Trend_Strength_Threshold):
Trend_Signal = -1 (Strong Downtrend)
Else:
Trend_Signal = 0 (No Clear Trend)
🔶 6. Trend Confirmation with Price Action
Adaptive_ATR_SMA = SMA(Adaptive_ATR, atr_sma_period)
If (Trend_Signal == 1) AND (Close > Short_MA) AND (Adaptive_ATR > Adaptive_ATR_SMA):
Trend_Confirmed = True
Elif (Trend_Signal == -1) AND (Close < Short_MA) AND (Adaptive_ATR > Adaptive_ATR_SMA):
Trend_Confirmed = True
Else:
Trend_Confirmed = False
Local Performance
🔶 7. Multi-Step Take-Profit Mechanism
The strategy employs a 7-step take-profit system
█ Trade Direction
The SuperATR 7-Step Profit Strategy is designed to work in both long and short market conditions. By identifying strong uptrends and downtrends, it allows traders to capitalize on price movements in either direction.
Long Trades: Initiated when the market shows strong upward momentum and the trend is confirmed.
Short Trades: Initiated when the market exhibits strong downward momentum and the trend is confirmed.
█ Usage
To implement the SuperATR 7-Step Profit Strategy:
1. Configure the Strategy Parameters:
- Adjust the short_period, long_period, and momentum_period to match the desired sensitivity.
- Set the trend_strength_threshold to control how strong a trend must be before acting.
2. Set Up the Multi-Step Take-Profit Levels:
- Define ATR multipliers and fixed percentage levels according to risk tolerance and profit goals.
- Specify the percentage of the position to close at each level.
3. Apply the Strategy to a Chart:
- Use the strategy on instruments and timeframes where it has been tested and optimized.
- Monitor the positions and adjust parameters as needed based on performance.
4. Backtest and Optimize:
- Utilize TradingView's backtesting features to evaluate historical performance.
- Adjust the default settings to optimize for different market conditions.
█ Default Settings
Understanding default settings is crucial for optimal performance.
Short Period (3): Affects the responsiveness of the short-term MA.
Effect: Lower values increase sensitivity but may produce more false signals.
Long Period (7): Determines the trend baseline.
Effect: Higher values reduce noise but may delay signals.
Momentum Period (7): Influences adaptive ATR and trend strength.
Effect: Shorter periods react quicker to price changes.
Trend Strength Threshold (0.5): Filters out weaker trends.
Effect: Higher thresholds yield fewer but stronger signals.
ATR Multipliers: Set distances for ATR-based exits.
Effect: Larger multipliers aim for bigger moves but may reduce hit rate.
Fixed TP Levels (%): Control profit-taking on smaller moves.
Effect: Adjusting these levels affects how quickly profits are realized.
Exit Percentages: Determine how much of the position is closed at each TP level.
Effect: Higher percentages reduce exposure faster, affecting risk and reward.
Adjusting these variables allows you to tailor the strategy to different market conditions and personal risk preferences.
By integrating adaptive indicators and a multi-tiered exit strategy, the SuperATR 7-Step Profit Strategy offers a versatile tool for traders seeking to navigate varying market conditions effectively. Understanding and adjusting the key parameters enables traders to harness the full potential of this strategy.
DRM StrategyOne of the ways I go when I develop strategies is by reducing the number of parameters and removing fixed parameters and levels.
In this strategy, I'm trying to create an RSI indicator with a dynamic length.
Length is computed based on the correlation between Price and its momentum.
You can set min and max values for the RSI, and if the correlation is close to 1, we'll be at a min RSI value. When it's -1, we'll be at the max level.
I got this idea from Sofien Kaabar's book.
The strategy is super simple, and there might be much room for improvement.
Performance on the deep backtesting is not excellent, so I think the strategy needs some filters for regimes, etc.
Thanks to @MUQWISHI for helping me code it.
Disclaimer
Please remember that past performance may not indicate future results.
Due to various factors, including changing market conditions, the strategy may no longer perform as well as in historical backtesting.
This post and the script don’t provide any financial advice.
Kernel Regression Envelope with SMI OscillatorThis script combines the predictive capabilities of the **Nadaraya-Watson estimator**, implemented by the esteemed jdehorty (credit to him for his excellent work on the `KernelFunctions` library and the original Nadaraya-Watson Envelope indicator), with the confirmation strength of the **Stochastic Momentum Index (SMI)** to create a dynamic trend reversal strategy. The core idea is to identify potential overbought and oversold conditions using the Nadaraya-Watson Envelope and then confirm these signals with the SMI before entering a trade.
**Understanding the Nadaraya-Watson Envelope:**
The Nadaraya-Watson estimator is a non-parametric regression technique that essentially calculates a weighted average of past price data to estimate the current underlying trend. Unlike simple moving averages that give equal weight to all past data within a defined period, the Nadaraya-Watson estimator uses a **kernel function** (in this case, the Rational Quadratic Kernel) to assign weights. The key parameters influencing this estimation are:
* **Lookback Window (h):** This determines how many historical bars are considered for the estimation. A larger window results in a smoother estimation, while a smaller window makes it more reactive to recent price changes.
* **Relative Weighting (alpha):** This parameter controls the influence of different time frames in the estimation. Lower values emphasize longer-term price action, while higher values make the estimator more sensitive to shorter-term movements.
* **Start Regression at Bar (x\_0):** This allows you to exclude the potentially volatile initial bars of a chart from the calculation, leading to a more stable estimation.
The script calculates the Nadaraya-Watson estimation for the closing price (`yhat_close`), as well as the highs (`yhat_high`) and lows (`yhat_low`). The `yhat_close` is then used as the central trend line.
**Dynamic Envelope Bands with ATR:**
To identify potential entry and exit points around the Nadaraya-Watson estimation, the script uses **Average True Range (ATR)** to create dynamic envelope bands. ATR measures the volatility of the price. By multiplying the ATR by different factors (`nearFactor` and `farFactor`), we create multiple bands:
* **Near Bands:** These are closer to the Nadaraya-Watson estimation and are intended to identify potential immediate overbought or oversold zones.
* **Far Bands:** These are further away and can act as potential take-profit or stop-loss levels, representing more extreme price extensions.
The script calculates both near and far upper and lower bands, as well as an average between the near and far bands. This provides a nuanced view of potential support and resistance levels around the estimated trend.
**Confirming Reversals with the Stochastic Momentum Index (SMI):**
While the Nadaraya-Watson Envelope identifies potential overextended conditions, the **Stochastic Momentum Index (SMI)** is used to confirm a potential trend reversal. The SMI, unlike a traditional stochastic oscillator, oscillates around a zero line. It measures the location of the current closing price relative to the median of the high/low range over a specified period.
The script calculates the SMI on a **higher timeframe** (defined by the "Timeframe" input) to gain a broader perspective on the market momentum. This helps to filter out potential whipsaws and false signals that might occur on the current chart's timeframe. The SMI calculation involves:
* **%K Length:** The lookback period for calculating the highest high and lowest low.
* **%D Length:** The period for smoothing the relative range.
* **EMA Length:** The period for smoothing the SMI itself.
The script uses a double EMA for smoothing within the SMI calculation for added smoothness.
**How the Indicators Work Together in the Strategy:**
The strategy enters a long position when:
1. The closing price crosses below the **near lower band** of the Nadaraya-Watson Envelope, suggesting a potential oversold condition.
2. The SMI crosses above its EMA, indicating positive momentum.
3. The SMI value is below -50, further supporting the oversold idea on the higher timeframe.
Conversely, the strategy enters a short position when:
1. The closing price crosses above the **near upper band** of the Nadaraya-Watson Envelope, suggesting a potential overbought condition.
2. The SMI crosses below its EMA, indicating negative momentum.
3. The SMI value is above 50, further supporting the overbought idea on the higher timeframe.
Trades are closed when the price crosses the **far band** in the opposite direction of the trade. A stop-loss is also implemented based on a fixed value.
**In essence:** The Nadaraya-Watson Envelope identifies areas where the price might be deviating significantly from its estimated trend. The SMI, calculated on a higher timeframe, then acts as a confirmation signal, suggesting that the momentum is shifting in the direction of a potential reversal. The ATR-based bands provide dynamic entry and exit points based on the current volatility.
**How to Use the Script:**
1. **Apply the script to your chart.**
2. **Adjust the "Kernel Settings":**
* **Lookback Window (h):** Experiment with different values to find the smoothness that best suits the asset and timeframe you are trading. Lower values make the envelope more reactive, while higher values make it smoother.
* **Relative Weighting (alpha):** Adjust to control the influence of different timeframes on the Nadaraya-Watson estimation.
* **Start Regression at Bar (x\_0):** Increase this value if you want to exclude the initial, potentially volatile, bars from the calculation.
* **Stoploss:** Set your desired stop-loss value.
3. **Adjust the "SMI" settings:**
* **%K Length, %D Length, EMA Length:** These parameters control the sensitivity and smoothness of the SMI. Experiment to find settings that work well for your trading style.
* **Timeframe:** Select the higher timeframe you want to use for SMI confirmation.
4. **Adjust the "ATR Length" and "Near/Far ATR Factor":** These settings control the width and sensitivity of the envelope bands. Smaller ATR lengths make the bands more reactive to recent volatility.
5. **Customize the "Color Settings"** to your preference.
6. **Observe the plots:**
* The **Nadaraya-Watson Estimation (yhat)** line represents the estimated underlying trend.
* The **near and far upper and lower bands** visualize potential overbought and oversold zones based on the ATR.
* The **fill areas** highlight the regions between the near and far bands.
7. **Look for entry signals:** A long entry is considered when the price touches or crosses below the lower near band and the SMI confirms upward momentum. A short entry is considered when the price touches or crosses above the upper near band and the SMI confirms downward momentum.
8. **Manage your trades:** The script provides exit signals when the price crosses the far band. The fixed stop-loss will also close trades if the price moves against your position.
**Justification for Combining Nadaraya-Watson Envelope and SMI:**
The combination of the Nadaraya-Watson Envelope and the SMI provides a more robust approach to identifying potential trend reversals compared to using either indicator in isolation. The Nadaraya-Watson Envelope excels at identifying potential areas where the price is overextended relative to its recent history. However, relying solely on the envelope can lead to false signals, especially in choppy or volatile markets. By incorporating the SMI as a confirmation tool, we add a momentum filter that helps to validate the potential reversals signaled by the envelope. The higher timeframe SMI further helps to filter out noise and focus on more significant shifts in momentum. The ATR-based bands add a dynamic element to the entry and exit points, adapting to the current market volatility. This mashup aims to leverage the strengths of each indicator to create a more reliable trading strategy.
Slight Swing Momentum Strategy.Introduction:
The Swing Momentum Strategy is a quantitative trading strategy designed to capture mid-term opportunities in the financial markets by combining swing trading principles with momentum indicators. It utilizes a combination of technical indicators, including moving averages, crossover signals, and volume analysis, to generate buy and sell signals. The strategy aims to identify market trends and capitalize on price momentum for profit generation.
Highlights:
The strategy offers several key highlights that make it unique and potentially attractive to traders:
Swing Trading with Momentum: The strategy combines the principles of swing trading, which aim to capture short-to-medium-term price swings, with momentum indicators that help identify strong price trends and potential breakout opportunities.
Technical Indicator Optimization: The strategy utilizes a selection of optimized technical indicators, including moving averages and crossover signals, to filter out the noise and focus on high-probability trading setups. This optimization enhances the strategy's ability to identify favourable entry and exit points.
Risk Management: The strategy incorporates risk management techniques, such as position sizing based on equity and dynamic stop loss levels, to manage risk exposure and protect capital. This helps to minimize drawdowns and preserve profits.
Buy Condition:
The buy condition in the strategy is determined by a combination of factors, including A1, A2, A3, XG, and weeklySlope. Let's break it down:
A1 Condition: The A1 condition checks for specific price relationships. It verifies that the ratio of the highest price to the closing price is less than 1.03, the ratio of the opening price to the lowest price is less than 1.03, and the ratio of the highest price to the previous day's closing price is greater than 1.06. This condition looks for a specific pattern indicating potential bullish momentum.
A2 Condition: The A2 condition checks for price relationships related to the closing price. It verifies that the ratio of the closing price to the opening price is greater than 1.05 or that the ratio of the closing price to the previous day's closing price is greater than 1.05. This condition looks for signs of upward price movement and momentum.
A3 Condition: The A3 condition focuses on volume. It checks if the current volume crosses above the highest volume over the last 60 periods. This condition aims to identify increased buying interest and potentially confirms the strength of the potential upward price movement.
XG Condition: The XG condition combines the A1 and A2 conditions and checks if they are true for both the current and previous bars. It also verifies that the ratio of the closing price to the 5-period EMA crosses above the 9-period SMA of the same ratio. This condition helps identify potential buy signals when multiple factors align, indicating a strong bullish momentum and potential entry point.
Weekly Trend Factor: The weekly slope condition calculates the slope of the 50-period SMA over a weekly timeframe. It checks if the slope is positive, indicating an overall upward trend on a weekly basis. This condition provides additional confirmation that the stock is in an upward trend.
When all of these conditions align, the buy condition is triggered, indicating a favourable time to enter a long position.
Sell Condition:
The sell condition is relatively straightforward in the strategy:
Sell Signal: The sell condition simply checks if the closing price crosses below the 10-period EMA. When this condition is met, it indicates a potential reversal or weakening of the upward price momentum, and a sell signal is generated.
Backtest Outcome:
The strategy was backtested over the period from January 22nd, 1999 to May 3rd, 2023, using daily candlestick charts for the NASDAQ: NVDA. The strategy used an initial capital of 1,000,000 USD, The order quantity is defined as 10% of the equity. The strategy allows for pyramiding with 1 order, and the transaction fee is set at 0.03% per trade. Here are the key outcomes of the backtest:
Net Profit: 539,595.84 USD, representing a return of 53.96%.
Percent Profitable: 48.82%
Total Closed Trades: 127
Profit Factor: 2.331
Max Drawdown: 68,422.70 USD
Average Trade: 4,248.79 USD
Average Number of Bars in Trades: 11, indicating the average duration of the trades.
Conclusion:
In conclusion, the Swing Momentum Strategy is a quantitative trading approach that combines swing trading principles with momentum indicators to identify and capture mid term trading opportunities. The strategy has demonstrated promising results during backtesting, including a significant net profit and a favourable profit factor.
Price change scalping short and long strategyPrice change scalping Short and Long strategy uses a rate of change momentum oscillator to calculate the percent change in price between a period of time. Rate of change calculation takes the current price and compares it to a price of "n" periods while the period of time can be defined by a user. The calculated rate of change value is then compared to the upper threshold and the lower threshold values to determine if a position should be opened. If the threshold is crossed and filtering conditions are met a strategy position will be triggered. Entry, take profit, and stop loss prices are calculated and displayed on the chart as well as positions directions. Once the entry price is crossed, a long or short position is created and once the take profit price is crossed, the stop loss price will begin to trail behind the price action using the close of the previous bar. Once the trailing stop price is crossed, the position is closed. If the entry price is not crossed and the price action crosses the stop level, the trade setup is cancelled. The strategy is enhanced by DCA algorithm which allows to average entry price with safety orders. The script also allows to use Martingale coefficient to increase averaging power
Advantages of this script:
Strategy has high net profit of 293% at backtests
Backtests show high accuracy around 71%
High frequency and low duration of trades
Can be used with short-term timeframes ranging from 5 to 60 minutes
Strategy is sustainable to market slumps due to DCA implementation
Can be used for short and long positions (can be adjusted to long only, short only or both)
Can be applied to any market and quote currency
Easy to configure user interface settings
Built in detailed statistic menu
How to use?
1. Apply the strategy to a trading pair your are interested in using 5 to 60 minutes timeframe chart
2. Configure the strategy: change layer values, order size multiple and take profit/stop loss values according to current market cycle stage
3. Set up a TradingView alert to trigger when strategy conditions are met
4. Strategy will send alerts when to enter and when to exit positions which can be applied to your portfolio using external trading platforms
5. Update settings once market conditions are changed using backtests on a monthly period
Intramarket Difference Index StrategyHi Traders !!
The IDI Strategy:
In layman’s terms this strategy compares two indicators across markets and exploits their differences.
note: it is best the two markets are correlated as then we know we are trading a short to long term deviation from both markets' general trend with the assumption both markets will trend again sometime in the future thereby exhausting our trading opportunity.
📍 Import Notes:
This Strategy calculates trade position size independently (i.e. risk per trade is controlled in the user inputs tab), this means that the ‘Order size’ input in the ‘Properties’ tab will have no effect on the strategy. Why ? because this allows us to define custom position size algorithms which we can use to improve our risk management and equity growth over time. Here we have the option to have fixed quantity or fixed percentage of equity ATR (Average True Range) based stops in addition to the turtle trading position size algorithm.
‘Pyramiding’ does not work for this strategy’, similar to the order size input togeling this input will have no effect on the strategy as the strategy explicitly defines the maximum order size to be 1.
This strategy is not perfect, and as of writing of this post I have not traded this algo.
Always take your time to backtests and debug the strategy.
🔷 The IDI Strategy:
By default this strategy pulls data from your current TV chart and then compares it to the base market, be default BINANCE:BTCUSD . The strategy pulls SMA and RSI data from either market (we call this the difference data), standardizes the data (solving the different unit problem across markets) such that it is comparable and then differentiates the data, calling the result of this transformation and difference the Intramarket Difference (ID). The formula for the the ID is
ID = market1_diff_data - market2_diff_data (1)
Where
market(i)_diff_data = diff_data / ATR(j)_market(i)^0.5,
where i = {1, 2} and j = the natural numbers excluding 0
Formula (1) interpretation is the following
When ID > 0: this means the current market outperforms the base market
When ID = 0: Markets are at long run equilibrium
When ID < 0: this means the current market underperforms the base market
To form the strategy we define one of two strategy type’s which are Trend and Mean Revesion respectively.
🔸 Trend Case:
Given the ‘‘Strategy Type’’ is equal to TREND we define a threshold for which if the ID crosses over we go long and if the ID crosses under the negative of the threshold we go short.
The motivating idea is that the ID is an indicator of the two symbols being out of sync, and given we know volatility clustering, momentum and mean reversion of anomalies to be a stylised fact of financial data we can construct a trading premise. Let's first talk more about this premise.
For some markets (cryptocurrency markets - synthetic symbols in TV) the stylised fact of momentum is true, this means that higher momentum is followed by higher momentum, and given we know momentum to be a vector quantity (with magnitude and direction) this momentum can be both positive and negative i.e. when the ID crosses above some threshold we make an assumption it will continue in that direction for some time before executing back to its long run equilibrium of 0 which is a reasonable assumption to make if the market are correlated. For example for the BTCUSD - ETHUSD pair, if the ID > +threshold (inputs for MA and RSI based ID thresholds are found under the ‘‘INTRAMARKET DIFFERENCE INDEX’’ group’), ETHUSD outperforms BTCUSD, we assume the momentum to continue so we go long ETHUSD.
In the standard case we would exit the market when the IDI returns to its long run equilibrium of 0 (for the positive case the ID may return to 0 because ETH’s difference data may have decreased or BTC’s difference data may have increased). However in this strategy we will not define this as our exit condition, why ?
This is because we want to ‘‘let our winners run’’, to achieve this we define a trailing Donchian Channel stop loss (along with a fixed ATR based stop as our volatility proxy). If we were too use the 0 exit the strategy may print a buy signal (ID > +threshold in the simple case, market regimes may be used), return to 0 and then print another buy signal, and this process can loop may times, this high trade frequency means we fail capture the entire market move lowering our profit, furthermore on lower time frames this high trade frequencies mean we pay more transaction costs (due to price slippage, commission and big-ask spread) which means less profit.
By capturing the sum of many momentum moves we are essentially following the trend hence the trend following strategy type.
Here we also print the IDI (with default strategy settings with the MA difference type), we can see that by letting our winners run we may catch many valid momentum moves, that results in a larger final pnl that if we would otherwise exit based on the equilibrium condition(Valid trades are denoted by solid green and red arrows respectively and all other valid trades which occur within the original signal are light green and red small arrows).
another example...
Note: if you would like to plot the IDI separately copy and paste the following code in a new Pine Script indicator template.
indicator("IDI")
// INTRAMARKET INDEX
var string g_idi = "intramarket diffirence index"
ui_index_1 = input.symbol("BINANCE:BTCUSD", title = "Base market", group = g_idi)
// ui_index_2 = input.symbol("BINANCE:ETHUSD", title = "Quote Market", group = g_idi)
type = input.string("MA", title = "Differrencing Series", options = , group = g_idi)
ui_ma_lkb = input.int(24, title = "lookback of ma and volatility scaling constant", group = g_idi)
ui_rsi_lkb = input.int(14, title = "Lookback of RSI", group = g_idi)
ui_atr_lkb = input.int(300, title = "ATR lookback - Normalising value", group = g_idi)
ui_ma_threshold = input.float(5, title = "Threshold of Upward/Downward Trend (MA)", group = g_idi)
ui_rsi_threshold = input.float(20, title = "Threshold of Upward/Downward Trend (RSI)", group = g_idi)
//>>+----------------------------------------------------------------+}
// CUSTOM FUNCTIONS |
//<<+----------------------------------------------------------------+{
// construct UDT (User defined type) containing the IDI (Intramarket Difference Index) source values
// UDT will hold many variables / functions grouped under the UDT
type functions
float Close // close price
float ma // ma of symbol
float rsi // rsi of the asset
float atr // atr of the asset
// the security data
getUDTdata(symbol, malookback, rsilookback, atrlookback) =>
indexHighTF = barstate.isrealtime ? 1 : 0
= request.security(symbol, timeframe = timeframe.period,
expression = [close , // Instentiate UDT variables
ta.sma(close, malookback) ,
ta.rsi(close, rsilookback) ,
ta.atr(atrlookback) ])
data = functions.new(close_, ma_, rsi_, atr_)
data
// Intramerket Difference Index
idi(type, symbol1, malookback, rsilookback, atrlookback, mathreshold, rsithreshold) =>
threshold = float(na)
index1 = getUDTdata(symbol1, malookback, rsilookback, atrlookback)
index2 = getUDTdata(syminfo.tickerid, malookback, rsilookback, atrlookback)
// declare difference variables for both base and quote symbols, conditional on which difference type is selected
var diffindex1 = 0.0, var diffindex2 = 0.0,
// declare Intramarket Difference Index based on series type, note
// if > 0, index 2 outpreforms index 1, buy index 2 (momentum based) until equalibrium
// if < 0, index 2 underpreforms index 1, sell index 1 (momentum based) until equalibrium
// for idi to be valid both series must be stationary and normalised so both series hae he same scale
intramarket_difference = 0.0
if type == "MA"
threshold := mathreshold
diffindex1 := (index1.Close - index1.ma) / math.pow(index1.atr*malookback, 0.5)
diffindex2 := (index2.Close - index2.ma) / math.pow(index2.atr*malookback, 0.5)
intramarket_difference := diffindex2 - diffindex1
else if type == "RSI"
threshold := rsilookback
diffindex1 := index1.rsi
diffindex2 := index2.rsi
intramarket_difference := diffindex2 - diffindex1
//>>+----------------------------------------------------------------+}
// STRATEGY FUNCTIONS CALLS |
//<<+----------------------------------------------------------------+{
// plot the intramarket difference
= idi(type,
ui_index_1,
ui_ma_lkb,
ui_rsi_lkb,
ui_atr_lkb,
ui_ma_threshold,
ui_rsi_threshold)
//>>+----------------------------------------------------------------+}
plot(intramarket_difference, color = color.orange)
hline(type == "MA" ? ui_ma_threshold : ui_rsi_threshold, color = color.green)
hline(type == "MA" ? -ui_ma_threshold : -ui_rsi_threshold, color = color.red)
hline(0)
Note it is possible that after printing a buy the strategy then prints many sell signals before returning to a buy, which again has the same implication (less profit. Potentially because we exit early only for price to continue upwards hence missing the larger "trend"). The image below showcases this cenario and again, by allowing our winner to run we may capture more profit (theoretically).
This should be clear...
🔸 Mean Reversion Case:
We stated prior that mean reversion of anomalies is an standerdies fact of financial data, how can we exploit this ?
We exploit this by normalizing the ID by applying the Ehlers fisher transformation. The transformed data is then assumed to be approximately normally distributed. To form the strategy we employ the same logic as for the z score, if the FT normalized ID > 2.5 (< -2.5) we buy (short). Our exit conditions remain unchanged (fixed ATR stop and trailing Donchian Trailing stop)
🔷 Position Sizing:
If ‘‘Fixed Risk From Initial Balance’’ is toggled true this means we risk a fixed percentage of our initial balance, if false we risk a fixed percentage of our equity (current balance).
Note we also employ a volatility adjusted position sizing formula, the turtle training method which is defined as follows.
Turtle position size = (1/ r * ATR * DV) * C
Where,
r = risk factor coefficient (default is 20)
ATR(j) = risk proxy, over j times steps
DV = Dollar Volatility, where DV = (1/Asset Price) * Capital at Risk
🔷 Risk Management:
Correct money management means we can limit risk and increase reward (theoretically). Here we employ
Max loss and gain per day
Max loss per trade
Max number of consecutive losing trades until trade skip
To read more see the tooltips (info circle).
🔷 Take Profit:
By defualt the script uses a Donchain Channel as a trailing stop and take profit, In addition to this the script defines a fixed ATR stop losses (by defualt, this covers cases where the DC range may be to wide making a fixed ATR stop usefull), ATR take profits however are defined but optional.
ATR SL and TP defined for all trades
🔷 Hurst Regime (Regime Filter):
The Hurst Exponent (H) aims to segment the market into three different states, Trending (H > 0.5), Random Geometric Brownian Motion (H = 0.5) and Mean Reverting / Contrarian (H < 0.5). In my interpretation this can be used as a trend filter that eliminates market noise.
We utilize the trending and mean reverting based states, as extra conditions required for valid trades for both strategy types respectively, in the process increasing our trade entry quality.
🔷 Example model Architecture:
Here is an example of one configuration of this strategy, combining all aspects discussed in this post.
Future Updates
- Automation integration (next update)
Neon Momentum Waves StrategyIntroduction
The Neon Momentum Waves Strategy is a momentum-based indicator designed to help traders visualize potential shifts in market direction. It builds upon a MACD-style calculation while incorporating an enhanced visual representation of momentum waves. This approach may assist traders in identifying areas of increasing or decreasing momentum, potentially aligning with market trends or reversals.
How It Works
This strategy is based on a modified MACD (Moving Average Convergence Divergence) method, calculating the difference between two Exponential Moving Averages (EMAs). The momentum wave represents this difference, while an additional smoothing line (signal line) helps highlight potential momentum shifts.
Key Components:
Momentum Calculation:
Uses a fast EMA (12-period) and a slow EMA (26-period) to measure short-term and long-term momentum.
A signal line (20-period EMA of the MACD difference) smooths fluctuations.
The histogram (momentum wave) represents the divergence between the MACD value and the signal line.
Interpreting Momentum Changes:
Momentum Increasing: When the histogram rises above the zero line, it may indicate strengthening upward movement.
Momentum Decreasing: When the histogram moves below the zero line, it may signal a weakening trend or downward momentum.
Potential Exhaustion Points: Users can define custom threshold levels (default: ±10) to highlight when momentum is significantly strong or weak.
Visual Enhancements:
The neon glow effect is created by layering multiple plots with decreasing opacity, enhancing the clarity of momentum shifts.
Aqua-colored waves highlight upward momentum, while purple waves represent downward momentum.
Horizontal reference lines mark the zero line and user-defined thresholds to improve interpretability.
How It Differs from Traditional Indicators
Improved Visualization: Unlike standard MACD histograms, this approach provides clearer visual cues using a neon-style wave format.
Customizable Thresholds: Rather than relying solely on MACD crossovers, users can adjust sensitivity settings to better suit their trading style.
Momentum-Based Approach: The strategy is focused on visualizing shifts in momentum strength, rather than predicting price movements.
Potential Use Cases
Momentum Trend Awareness: Helps traders identify periods where momentum appears to be strengthening or fading.
Market Structure Analysis: May complement other indicators to assess whether price action aligns with momentum changes.
Flexible Timeframe Application: Can be used across different timeframes, depending on the trader’s strategy.
Important Considerations
This strategy is purely momentum-based and does not incorporate volume, fundamental factors, or price action confirmation.
Momentum shifts do not guarantee price direction changes—they should be considered alongside broader market context.
The strategy may perform differently in trending vs. ranging markets, so adjustments in sensitivity may be needed.
Risk management is essential—traders should apply proper stop-losses and position sizing techniques in line with their risk tolerance.
Conclusion
The Neon Momentum Waves Strategy provides a visually enhanced method of tracking momentum, allowing traders to observe potential changes in market strength. While not a predictive tool, it serves as a complementary indicator that may help traders in momentum-based decision-making. As with any technical tool, it should be used as part of a broader strategy that considers multiple factors in market analysis.
Forex Pair Yield Momentum This Pine Script strategy leverages yield differentials between the 2-year government bond yields of two countries to trade Forex pairs. Yield spreads are widely regarded as a fundamental driver of currency movements, as highlighted by international finance theories like the Interest Rate Parity (IRP), which suggests that currencies with higher yields tend to appreciate due to increased capital flows:
1. Dynamic Yield Spread Calculation:
• The strategy dynamically calculates the yield spread (yield_a - yield_b) for the chosen Forex pair.
• Example: For GBP/USD, the spread equals US 2Y Yield - UK 2Y Yield.
2. Momentum Analysis via Bollinger Bands:
• Yield momentum is computed as the difference between the current spread and its moving
Bollinger Bands are applied to identify extreme deviations:
• Long Entry: When momentum crosses below the lower band.
• Short Entry: When momentum crosses above the upper band.
3. Reversal Logic:
• An optional checkbox reverses the trading logic, allowing long trades at the upper band and short trades at the lower band, accommodating different market conditions.
4. Trade Management:
• Positions are held for a predefined number of bars (hold_periods), and each trade uses a fixed contract size of 100 with a starting capital of $20,000.
Theoretical Basis:
1. Yield Differentials and Currency Movements:
• Empirical studies, such as Clarida et al. (2009), confirm that interest rate differentials significantly impact exchange rate dynamics, especially in carry trade strategies .
• Higher-yields tend to appreciate against lower-yielding currencies due to speculative flows and demand for higher returns.
2. Bollinger Bands for Momentum:
• Bollinger Bands effectively capture deviations in yield momentum, identifying opportunities where price returns to equilibrium (mean reversion) or extends in trend-following scenarios (momentum breakout).
• As Bollinger (2001) emphasized, this tool adapts to market volatility by dynamically adjusting thresholds .
References:
1. Dornbusch, R. (1976). Expectations and Exchange Rate Dynamics. Journal of Political Economy.
2. Obstfeld, M., & Rogoff, K. (1996). Foundations of International Macroeconomics.
3. Clarida, R., Davis, J., & Pedersen, N. (2009). Currency Carry Trade Regimes. NBER.
4. Bollinger, J. (2001). Bollinger on Bollinger Bands.
5. Mendelsohn, L. B. (2006). Forex Trading Using Intermarket Analysis.
Ruckard TradingLatinoThis strategy tries to mimic TradingLatino strategy.
The current implementation is beta.
Si hablas castellano o espanyol por favor consulta MENSAJE EN CASTELLANO más abajo.
It's aimed at BTCUSDT pair and 4h timeframe.
STRATEGY DEFAULT SETTINGS EXPLANATION
max_bars_back=5000 : This is a random number of bars so that the strategy test lasts for one or two years
calc_on_order_fills=false : To wait for the 4h closing is too much. Try to check if it's worth entering a position after closing one. I finally decided not to recheck if it's worth entering after an order is closed. So it is false.
calc_on_every_tick=false
pyramiding=0 : We only want one entry allowed in the same direction. And we don't want the order to scale by error.
initial_capital=1000 : These are 1000 USDT. By using 1% maximum loss per trade and 7% as a default stop loss by using 1000 USDT at 12000 USDT per BTC price you would entry with around 142 USDT which are converted into: 0.010 BTC . The maximum number of decimal for contracts on this BTCUSDT market is 3 decimals. E.g. the minimum might be: 0.001 BTC . So, this minimal 1000 amount ensures us not to entry with less than 0.001 entries which might have happened when using 100 USDT as an initial capital.
slippage=1 : Binance BTCUSDT mintick is: 0.01. Binance slippage: 0.1 % (Let's assume). TV has an integer slippage. It does not have a percentage based slippage. If we assume a 1000 initial capital, the recommended equity is 142 which at 11996 USDT per BTC price means: 0.011 BTC. The 0.1% slippage of: 0.011 BTC would be: 0.000011 . This is way smaller than the mintick. So our slippage is going to be 1. E.g. 1 (slippage) * 0.01 (mintick)
commission_type=strategy.commission.percent and commission_value=0.1 : According to: binance . com / en / fee / schedule in VIP 0 level both maker and taker fees are: 0.1 %.
BACKGROUND
Jaime Merino is a well known Youtuber focused on crypto trading
His channel TradingLatino
features monday to friday videos where he explains his strategy.
JAIME MERINO STANCE ON BOTS
Jaime Merino stance on bots (taken from memory out of a 2020 June video from him):
'~
You know. They can program you a bot and it might work.
But, there are some special situations that the bot would not be able to handle.
And, I, as a human, I would handle it. And the bot wouldn't do it.
~'
My long term target with this strategy script is add as many
special situations as I can to the script
so that it can match Jaime Merino behaviour even in non normal circumstances.
My alternate target is learn Pine script
and enjoy programming with it.
WARNING
This script might be bigger than other TradingView scripts.
However, please, do not be confused because the current status is beta.
This script has not been tested with real money.
This is NOT an official strategy from Jaime Merino.
This is NOT an official strategy from TradingLatino . net .
HOW IT WORKS
It basically uses ADX slope and LazyBear's Squeeze Momentum Indicator
to make its buy and sell decisions.
Fast paced EMA being bigger than slow paced EMA
(on higher timeframe) advices going long.
Fast paced EMA being smaller than slow paced EMA
(on higher timeframe) advices going short.
It finally add many substrats that TradingLatino uses.
SETTINGS
__ SETTINGS - Basics
____ SETTINGS - Basics - ADX
(ADX) Smoothing {14}
(ADX) DI Length {14}
(ADX) key level {23}
____ SETTINGS - Basics - LazyBear Squeeze Momentum
(SQZMOM) BB Length {20}
(SQZMOM) BB MultFactor {2.0}
(SQZMOM) KC Length {20}
(SQZMOM) KC MultFactor {1.5}
(SQZMOM) Use TrueRange (KC) {True}
____ SETTINGS - Basics - EMAs
(EMAS) EMA10 - Length {10}
(EMAS) EMA10 - Source {close}
(EMAS) EMA55 - Length {55}
(EMAS) EMA55 - Source {close}
____ SETTINGS - Volume Profile
Lowest and highest VPoC from last three days
is used to know if an entry has a support
VPVR of last 100 4h bars
is also taken into account
(VP) Use number of bars (not VP timeframe): Uses 'Number of bars {100}' setting instead of 'Volume Profile timeframe' setting for calculating session VPoC
(VP) Show tick difference from current price {False}: BETA . Might be useful for actions some day.
(VP) Number of bars {100}: If 'Use number of bars (not VP timeframe)' is turned on this setting is used to calculate session VPoC.
(VP) Volume Profile timeframe {1 day}: If 'Use number of bars (not VP timeframe)' is turned off this setting is used to calculate session VPoC.
(VP) Row width multiplier {0.6}: Adjust how the extra Volume Profile bars are shown in the chart.
(VP) Resistances prices number of decimal digits : Round Volume Profile bars label numbers so that they don't have so many decimals.
(VP) Number of bars for bottom VPOC {18}: 18 bars equals 3 days in suggested timeframe of 4 hours. It's used to calculate lowest session VPoC from previous three days. It's also used as a top VPOC for sells.
(VP) Ignore VPOC bottom advice on long {False}: If turned on it ignores bottom VPOC (or top VPOC on sells) when evaluating if a buy entry is worth it.
(VP) Number of bars for VPVR VPOC {100}: Number of bars to calculate the VPVR VPoC. We use 100 as Jaime once used. When the price bounces back to the EMA55 it might just bounce to this VPVR VPoC if its price it's lower than the EMA55 (Sells have inverse algorithm).
____ SETTINGS - ADX Slope
ADX Slope
help us to understand if ADX
has a positive slope, negative slope
or it is rather still.
(ADXSLOPE) ADX cut {23}: If ADX value is greater than this cut (23) then ADX has strength
(ADXSLOPE) ADX minimum steepness entry {45}: ADX slope needs to be 45 degrees to be considered as a positive one.
(ADXSLOPE) ADX minimum steepness exit {45}: ADX slope needs to be -45 degrees to be considered as a negative one.
(ADXSLOPE) ADX steepness periods {3}: In order to avoid false detection the slope is calculated along 3 periods.
____ SETTINGS - Next to EMA55
(NEXTEMA55) EMA10 to EMA55 bounce back percentage {80}: EMA10 might bounce back to EMA55 or maybe to 80% of its complete way to EMA55
(NEXTEMA55) Next to EMA55 percentage {15}: How much next to the EMA55 you need to be to consider it's going to bounce back upwards again.
____ SETTINGS - Stop Loss and Take Profit
You can set a default stop loss or a default take profit.
(STOPTAKE) Stop Loss % {7.0}
(STOPTAKE) Take Profit % {2.0}
____ SETTINGS - Trailing Take Profit
You can customize the default trailing take profit values
(TRAILING) Trailing Take Profit (%) {1.0}: Trailing take profit offset in percentage
(TRAILING) Trailing Take Profit Trigger (%) {2.0}: When 2.0% of benefit is reached then activate the trailing take profit.
____ SETTINGS - MAIN TURN ON/OFF OPTIONS
(EMAS) Ignore advice based on emas {false}.
(EMAS) Ignore advice based on emas (On closing long signal) {False}: Ignore advice based on emas but only when deciding to close a buy entry.
(SQZMOM) Ignore advice based on SQZMOM {false}: Ignores advice based on SQZMOM indicator.
(ADXSLOPE) Ignore advice based on ADX positive slope {false}
(ADXSLOPE) Ignore advice based on ADX cut (23) {true}
(STOPTAKE) Take Profit? {false}: Enables simple Take Profit.
(STOPTAKE) Stop Loss? {True}: Enables simple Stop Loss.
(TRAILING) Enable Trailing Take Profit (%) {True}: Enables Trailing Take Profit.
____ SETTINGS - Strategy mode
(STRAT) Type Strategy: 'Long and Short', 'Long Only' or 'Short Only'. Default: 'Long and Short'.
____ SETTINGS - Risk Management
(RISKM) Risk Management Type: 'Safe', 'Somewhat safe compound' or 'Unsafe compound'. ' Safe ': Calculations are always done with the initial capital (1000) in mind. The maximum losses per trade/day/week/month are taken into account. ' Somewhat safe compound ': Calculations are done with initial capital (1000) or a higher capital if it increases. The maximum losses per trade/day/week/month are taken into account. ' Unsafe compound ': In each order all the current capital is gambled and only the default stop loss per order is taken into account. That means that the maximum losses per trade/day/week/month are not taken into account. Default : 'Somewhat safe compound'.
(RISKM) Maximum loss per trade % {1.0}.
(RISKM) Maximum loss per day % {6.0}.
(RISKM) Maximum loss per week % {8.0}.
(RISKM) Maximum loss per month % {10.0}.
____ SETTINGS - Decimals
(DECIMAL) Maximum number of decimal for contracts {3}: How small (3 decimals means 0.001) an entry position might be in your exchange.
EXTRA 1 - PRICE IS IN RANGE indicator
(PRANGE) Print price is in range {False}: Enable a bottom label that indicates if the price is in range or not.
(PRANGE) Price range periods {5}: How many previous periods are used to calculate the medians
(PRANGE) Price range maximum desviation (%) {0.6} ( > 0 ): Maximum positive desviation for range detection
(PRANGE) Price range minimum desviation (%) {0.6} ( > 0 ): Mininum negative desviation for range detection
EXTRA 2 - SQUEEZE MOMENTUM Desviation indicator
(SQZDIVER) Show degrees {False}: Show degrees of each Squeeze Momentum Divergence lines to the x-axis.
(SQZDIVER) Show desviation labels {False}: Whether to show or not desviation labels for the Squeeze Momentum Divergences.
(SQZDIVER) Show desviation lines {False}: Whether to show or not desviation lines for the Squeeze Momentum Divergences.
EXTRA 3 - VOLUME PROFILE indicator
WARNING: This indicator works not on current bar but on previous bar. So in the worst case it might be VP from 4 hours ago. Don't worry, inside the strategy calculus the correct values are used. It's just that I cannot show the most recent one in the chart.
(VP) Print recent profile {False}: Show Volume Profile indicator
(VP) Avoid label price overlaps {False}: Avoid label prices to overlap on the chart.
EXTRA 4 - ZIGNALY SUPPORT
(ZIG) Zignaly Alert Type {Email}: 'Email', 'Webhook'. ' Email ': Prepare alert_message variable content to be compatible with zignaly expected email content format. ' Webhook ': Prepare alert_message variable content to be compatible with zignaly expected json content format.
EXTRA 5 - DEBUG
(DEBUG) Enable debug on order comments {False}: If set to true it prepares the order message to match the alert_message variable. It makes easier to debug what would have been sent by email or webhook on each of the times an order is triggered.
HOW TO USE THIS STRATEGY
BOT MODE: This is the default setting.
PROPER VOLUME PROFILE VIEWING: Click on this strategy settings. Properties tab. Make sure Recalculate 'each time the order was run' is turned off.
NEWBIE USER: (Check PROPER VOLUME PROFILE VIEWING above!) You might want to turn on the 'Print recent profile {False}' setting. Alternatively you can use my alternate realtime study: 'Resistances and supports based on simplified Volume Profile' but, be aware, it might consume one indicator.
ADVANCED USER 1: Turn on the 'Print price is in range {False}' setting and help us to debug this subindicator. Also help us to figure out how to include this value in the strategy.
ADVANCED USER 2: Turn on the all the (SQZDIVER) settings and help us to figure out how to include this value in the strategy.
ADVANCED USER 3: (Check PROPER VOLUME PROFILE VIEWING above!) Turn on the 'Print recent profile {False}' setting and report any problem with it.
JAIME MERINO: Just use the indicator as it comes by default. It should only show BUY signals, SELL signals and their associated closing signals. From time to time you might want to check 'ADVANCED USER 2' instructions to check that there's actually a divergence. Check also 'ADVANCED USER 1' instructions for your amusement.
EXTRA ADVICE
It's advised that you use this strategy in addition to these two other indicators:
* Squeeze Momentum Indicator
* ADX
so that your chart matches as close as possible to TradingLatino chart.
ZIGNALY INTEGRATION
This strategy supports Zignaly email integration by default. It also supports Zignaly Webhook integration.
ZIGNALY INTEGRATION - Email integration example
What you would write in your alert message:
||{{strategy.order.alert_message}}||key=MYSECRETKEY||
ZIGNALY INTEGRATION - Webhook integration example
What you would write in your alert message:
{ {{strategy.order.alert_message}} , "key" : "MYSECRETKEY" }
CREDITS
I have reused and adapted some code from
'Directional Movement Index + ADX & Keylevel Support' study
which it's from TradingView console user.
I have reused and adapted some code from
'3ema' study
which it's from TradingView hunganhnguyen1193 user.
I have reused and adapted some code from
'Squeeze Momentum Indicator ' study
which it's from TradingView LazyBear user.
I have reused and adapted some code from
'Strategy Tester EMA-SMA-RSI-MACD' study
which it's from TradingView fikira user.
I have reused and adapted some code from
'Support Resistance MTF' study
which it's from TradingView LonesomeTheBlue user.
I have reused and adapted some code from
'TF Segmented Linear Regression' study
which it's from TradingView alexgrover user.
I have reused and adapted some code from
"Poor man's volume profile" study
which it's from TradingView IldarAkhmetgaleev user.
FEEDBACK
Please check the strategy source code for more detailed information
where, among others, I explain all of the substrats
and if they are implemented or not.
Q1. Did I understand wrong any of the Jaime substrats (which I have implemented)?
Q2. The strategy yields quite profit when we should long (EMA10 from 1d timeframe is higher than EMA55 from 1d timeframe.
Why the strategy yields much less profit when we should short (EMA10 from 1d timeframe is lower than EMA55 from 1d timeframe)?
Any idea if you need to do something else rather than just reverse what Jaime does when longing?
FREQUENTLY ASKED QUESTIONS
FAQ1. Why are you giving this strategy for free?
TradingLatino and his fellow enthusiasts taught me this strategy. Now I'm giving back to them.
FAQ2. Seriously! Why are you giving this strategy for free?
I'm confident his strategy might be improved a lot. By keeping it to myself I would avoid other people contributions to improve it.
Now that everyone can contribute this is a win-win.
FAQ3. How can I connect this strategy to my Exchange account?
It seems that you can attach alerts to strategies.
You might want to combine it with a paying account which enable Webhook URLs to work.
I don't know how all of this works right now so I cannot give you advice on it.
You will have to do your own research on this subject. But, be careful. Automating trades, if not done properly,
might end on you automating losses.
FAQ4. I have just found that this strategy by default gives more than 3.97% of 'maximum series of losses'. That's unacceptable according to my risk management policy.
You might want to reduce default stop loss setting from 7% to something like 5% till you are ok with the 'maximum series of losses'.
FAQ5. Where can I learn more about your work on this strategy?
Check the source code. You might find unused strategies. Either because there's not a substantial increases on earnings. Or maybe because they have not been implemented yet.
FAQ6. How much leverage is applied in this strategy?
No leverage.
FAQ7. Any difference with original Jaime Merino strategy?
Most of the times Jaime defines an stop loss at the price entry. That's not the case here. The default stop loss is 7% (but, don't be confused it only means losing 1% of your investment thanks to risk management). There's also a trailing take profit that triggers at 2% profit with a 1% trailing.
FAQ8. Why this strategy return is so small?
The strategy should be improved a lot. And, well, backtesting in this platform is not guaranteed to return theoric results comparable to real-life returns. That's why I'm personally forward testing this strategy to verify it.
MENSAJE EN CASTELLANO
En primer lugar se agradece feedback para mejorar la estrategia.
Si eres un usuario avanzado y quieres colaborar en mejorar el script no dudes en comentar abajo.
Ten en cuenta que aunque toda esta descripción tenga que estar en inglés no es obligatorio que el comentario esté en inglés.
CHISTE - CASTELLANO
¡Pero Jaime!
¡400.000!
¡Tu da mun!
Volatility Pulse with Dynamic ExitVolatility Pulse with Dynamic Exit
Overview
This strategy, Volatility Pulse with Dynamic Exit, is designed to capture impulsive price moves following volatility expansions, while ensuring risk is managed dynamically. It avoids trades during low-volatility periods and uses momentum confirmation to enter positions. Additionally, it features a time-based forced exit system to limit overexposure.
How It Works
A position is opened when the current ATR (Average True Range) significantly exceeds its 20-period average, signaling a volatility expansion.
To confirm the move is directional and not random noise, the strategy checks for momentum: the close must be above/below the close of 20 bars ago.
Low volatility zones are filtered out to avoid chop and poor trade entries.
Upon entry, a dynamic stop-loss is set at 1x ATR, while take-profit is set at 2x ATR, offering a 2:1 reward-to-risk ratio.
If the position remains open for more than 42 bars, it is forcefully closed, even if targets are not hit. This prevents long-lasting, stagnant trades.
Key Features
✅ Volatility-based breakout detection
✅ Momentum confirmation filter
✅ Dynamic stop-loss and take-profit based on real-time ATR
✅ Time-based forced exit (42 bars max holding)
✅ Low-volatility environment filter
✅ Realistic settings with 0.05% commission and slippage included
Parameters Explanation
ATR Length (14): Captures recent volatility over ~2 weeks (14 candles).
Momentum Lookback (20): Ensures meaningful price move confirmation.
Volatility Expansion Threshold (0.5x): Strategy activates only when ATR is at least 50% above its average.
Minimum ATR Filter (1.0x): Avoids entries in tight, compressed market ranges.
Max Holding (42 bars): Trades are closed after 42 bars if no exit signal is triggered.
Risk-Reward (2.0x): Aiming for 2x ATR as profit for every 1x ATR risk.
Originality Note
While volatility and momentum have been used separately in many strategies, this script combines both with a time-based dynamic exit system. This exit rule, combined with an ATR-based filter to exclude low-activity periods, gives the system a practical edge in real-world use. It avoids classic rehashes and integrates real trading constraints for better applicability.
Disclaimer
This is a research-focused trading strategy meant for backtesting and educational purposes. Always use proper risk management and perform due diligence before applying to real funds.
OBV-X| OBV Norm By Momentumtrade Idea By Ziplor traderA unique volume-momentum-based strategy inspired by proprietary OBV dynamics.
This script combines normalized On-Balance Volume (OBV) behavior with adaptive signal filtering mechanisms.
It includes optional filters based on inflection detection and momentum accumulation zones to enhance signal quality.
Key elements include:
Volume-based momentum normalization
Signal line crossover logic
Optional regime filters (acceleration/integration-based)
Dynamic divergence detection
Visual zone overlays for quick market context
Designed for advanced users. Not financial advice.
Further parameters are intentionally obfuscated to preserve the edge.
DEMA Trend Oscillator Strategy📌 Overview
The DEMA Trend Oscillator Strategy is a dynamic trend-following approach based on the Normalized DEMA Oscillator SD.
It adapts in real-time to market volatility with the goal of improving entry accuracy and optimizing risk management.
⚠️ This strategy is provided for educational and research purposes only.
Past performance does not guarantee future results.
🎯 Strategy Objectives
The main goal of this strategy is to respond quickly to sudden price movements and trend reversals,
by combining momentum-based signals with volatility filters.
It is designed to be user-friendly for traders of all experience levels.
✨ Key Features
Normalized DEMA Oscillator: A momentum indicator that normalizes DEMA values on a 0–100 scale, allowing intuitive identification of trend strength
Two-Bar Confirmation Filter: Requires two consecutive bullish or bearish candles to reduce noise and enhance entry reliability
ATR x2 Trailing Stop: In addition to fixed stop-loss levels, a trailing stop based on 2× ATR is used to maximize profits during strong trends
📊 Trading Rules
Long Entry:
Normalized DEMA > 55 (strong upward momentum)
Candle low is above the upper SD band
Two consecutive bullish candles appear
Short Entry:
Normalized DEMA < 45 (downward momentum)
Candle high is below the lower SD band
Two consecutive bearish candles appear
Exit Conditions:
Take-profit at a risk-reward ratio of 1.5
Stop-loss triggered if price breaks below (long) or above (short) the SD band
Trailing stop activated based on 2× ATR to secure and extend profits
💰 Risk Management Parameters
Symbol & Timeframe: Any (AUDUSD 5M example)
Account size (virtual): $3000
Commission: 0.4PIPS(0.0004)
Slippage: 2 pips
Risk per trade: 5%
Number of trades (backtest):534
All parameters can be adjusted based on broker specifications and individual trading profiles.
⚙️ Trading Parameters & Considerations
Indicator: Normalized DEMA Oscillator SD
Parameter settings:
DEMA Period (len_dema): 40
Base Length: 20
Long Threshold: 55
Short Threshold: 45
Risk-Reward Ratio: 1.5
ATR Multiplier for Trailing Stop: 2.0
🖼 Visual Support
The chart displays the following visual elements:
Upper and lower SD bands (±2 standard deviations)
Entry signals shown as directional arrows
🔧 Strategy Improvements & Uniqueness
This strategy is inspired by “Normalized DEMA Oscillator SD” by QuantEdgeB,
but introduces enhancements such as a two-bar confirmation filter and an ATR-based trailing stop.
Compared to conventional trend-following strategies, it offers superior noise filtering and profit optimization.
✅ Summary
The DEMA Trend Oscillator Strategy is a responsive and practical trend-following method
that combines momentum detection with adaptive risk management.
Its visual clarity and logical structure make it a powerful and repeatable tool
for traders seeking consistent performance in trending markets.
⚠️ Always apply appropriate risk management. This strategy is based on historical data and does not guarantee future results.
Premarket Gap MomoTrader(SC)🚀 Pre-Market Momentum Trader | Dynamic Position Sizing 🔥
📈 Trade explosive pre-market breakouts with confidence! This algorithmic strategy automatically detects high-momentum setups, dynamically adjusts position size, and ensures risk control with a one-trade-per-day rule.
⸻
🎯 Key Features
✅ Pre-Market Trading (4:00 - 9:30 AM EST) – Only trades during the most volatile session for early breakouts.
✅ Dynamic Position Sizing – Adapts trade size based on candle strength:
• ≥90% body → 100% position
• ≥85% body → 50% position
• ≥75% body → 25% position
✅ 1 Trade Per Day – Avoids overtrading by allowing only one high-quality trade daily.
✅ Momentum Protection – Stays in the trade as long as:
• Every candle remains green (no red candles).
• Each new candle has increasing volume (confirming strong buying).
✅ Automated Exit – Closes position if:
• A red candle appears.
• Volume fails to increase on a green candle.
⸻
🔍 How It Works
📌 Entry Conditions:
✔️ Candle gains ≥5% from previous close.
✔️ Candle is green & body size ≥75% of total range.
✔️ Volume >15K (confirming liquidity).
✔️ Occurs within pre-market session (4:00 - 9:30 AM EST).
✔️ Only the first valid trade of the day is taken.
📌 Exit Conditions:
❌ First red candle after entry → Exit trade.
❌ First green candle with lower volume → Exit trade.
⸻
🏆 Why Use This?
🔹 Eliminates Fake Breakouts – No trade unless volume & momentum confirm.
🔹 Prevents Overtrading – Restricts to one quality trade per day.
🔹 Adaptable to Any Market – Works on stocks, crypto, or forex.
🔹 Hands-Free Execution – No manual chart watching required!
⸻
🚨 Important Notes
📢 Not financial advice. Trading involves risk—always backtest & practice on paper trading before using real money.
📢 Enable pre-market data in your TradingView settings for accurate results.
📢 Optimized for 1-minute & 5-minute timeframes.
🔔 Like this strategy? Leave a comment, share your results, and don’t forget to hit Follow for more strategies! 🚀🔥
Volume Block Order AnalyzerCore Concept
The Volume Block Order Analyzer is a sophisticated Pine Script strategy designed to detect and analyze institutional money flow through large block trades. It identifies unusually high volume candles and evaluates their directional bias to provide clear visual signals of potential market movements.
How It Works: The Mathematical Model
1. Volume Anomaly Detection
The strategy first identifies "block trades" using a statistical approach:
```
avgVolume = ta.sma(volume, lookbackPeriod)
isHighVolume = volume > avgVolume * volumeThreshold
```
This means a candle must have volume exceeding the recent average by a user-defined multiplier (default 2.0x) to be considered a significant block trade.
2. Directional Impact Calculation
For each block trade identified, its price action determines direction:
- Bullish candle (close > open): Positive impact
- Bearish candle (close < open): Negative impact
The magnitude of impact is proportional to the volume size:
```
volumeWeight = volume / avgVolume // How many times larger than average
blockImpact = (isBullish ? 1.0 : -1.0) * (volumeWeight / 10)
```
This creates a normalized impact score typically ranging from -1.0 to 1.0, scaled by dividing by 10 to prevent excessive values.
3. Cumulative Impact with Time Decay
The key innovation is the cumulative impact calculation with decay:
```
cumulativeImpact := cumulativeImpact * impactDecay + blockImpact
```
This mathematical model has important properties:
- Recent block trades have stronger influence than older ones
- Impact gradually "fades" at rate determined by decay factor (default 0.95)
- Sustained directional pressure accumulates over time
- Opposing pressure gradually counteracts previous momentum
Trading Logic
Signal Generation
The strategy generates trading signals based on momentum shifts in institutional order flow:
1. Long Entry Signal: When cumulative impact crosses from negative to positive
```
if ta.crossover(cumulativeImpact, 0)
strategy.entry("Long", strategy.long)
```
*Logic: Institutional buying pressure has overcome selling pressure, indicating potential upward movement*
2. Short Entry Signal: When cumulative impact crosses from positive to negative
```
if ta.crossunder(cumulativeImpact, 0)
strategy.entry("Short", strategy.short)
```
*Logic: Institutional selling pressure has overcome buying pressure, indicating potential downward movement*
3. Exit Logic: Positions are closed when the cumulative impact moves against the position
```
if cumulativeImpact < 0
strategy.close("Long")
```
*Logic: The original signal is no longer valid as institutional flow has reversed*
Visual Interpretation System
The strategy employs multiple visualization techniques:
1. Color Gradient Bar System:
- Deep green: Strong buying pressure (impact > 0.5)
- Light green: Moderate buying pressure (0.1 < impact ≤ 0.5)
- Yellow-green: Mild buying pressure (0 < impact ≤ 0.1)
- Yellow: Neutral (impact = 0)
- Yellow-orange: Mild selling pressure (-0.1 < impact ≤ 0)
- Orange: Moderate selling pressure (-0.5 < impact ≤ -0.1)
- Red: Strong selling pressure (impact ≤ -0.5)
2. Dynamic Impact Line:
- Plots the cumulative impact as a line
- Line color shifts with impact value
- Line movement shows momentum and trend strength
3. Block Trade Labels:
- Marks significant block trades directly on the chart
- Shows direction and volume amount
- Helps identify key moments of institutional activity
4. Information Dashboard:
- Current impact value and signal direction
- Average volume benchmark
- Count of significant block trades
- Min/Max impact range
Benefits and Use Cases
This strategy provides several advantages:
1. Institutional Flow Detection: Identifies where large players are positioning themselves
2. Early Trend Identification: Often detects institutional accumulation/distribution before major price movements
3. Market Context Enhancement: Provides deeper insight than simple price action alone
4. Objective Decision Framework: Quantifies what might otherwise be subjective observations
5. Adaptive to Market Conditions: Works across different timeframes and instruments by using relative volume rather than absolute thresholds
Customization Options
The strategy allows users to fine-tune its behavior:
- Volume Threshold: How unusual a volume spike must be to qualify
- Lookback Period: How far back to measure average volume
- Impact Decay Factor: How quickly older trades lose influence
- Visual Settings: Labels and line width customization
This sophisticated yet intuitive strategy provides traders with a window into institutional activity, helping identify potential trend changes before they become obvious in price action alone.
JS-TechTrading: VWAP Momentum_Pullback StrategyGeneral Description and Unique Features of this Script
Introducing the VWAP Momentum-Pullback Strategy (long-only) that offers several unique features:
1. Our script/strategy utilizes Mark Minervini's Trend-Template as a qualifier for identifying stocks and other financial securities in confirmed uptrends.
NOTE: In this basic version of the script, the Trend-Template has to be used as a separate indicator on TradingView (Public Trend-Template indicators are available on TradingView – community scripts). It is recommended to only execute buy signals in case the stock or financial security is in a stage 2 uptrend, which means that the criteria of the trend-template are fulfilled.
2. Our strategy is based on the supply/demand balance in the market, making it timeless and effective across all timeframes. Whether you are day trading using 1- or 5-min charts or swing-trading using daily charts, this strategy can be applied and works very well.
3. We have also integrated technical indicators such as the RSI and the MA / VWAP crossover into this strategy to identify low-risk pullback entries in the context of confirmed uptrends. By doing so, the risk profile of this strategy and drawdowns are being reduced to an absolute minimum.
Minervini’s Trend-Template and the ‘Stage-Analysis’ of the Markets
This strategy is a so-called 'long-only' strategy. This means that we only take long positions, short positions are not considered.
The best market environment for such strategies are periods of stable upward trends in the so-called stage 2 - uptrend.
In stable upward trends, we increase our market exposure and risk.
In sideways markets and downward trends or bear markets, we reduce our exposure very quickly or go 100% to cash and wait for the markets to recover and improve. This allows us to avoid major losses and drawdowns.
This simple rule gives us a significant advantage over most undisciplined traders and amateurs!
'The Trend is your Friend'. This is a very old but true quote.
What's behind it???
• 98% of stocks made their biggest gains in a Phase 2 upward trend.
• If a stock is in a stable uptrend, this is evidence that larger institutions are buying the stock sustainably.
• By focusing on stocks that are in a stable uptrend, the chances of profit are significantly increased.
• In a stable uptrend, investors know exactly what to expect from further price developments. This makes it possible to locate low-risk entry points.
The goal is not to buy at the lowest price – the goal is to buy at the right price!
Each stock goes through the same maturity cycle – it starts at stage 1 and ends at stage 4
Stage 1 – Neglect Phase – Consolidation
Stage 2 – Progressive Phase – Accumulation
Stage 3 – Topping Phase – Distribution
Stage 4 – Downtrend – Capitulation
This strategy focuses on identifying stocks in confirmed stage 2 uptrends. This in itself gives us an advantage over long-term investors and less professional traders.
By focusing on stocks in a stage 2 uptrend, we avoid losses in downtrends (stage 4) or less profitable consolidation phases (stages 1 and 3). We are fully invested and put our money to work for us, and we are fully invested when stocks are in their stage 2 uptrends.
But how can we use technical chart analysis to find stocks that are in a stable stage 2 uptrend?
Mark Minervini has developed the so-called 'trend template' for this purpose. This is an essential part of our JS-TechTrading pullback strategy. For our watchlists, only those individual values that meet the tough requirements of Minervini's trend template are eligible.
The Trend Template
• 200d MA increasing over a period of at least 1 month, better 4-5 months or longer
• 150d MA above 200d MA
• 50d MA above 150d MA and 200d MA
• Course above 50d MA, 150d MA and 200d MA
• Ideally, the 50d MA is increasing over at least 1 month
• Price at least 25% above the 52w low
• Price within 25% of 52w high
• High relative strength according to IBD.
NOTE: In this basic version of the script, the Trend-Template has to be used as a separate indicator on TradingView (Public Trend-Template indicators are available in TradingView – community scripts). It is recommended to only execute buy signals in case the stock or financial security is in a stage 2 uptrend, which means that the criteria of the trend-template are fulfilled.
This strategy can be applied to all timeframes from 5 min to daily.
The VWAP Momentum-Pullback Strateg y
For the JS-TechTrading VWAP Momentum-Pullback Strategy, only stocks and other financial instruments that meet the selected criteria of Mark Minervini's trend template are recommended for algorithmic trading with this startegy.
A further prerequisite for generating a buy signals is that the individual value is in a short-term oversold state (RSI).
When the selling pressure is over and the continuation of the uptrend can be confirmed by the MA / VWAP crossover after reaching a price low, a buy signal is issued by this strategy.
Stop-loss limits and profit targets can be set variably.
Relative Strength Index (RSI)
The Relative Strength Index (RSI) is a technical indicator developed by Welles Wilder in 1978. The RSI is used to perform a market value analysis and identify the strength of a trend as well as overbought and oversold conditions. The indicator is calculated on a scale from 0 to 100 and shows how much an asset has risen or fallen relative to its own price in recent periods.
The RSI is calculated as the ratio of average profits to average losses over a certain period of time. A high value of the RSI indicates an overbought situation, while a low value indicates an oversold situation. Typically, a value > 70 is considered an overbought threshold and a value < 30 is considered an oversold threshold. A value above 70 signals that a single value may be overvalued and a decrease in price is likely , while a value below 30 signals that a single value may be undervalued and an increase in price is likely.
For example, let's say you're watching a stock XYZ. After a prolonged falling movement, the RSI value of this stock has fallen to 26. This means that the stock is oversold and that it is time for a potential recovery. Therefore, a trader might decide to buy this stock in the hope that it will rise again soon.
The MA / VWAP Crossover Trading Strategy
This strategy combines two popular technical indicators: the Moving Average (MA) and the Volume Weighted Average Price (VWAP). The MA VWAP crossover strategy is used to identify potential trend reversals and entry/exit points in the market.
The VWAP is calculated by taking the average price of an asset for a given period, weighted by the volume traded at each price level. The MA, on the other hand, is calculated by taking the average price of an asset over a specified number of periods. When the MA crosses above the VWAP, it suggests that buying pressure is increasing, and it may be a good time to enter a long position. When the MA crosses below the VWAP, it suggests that selling pressure is increasing, and it may be a good time to exit a long position or enter a short position.
Traders typically use the MA VWAP crossover strategy in conjunction with other technical indicators and fundamental analysis to make more informed trading decisions. As with any trading strategy, it is important to carefully consider the risks and potential rewards before making any trades.
This strategy is applicable to all timeframes and the relevant parameters for the underlying indicators (RSI and MA/VWAP) can be adjusted and optimized as needed.
Backtesting
Backtesting gives outstanding results on all timeframes and drawdowns can be reduced to a minimum level. In this example, the hourly chart for MCFT has been used.
Settings for backtesting are:
- Period from April 2020 until April 2021 (1 yr)
- Starting capital 100k USD
- Position size = 25% of equity
- 0.01% commission = USD 2.50.- per Trade
- Slippage = 2 ticks
Other comments
• This strategy has been designed to identify the most promising, highest probability entries and trades for each stock or other financial security.
• The RSI qualifier is highly selective and filters out the most promising swing-trading entries. As a result, you will normally only find a low number of trades for each stock or other financial security per year in case you apply this strategy for the daily charts. Shorter timeframes will result in a higher number of trades / year.
• As a result, traders need to apply this strategy for a full watchlist rather than just one financial security.
Delta-RSI Strategy (with filters)Delta-RSI Strategy (with filters):
This is a version of the Delta-RSI Oscillator strategy with several criteria available to filter entry and exit signals. This script is also suitable for backtesting over a user-defined period and offers several risk management options (take profit and stop loss).
Since the publication of the Delta-RSI Oscillator script, I have been asked many times to make it compatible with the Strategy Tester and add filtering criteria to minimize "false" signals. This version covers many of these requests. Feel free to insert your favorite D-RSI parameters and play around!
ABOUT DELTA-RSI
Delta-RSI represents a smoothed time derivative of the RSI designed as a momentum indicator (see links below):
INPUT DESCTIPTION
MODEL PARAMETERS
Polynomial Order : The order of local polynomial used to interpolate the relative strength index (RSI).
Length : The length of the lookback frame where local regression is applied.
RSI Length : The timeframe of RSI used as input.
Signal Length : The signal line is a EMA of the D-RSI time series. This input parameter defines the EMA length.
ALLOWED ENTRIES
The strategy can include long entries, short entries or both.
ENTRY AND EXIT CONDITIONS
Zero-crossing : bullish trade signal triggered when D-RSI crosses zero from negative to positive values (bearish otherwise)
Signal Line Crossing : bullish trade signal triggered when D-RSI crosses from below to above the signal line (bearish otherwise)
Direction Change : bullish trade signal triggered when D-RSI was negative and starts ascending (bearish otherwise)
APPLY FILTERS TO
The filters (described below) can be applied to long entry, short entry and exit signals.
RELATIVE VOLUME FILTER
When activated, the D-RSI-driven entries and exits will be triggered only if the current volume is greater than N times the average over the last M bars.
VOLATILITY FILTER
When activated, the D-RSI-driven entries and exits will be triggered only if the N-period average true range, ATR, is greater than the M-period ATR. If N < M, this condition implies increasing volatility.
OVERBOUGHT/OVERSOLD FILTER
When activated, the D-RSI-driven entries and exits will be triggered only if the value of 14-period RSI is in the range between N and M.
STOP LOSS/TAKE PROFIT
Fixed and trailing stop loss as well as take profit options are available.
FIXED BACKTESTING START/END DATES
If the checkboxes are not checked, the strategy will backtest all available price bars.
MACD Volume Strategy (BBO + MACD State, Reversal Type)Overview
MACD Volume Strategy (BBO + MACD State, Reversal Type) is a momentum-based reversal system that combines MACD crossover logic with volume filtering to enhance signal accuracy and minimize noise. It aims to identify structural trend shifts and manage risk using predefined parameters.
※This strategy is for educational and research purposes only. All results are based on historical simulations and do not guarantee future performance.
Strategy Objectives
Identify early trend transitions with high probability
Filter entries using volume dynamics to validate momentum
Maintain continuous exposure using a reversal-style model
Apply a consistent 1:1.5 risk-to-reward ratio per trade
Key Features
Integrated MACD and volume oscillator filtering
Zero repainting (all signals confirmed on closed candles)
Automatic position flipping for seamless direction shifts
Stop-loss and take-profit based on recent structural highs/lows
Trading Rules
Long Entry Conditions
MACD crosses above the zero line (BBO Buy arrow)
Volume oscillator is positive (short EMA > long EMA)
MACD is above the signal line
Close any existing short and enter a new long
Short Entry Conditions
MACD crosses below the zero line (BBO Sell arrow)
Volume oscillator is positive
MACD is below the signal line
Close any existing long and enter a new short
Exit Rules
Take Profit (TP) = Entry ± (risk distance × 1.5)
Stop Loss (SL) = Recent swing low (for long) or high (for short)
Early Exit = Triggered when a reversal signal appears (flip logic)
Risk Management Parameters
Pair: ETH/USD
Timeframe: 10-minute
Starting Capital: $3,000
Commission: 0.02%
Slippage: 2 pip
Risk per Trade: 5% of account equity (adjusted for sustainable practice)
Total Trades: 312 (backtest on selected dataset)
※Risk parameters are fully configurable and should be adjusted to suit each trader's personal setup and broker conditions.
Parameters & Configurations
Volume Short Length: 6
Volume Long Length: 12
MACD Fast Length: 11
MACD Slow Length: 21
Signal Smoothing: 10
Oscillator MA Type: SMA
Signal Line MA Type: SMA
Visual Support
Green arrow = Long entry
Red arrow = Short entry
MACD lines, signal line, and histogram
SL/TP markers plotted directly on the chart
Strategic Advantages & Uniqueness
Volume filtering eliminates low-participation, weak signals
Structurally aligned SL/TP based on recent market pivots
No repainting — decisions are made only on closed candles
Always in the market due to the reversal-style framework
Inspirations & Attribution
This strategy is inspired by the excellent work of:
Bitcoinblockchainonline – “BBO_Roxana_Signals MACD + vol”
Leveraging MACD zero-line cross and volume oscillator for intuitive signal generation.
HasanRifat – “MACD Fake Filter ”
Introduced a signal filter using MACD wave height averaging to reduce false positives.
This strategy builds upon those ideas to create a more automated, risk-aware, and technically adaptive system.
Summary
MACD Volume Strategy is a clean, logic-first automated trading system built for precision-seeking traders. It avoids discretionary bias and provides consistent signal logic under backtested historical conditions.
100% mechanical — no discretionary input required
Designed for high-confidence entries
Can be extended with filters, alerts, or trailing stops
※Strategy performance depends on market context. Past performance is not indicative of future results. Use with proper risk management and careful configuration.
DCA Detective | v1.0BINANCE:FETBUSD
The DCA Detective | v1.0 strategy revolutionizes the realm of DCA (Dollar Cost Averaging) trading, integrating advanced trade initiation predicated on savvy Technical Analysis (TA) signals. This strategy's distinctive feature rests in its capacity to leverage TA signals or preset percentage levels to trigger safety orders, providing adaptability based on your preference. Bid farewell to rudimentary safety order placements.
The strategy incorporates a comprehensive array of parameters:
RSI Oversold Level - a predetermined level signaling a potential oversold condition where a price rebound may be imminent.
Divergence Lookback Period - this parameter specifies the duration over which the system scrutinizes for any disparity between price and RSI.
Minimum Bars Between Trades - this guarantees a specific interval between trades, thwarting excessive trading and promoting diversification over time.
Rate of Change (ROC) - a momentum-oriented technical indicator that gauges the percentage alteration in price between the current price and the price a certain number of periods back.
Stochastic Length and Oversold - parameters that delineate the Stochastic Oscillator, another momentum indicator that compares a particular closing price of a security to a spectrum of its prices over a specified period.
Higher Timeframe RSI Length and Oversold Level - for heightened precision, these parameters operate on lower timeframes, offering a wider outlook and aiding in the filtering of market noise.
The DCA Detective | v1.0 strategy deploys bullish divergence identified by the RSI and a crossover of the RSI over the oversold level as primary entry signals. Safety order conditions can be set to either Percentage or Smart, based on your preference. The "Smart" condition utilizes the same rules as the initial entry order to place safety orders.
The strategy also entails additional configuration settings such as the maximum safety orders, safety order price deviation, safety order volume scale, safety order step scale, and take profit percentage.
Main goal is to catch possible market bottom/dip.
In summary, the DCA Detective | v1.0 strategy proposes a sophisticated and nuanced approach to DCA trading. It taps into the potential of TA signals to initiate trades, while using safety orders as a risk management tool, with the intent to minimize possible losses and decrease overall time in trade. This strategy stands as a testament to refined trading tactics, crafted for those who endorse strategic investment and measured risk-taking.
Through webhook integration, the DCA Detective | v1.0 strategy can send signals to 3commas to initiate trades, adjust safety orders, and take profit at the designated percentages. This provides traders with a hands-off approach to trading, allowing them to focus on other areas of their portfolio or strategy while the DCA Detective | v1.0 strategy runs in the background.
So far, I haven't come across a good DCA strategy based on TA orders, so I created my own. I was troubled by my prolonged exposure to red bags, but with proper configuration, this strategy should get you out of the trade as soon as possible. I have managed to enter most of the good coins at an unbeatable average trade time and also eliminate the maximum trade time to less than 10 days !
BTC Future Gamma-Weighted Momentum Model (BGMM)The BTC Future Gamma-Weighted Momentum Model (BGMM) is a quantitative trading strategy that utilizes the Gamma-weighted average price (GWAP) in conjunction with a momentum-based approach to predict price movements in the Bitcoin futures market. The model combines the concept of weighted price movements with trend identification, where the Gamma factor amplifies the weight assigned to recent prices. It leverages the idea that historical price trends and weighting mechanisms can be utilized to forecast future price behavior.
Theoretical Background:
1. Momentum in Financial Markets:
Momentum is a well-established concept in financial market theory, referring to the tendency of assets to continue moving in the same direction after initiating a trend. Any observed market return over a given time period is likely to continue in the same direction, a phenomenon known as the “momentum effect.” Deviations from a mean or trend provide potential trading opportunities, particularly in highly volatile assets like Bitcoin.
Numerous empirical studies have demonstrated that momentum strategies, based on price movements, especially those correlating long-term and short-term trends, can yield significant returns (Jegadeesh & Titman, 1993). Given Bitcoin’s volatile nature, it is an ideal candidate for momentum-based strategies.
2. Gamma-Weighted Price Strategies:
Gamma weighting is an advanced method of applying weights to price data, where past price movements are weighted by a Gamma factor. This weighting allows for the reinforcement or reduction of the influence of historical prices based on an exponential function. The Gamma factor (ranging from 0.5 to 1.5) controls how much emphasis is placed on recent data: a value closer to 1 applies an even weighting across periods, while a value closer to 0 diminishes the influence of past prices.
Gamma-based models are used in financial analysis and modeling to enhance a model’s adaptability to changing market dynamics. This weighting mechanism is particularly advantageous in volatile markets such as Bitcoin futures, as it facilitates quick adaptation to changing market conditions (Black-Scholes, 1973).
Strategy Mechanism:
The BTC Future Gamma-Weighted Momentum Model (BGMM) utilizes an adaptive weighting strategy, where the Bitcoin futures prices are weighted according to the Gamma factor to calculate the Gamma-Weighted Average Price (GWAP). The GWAP is derived as a weighted average of prices over a specific number of periods, with more weight assigned to recent periods. The calculated GWAP serves as a reference value, and trading decisions are based on whether the current market price is above or below this level.
1. Long Position Conditions:
A long position is initiated when the Bitcoin price is above the GWAP and a positive price movement is observed over the last three periods. This indicates that an upward trend is in place, and the market is likely to continue in the direction of the momentum.
2. Short Position Conditions:
A short position is initiated when the Bitcoin price is below the GWAP and a negative price movement is observed over the last three periods. This suggests that a downtrend is occurring, and a continuation of the negative price movement is expected.
Backtesting and Application to Bitcoin Futures:
The model has been tested exclusively on the Bitcoin futures market due to Bitcoin’s high volatility and strong trend behavior. These characteristics make the market particularly suitable for momentum strategies, as strong upward or downward movements are often followed by persistent trends that can be captured by a momentum-based approach.
Backtests of the BGMM on the Bitcoin futures market indicate that the model achieves above-average returns during periods of strong momentum, especially when the Gamma factor is optimized to suit the specific dynamics of the Bitcoin market. The high volatility of Bitcoin, combined with adaptive weighting, allows the model to respond quickly to price changes and maximize trading opportunities.
Scientific Citations and Sources:
• Jegadeesh, N., & Titman, S. (1993). Returns to Buying Winners and Selling Losers: Implications for Stock Market Efficiency. The Journal of Finance, 48(1), 65–91.
• Black, F., & Scholes, M. (1973). The Pricing of Options and Corporate Liabilities. Journal of Political Economy, 81(3), 637–654.
• Fama, E. F., & French, K. R. (1992). The Cross-Section of Expected Stock Returns. The Journal of Finance, 47(2), 427–465.