Strategy's Annual Return [racer8]I was trying to find the annual return for a particular strategy script based on profit factor, annual trade frequency, and win rate.
So on paper, I created some equations to help me solve this...and eventually, I created this indicator!
This indicator will help you find the annual return for any strategy. All you need to input is profit factor, number of trades per year, and win rate...oh and percentage of equity to risk in the trades.
By the way, if the output is 1.15, that means 15% annual return.
Keep in mind that this is a mere approximation...and the actual return is likely lower than this value.
Also if your margin trading, set order size to 100% of equity in the strategy's parameters.
Hopes this helps. Good luck and enjoy ;)
Pesquisar nos scripts por "profit factor"
Bitcoin - MA Crossover StrategyBefore You Begin:
Please read these warnings carefully before using this script, you will bear all fiscal responsibility for your own trades.
Trading Strategy Warning - Past performance of this strategy may not equal future performance, due to macro-environment changes, etc.
Account Size Warning - Performance based upon default 10% risk per trade, of account size $100,000. Adjust BEFORE you trade to see your own drawdown.
Time Frame - D1 and H4. H4 has a lower profit factor (more fake-outs, and account drawdown), D1 recommended.
Trend Following System - Profitability of this system is dependent on STRONG future trends in Bitcoin (BTCUSD).
Default Settings:
This script was tested on Daily and 4 Hourly charts using the following default settings. Note that 4 Hourly exhibits higher drawdowns and lower profit factor, whilst Daily appears more stable.
Account Size ($): 100,000 (please adjust to simulate your own risk)
Equity Risk (%): 10 (please adjust to simulate your own risk)
Fast Moving Average (Period): 20
Slow Moving Average (Period): 40
Relative Strength Index (Period): 14
Trading Mechanism:
Trend following strategies work well for assets that display the tendency of long-trends. Please do not use this script on financial assets that have a historical tendency for mean reversion. Bitcoin has historically exhibited strong trends, and thus this script is designed to capitalise on that behaviour. It is hoped (but we cannot predict), that Bitcoin will strongly trend in the coming days.
LONG:
Enter Long - When fast moving average (20) crosses ABOVE slow moving average (40)
Exit Long - When fast moving average (20) crosses BELOW slow moving average (40)
SHORT:
Enter Short - When fast moving average (20) crosses BELOW slow moving average (40)
Exit Short - When fast moving average (20) crosses ABOVE slow moving average (40)
Risk Warnings:
Do note that "moving averages" are a lagging indicator, and as such heavy drawdowns could occur when a trade is open. If you are trading this system manually, it is best to avoid emotions and let the system tell you when to enter and exit. Do not panic and exit manually when under heavy drawdown, always follow the system. Do not be emotional. If possible, connect this to your broker for auto-trading. Ensure that your risk per trade (Equity Risk) is SMALL enough that it does not result in a margin-call on your trading account. Equity risk must always be considered relative to your total account size.
Remember: You bear all financial responsibility for your trades, best of luck.
Volume Weighted Bollinger Bands Strategy
Simple strategy,
Using Volume weighted Bollinger Bands
> Directions for Usage:
1. Use only in scripts where volume is specified by tradingview
2. Check on which timeframe the script has a profit factor greater than 1.4
3. Use that timeframe for profitability
4. In some high liquid securities there is a decent profit factor even at 5 min scale (optimise at your end!! all i want to say)
Enjoy!
Hope this helps!!
[XC] Adaptive strategy with volume bandsFirst much thanks to alexgrover for his rich source of unbelievable indicators
The list below shows as an example some might profitable strategy settings.
But like every new strategy only a long term test can tell you if it works.
//Curency - - src Time stategy Length C. Factor Smoothed SL TP Profit Factor (with no Commission)
//---------------------------------------------------------------------------------------------------------------------------------
//BTCUSD NOHA close 15min 1 240 10 yes 3000 25000 4.2 (June 2019)
//XBTUSD NOHA close 15min 1 310 0.00006 no 1000 11000 2.3 (June 2019)
//IOTABTC NOHA close 15min 1 380 0.0004 no 2000 11000 10.6 (June 2019)
MACs EasyMoney - BOT Trade with AlertSytemsNew Version: MACs EasyMoney - BOT Trade with AlertSytems
Introducing the BOT version with proper alerts systems to enter and exit trades.
Also furnished with latest noise filtering architecture to this tool.
Strategy Test report for this tool - holds the Profit Factor of 134 - based on '1 contract' size with '0.25% commission' rate as well.
(Means it is very solid and healthy Profit Factor . happy to say that, you wont get any like this in today's Market)
Refer the Strategy Publication for details.
Thanks,
Mac.
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.
ISM Indicator As a Strategy Here's a very easy code, plotting the ISM against the SPX. In this exercise, i wanted to see if one could use the ISM indicator only to generate buy/sell signal, and what would be the performance.
What is the ISM
The ISM Manufacturing Index monitors employment, production inventories, new orders and supplier deliveries.By monitoring the ISM Manufacturing Index, investors are able to better understand national economic conditions. When this index is increasing, investors can assume that the stock markets should increase because of higher corporate profits. The opposite can be thought of the bond markets, which may decrease as the ISM Manufacturing Index increases because of sensitivity to potential inflation.
Buy/Sell Signal
ISM above 50 usually good economic condition and vice versa when below 50 . For this code I used 48.50 as my buy/sell signal line.
Results
To test this on a longer time period, I use the SPX index instead of SPY. The results are surprisingly good. 76.92% profitability with 3.03 profit factor.
Conclusion
Investors could use the ISM with other indicators to determine better entry and exit point. I will see if combining the ISM with other custom indicators , could generate better result. Feel free to share your results here.
Cheers
Algo.
BB TrendSyncBB TrendSync - Advanced Dual-Band Momentum Deviation System
Core Innovation and Originality
This indicator transforms traditional Bollinger Band analysis through three key innovations that distinguish it from standard implementations:
1. Dual-Band Percentage Oscillator Architecture: Unlike conventional Bollinger Bands that display price levels, this system converts dual Bollinger Band calculations into percentage-based oscillators. The first system uses extended lookback periods (40-period base with 65-period standard deviation) for macro trend detection, while the second employs rapid response parameters (8-period base with 66-period standard deviation) for micro momentum capture. Each system independently calculates where price sits within its band range as a percentage from 0-100.
2. Momentum Deviation Enhancement: The breakthrough innovation applies standard deviation analysis to the percentage oscillator readings themselves. Rather than analyzing price volatility, this technique measures the volatility of the oscillator's position within its range over a specified period (typically 25 periods with 0.8 multiplier). This creates dynamic "bands around the bands" that adapt to changing market momentum characteristics.
3. Multi-Modal Signal Synthesis: The system provides five distinct methods for combining dual-band signals, from simple arithmetic averaging to consensus requirements where both systems must agree. The "Average" mode specifically utilizes momentum deviation crossovers rather than basic threshold crossovers, creating refined entry timing.
Mathematical Framework
Percentage Conversion Formula:
The core calculation transforms standard Bollinger Band readings into normalized percentages using the formula:
BB_Percent = 100 * (Source - Lower_Band) / (Upper_Band - Lower_Band)
Momentum Deviation Calculation:
The system then calculates the standard deviation of these percentage readings:
MD_StdDev = StandardDeviation(BB_Percent, MD_Length)
Upper_MD_Band = BB_Percent + (MD_Multiplier * MD_StdDev)
Lower_MD_Band = BB_Percent - (MD_Multiplier * MD_StdDev)
Signal Generation Logic:
Primary signals occur when momentum deviation bands cross predetermined thresholds, providing earlier and more reliable entry points than standard Bollinger Band touches. The system tracks band states dynamically, changing visual indicators when momentum shifts are detected.
Value Proposition for Closed-Source Distribution
This indicator justifies TOP ELITE access through several proprietary elements:
Algorithmic Sophistication: The momentum deviation methodology represents original research into oscillator volatility analysis. While Bollinger Bands are public domain, applying volatility analysis to the percentage oscillator itself is a novel approach that required extensive backtesting and optimization.
Advanced Signal Processing: The five-mode signal combination system with momentum deviation integration provides significantly more nuanced analysis than standard Bollinger Band implementations. The state tracking and visual feedback systems offer professional-grade market analysis tools.
Comprehensive Analytics Engine: The integrated performance measurement system calculates advanced metrics including Sortino ratio, Calmar ratio, and Kelly Criterion position sizing guidance in real-time, providing institutional-quality analytics typically found in expensive trading platforms.
Professional Visualization Framework: The dynamic color-coding system, gradient oscillator bars, and state-aware visual elements provide immediate market sentiment feedback that goes far beyond basic indicator plotting.
Technical Implementation Details
Dual-System Parameters:
System 1 (Macro): 40-period SMA base, 65-period standard deviation calculation, 1.0 multiplier
System 2 (Micro): 8-period SMA base, 66-period standard deviation calculation, 1.9 multiplier
Momentum Deviation Settings:
Standard deviation length: 25 periods (optimized for detecting momentum shifts)
Multiplier: 0.8 (calibrated to reduce false signals while maintaining sensitivity)
Threshold Configuration:
Long threshold: 62% (upper momentum zone entry)
Short threshold: 60% (lower momentum zone entry)
Close thresholds create tight range for precision timing
Signal Modes Explained:
BB1 Only: Uses macro system exclusively for trend-following signals
BB2 Only: Uses micro system exclusively for momentum scalping
Average: Employs momentum deviation crossovers of averaged systems
Both Required: Demands agreement from both systems before signaling
Either One: Triggers when any system generates signals
Performance Metrics Explained
Core Performance Metrics:
Net Profit: Total percentage return from strategy implementation, showing bottom-line effectiveness of the signal generation system.
Win Rate: Percentage of profitable trades, indicating signal accuracy. Combined with profit factor analysis to ensure statistical reliability.
Total Trades: Number of completed round-trip trades for statistical significance assessment.
Current P&L: Real-time profit/loss percentage of active positions with continuous updates.
Risk Assessment Metrics:
Max Drawdown: Largest peak-to-trough equity decline, crucial for risk management and position sizing decisions.
Calmar Ratio: Annualized return divided by maximum drawdown, providing risk-adjusted performance measurement.
Advanced Risk Metrics:
Sharpe Ratio: Excess return per unit of total volatility, industry standard for risk-adjusted performance comparison.
Sortino Ratio: Similar to Sharpe but focuses on downside deviation only, providing more realistic risk assessment.
Kelly Criterion (Half): Optimal position sizing calculation based on win probability and average win/loss ratios, using conservative half-Kelly approach.
Real-Time Status:
Position: Current market exposure (Long/Short/Cash)
MD State: Momentum deviation status (Bullish/Bearish/Neutral)
Practical Application
Setup Recommendations:
Use "Average" mode for balanced signal generation combining both timeframe perspectives
Monitor momentum deviation band colors for trend confirmation
Observe gradient oscillator position for market sentiment assessment
Utilize performance metrics for strategy optimization and risk management
Adjust thresholds based on market volatility characteristics
Market Applicability:
The system functions across all timeframes and instruments, with particular effectiveness in trending markets where momentum persistence provides statistical edge. The dual-band approach captures both short-term momentum shifts and longer-term trend developments.
Competitive Advantages
Unlike standard Bollinger Band indicators that simply plot price bands, this system provides:
Quantified momentum analysis through volatility-of-volatility calculations
Multi-modal signal processing for diverse market conditions
Professional-grade performance analytics with institutional metrics
Dynamic visual feedback systems for immediate market assessment
Optimized parameter sets developed through extensive backtesting
12H SUI
1H BTC Since 2023
Risk Disclaimer
This indicator is designed for educational and analytical purposes. It does not constitute financial advice or trading recommendations. Past performance does not guarantee future results. Trading involves substantial risk of loss, and you should carefully consider your financial situation before making trading decisions. The indicator's signals should be part of comprehensive analysis and never the sole basis for trading decisions. Always conduct independent research.
Technical Requirements
Compatible with all TradingView chart types and timeframes. Optimized for real-time analysis with efficient computational algorithms suitable for live trading environments.
7Lots v27Lots strategy
The strategy is a counter-trend with a return to the moving average. Based on the DCA strategy, but greatly simplified to 7 lots (limit orders) and using the default martingale x2.5
Strategy description
Two moving averages are used. The first MA can be used as a filter for opening a position and also closing if the second MA is disabled. If both are enabled, then the position is closed by the second MA, and the first is used as a filter. There is also a separate take profit and if the price does not reach it, the position will be closed when returning to the MA, which will act as a stop loss, but the risk of liquidation is still present since the strategy does not have a regular classic stop loss.
Main parameters
TP & SL - selection of closing a position only by MA or take profit + MA. If only MA is selected, the strategy ignores the take profit value and always closes the position by MA.
MA settings
MA length from 1 to 200
Sliding type ALMA, SMA, EMA, VWMA, WMA, RMA
MA data - Open, High, Low, Close, HL2, HL3, OHLC4, OC2
MA shift in %. The MA shift is set in % above or below the current prices. For the First MA, this function allows you to use it as a filter for opening a position. For example, if you specify a shift much lower, for example -1% or -2%, then there will be less noise for opening a position, but this affects the number of transactions.
DCA group settings
Take profit %. Set the take profit as usual, but if the price does not reach the take profit, then the closing will occur by MA when the price returns to its values.
Take profit from. There is a choice of take profit from the average position, or by closing the previous bar. The latter increases the profit factor, but also increases the risk of liquidation if the strategy is used on perpetual contracts or futures.
Position Entry % - specifies the condition for opening a position. 0% - opening will occur immediately. 2% - opening will occur when the price falls 2% below the bar closing if the Long mode is set. If Short, then vice versa.
Grid Scale - classic progressive grid step
Next comes the setup of lots as a percentage of the deposit. Simply specify how many percent of each lot will be used from the total deposit. By default, a percentage for each lot is already allocated according to Martingale with a multiplier of x2.5, but you can calculate your own. You can specify 0, then the lot will be disabled.
Leverage. By default, 1.
Extra lot. This is the 7th lot that I decided to allocate separately from the main grid, since it is not always really needed. And it is calculated from the last lot of the grid. You can set it to how much lower percentage of the last lot to set it for and also what percentage of the deposit it will use. If you trade futures, then this lot, as an auxiliary one, can greatly average the position in case of strong volatility in the market.
Next, you can specify the start and end dates of transactions.
The table displays the total percentage of the deposit involved in trading at the moment. By default, all lots and leverage are set to 100% deposit load. The table also shows the number of transactions of the last 5-6 lots and extra, so that you can understand how many of them there were throughout the history of trading and possibly draw some conclusions for yourself. Especially useful for extra lots. Max Historical Drawdown (%) shows the historical price drop at the moment from the average open position. This will make it possible to analyze what leverage this strategy could withstand over the entire trading history. The date of this drop is also indicated.
For novice traders, it is recommended to use only on spot without the risk of liquidation. It is also best to use large time frames to see the whole picture, but you can also use a minute chart, there are no restrictions, everything is in your hands.
Tips. If you use minute charts, it is better to greatly increase the length of the MA from 20 and above. Hourly charts from 1-7. It is better to set up on spot and if you need futures, then use the same settings from spot, but with correction for futures. This strategy does not work well in Short, but shows excellent results for Long even when the market falls. When selecting settings, take into account sharp market fluctuations, Max Historical Drawdown (%) will show you this information in the table. You need to set up from the first MA, when you set up for the best result, then turn on the second MA and transfer the settings of the first MA to the second. Then fine-tune both MAs. The results can increase significantly, but this is not always the case. Sometimes just one MA is enough
The strategy is paid, tested with my own experience and money since 2022. Own development for opening a position.
Script_Algo - Double Smoothed CCI Strategy📉 The uniqueness of this non-trending oscillator strategy lies in the combination of two smoothed CCI lines: one signals entry into a position from overbought/oversold zones, and the other serves as a trend filter for entries. The smoothing of the fast and slow CCI lines significantly reduces market noise, allowing the filtering of false signals often generated by the standard CCI.
📚 For those unfamiliar with CCI:
The Commodity Channel Index (CCI) is a momentum-based oscillator used to identify overbought and oversold conditions.
It helps traders spot potential trend reversals or confirm trend strength by comparing the current price to its average over a period of time.
1️⃣ General Principle of Operation
⚡ Fast CCI: Generates main signals when exiting oversold and overbought zones.
📈 Slow CCI: Acts as a trend filter. For long positions, the slow CCI must be above zero (confirmation of an uptrend), and for short positions, it must be below zero (confirmation of a downtrend). This prevents the strategy from opening trades against the dominant trend.
🛡️ Dynamic ATR Stop-Loss: Unlike fixed-percentage stop-losses, a stop tied to the Average True Range (ATR) considers market volatility. During calm periods, the stop will be narrower, allowing for more profit capture. In highly volatile periods, the stop becomes wider, protecting against premature closures caused by noise.
📊 Comprehensive Risk Management: The strategy uses not only a take-profit based on signals (exit into the opposite zone) but also a protective ATR stop-loss and a mechanism to close trades upon receiving an opposite signal (e.g., closing a long when a short signal appears).
💡 Usefulness of the Strategy:
👨💻 For traders: Provides clear, mathematically justified entry and exit signals with built-in loss protection.
📉 For analysts: Visualizes the behavior of the double CCI on a separate panel, allowing study of the interaction of the fast and slow lines and their reaction to levels without mandatory trades.
📚 For learning: An excellent example of combining multiple indicators and capital management tools into a single trading system.
2️⃣ Detailed Algorithm Logic
📥 Long Entry Signals:
The fast smoothed CCI was below the oversold level (oversold_level, e.g., -100) and crossed this level upward (fast_exits_oversold).
The slow CCI at this moment is above zero (confirming an uptrend).
If both conditions are met, a long position is opened.
📤 Long Exit: Happens under one of these conditions:
The fast CCI crosses the overbought level (overbought_level) downward (exit_long).
The price reaches a stop-loss level calculated as entry price - (ATR * multiplier).
An opposite short signal appears (enter_short).
📥 Short Entry Signals:
The fast CCI was above the overbought level (overbought_level, e.g., 100) and crossed this level downward (fast_exits_overbought).
The slow CCI at this moment is below zero (confirming a downtrend).
If both conditions are met, a short position is opened.
📤 Short Exit: Happens under one of these conditions:
The fast CCI crosses the oversold level (oversold_level) upward (exit_short).
The price reaches a stop-loss level calculated as entry price + (ATR * multiplier).
An opposite long signal appears (enter_long).
3️⃣ Default Settings Description
⚙️ General Strategy Settings (strategy):
overlay=false: The indicator is displayed in a separate panel below the chart, not overlaid on it.
default_qty_type=strategy.cash, default_qty_value=1000, initial_capital=100000: The strategy manages a virtual capital of 100,000 USD, using 1,000 USD per trade.
commission_value=0.1, slippage=1: Commission (0.1%) and slippage (1 tick) are considered for more realistic testing.
⚡ Fast CCI (Signal Generator):
Length: 8 (short enough for quick price reactions).
Source: hlc3 (average of High, Low, Close).
Smoothing: WMA (Weighted Moving Average) for smoother results than SMA.
Smoothing Length: 5 (removes part of the noise).
📈 Slow CCI (Trend Filter):
Length: 20 (standard mid-term trend period).
Source: close.
Smoothing: WMA.
Smoothing Length: 21 (even stronger smoothing for a clean trend line).
📊 Levels:
Overbought Level: 100 (classic CCI level).
Oversold Level: -100 (classic CCI level).
🛡️ Stop-Loss (ATR):
ATR Length: 6 (short period for quick adaptation).
ATR Multiplier: 10.0 (very wide stop, designed for long-term trade holding and noise filtering).
💰 As seen in backtests, this strategy shows a steadily growing equity curve with minor drawdowns. On the highly liquid crypto pair XRPUSDT, the algorithm demonstrated a fairly high win rate and relatively high profit factor on a 4-hour timeframe over 4 years, though the overall profit is moderate.
⚠️ Important Notes
Always remember: Strategy results may not repeat in the future.
The market constantly changes, so:
✅ Monitor the situation
✅ Backtest regularly
✅ Adjust settings for each asset
Also remember about possible bugs in any algorithmic trading strategy.
Even if a script is well-tested, no one knows what unpredictable events the market may bring tomorrow.
⚠️ Risk Management:
Do not risk more than 1% of your deposit per trade, otherwise you may lose your account balance, since this strategy works without stop losses.
⚠️ Disclaimer
The author of the strategy does not encourage anyone to use this algorithm and bears no responsibility for any possible financial losses resulting from its application!
Any decision to use this strategy is made personally by the owners of TradingView accounts and cryptocurrency exchange accounts.
📝 Final Notes
This is not the final version. I already have ideas on how to improve it further, so follow me to not miss updates.
🐞 Bug Reports
If you notice any bugs or inconsistencies in my algorithm,
please let me know — I will try to fix them as quickly as possible.
💬 Feedback & Suggestions
If you have any ideas on how this or any of my other strategies can be improved, feel free to write to me. I will try to implement your suggestions in the script.
Wishing everyone good luck and stable profits! 🚀💰
Hilly's Advanced Crypto Scalping Strategy - 5 Min ChartTo determine the "best" input parameters for the Advanced Crypto Scalping Strategy on a 5-minute chart, we need to consider the goals of optimizing for profitability, minimizing false signals, and adapting to the volatile nature of cryptocurrencies. The default parameters in the script are a starting point, but the optimal values depend on the specific cryptocurrency pair, market conditions, and your risk tolerance. Below, I'll provide recommended input values based on common practices in crypto scalping, along with reasoning for each parameter. I’ll also suggest how to fine-tune them using TradingView’s backtesting and optimization tools.
Recommended Input Parameters
These values are tailored for a 5-minute chart for liquid cryptocurrencies like BTC/USD or ETH/USD on exchanges like Binance or Coinbase. They aim to balance signal frequency and accuracy for day trading.
Fast EMA Length (emaFastLen): 9
Reasoning: A 9-period EMA is commonly used in scalping to capture short-term price movements while remaining sensitive to recent price action. It reacts faster than the default 10, aligning with the 5-minute timeframe.
Slow EMA Length (emaSlowLen): 21
Reasoning: A 21-period EMA provides a good balance for identifying the broader trend on a 5-minute chart. It’s slightly longer than the default 20 to reduce noise while confirming the trend direction.
RSI Length (rsiLen): 14
Reasoning: The default 14-period RSI is a standard choice for momentum analysis. It works well for detecting overbought/oversold conditions without being too sensitive on short timeframes.
RSI Overbought (rsiOverbought): 75
Reasoning: Raising the overbought threshold to 75 (from 70) reduces false sell signals in strong bullish trends, which are common in crypto markets.
RSI Oversold (rsiOversold): 25
Reasoning: Lowering the oversold threshold to 25 (from 30) filters out weaker buy signals, ensuring entries occur during stronger reversals.
MACD Fast Length (macdFast): 12
Reasoning: The default 12-period fast EMA for MACD is effective for capturing short-term momentum shifts in crypto, aligning with scalping goals.
MACD Slow Length (macdSlow): 26
Reasoning: The default 26-period slow EMA is a standard setting that works well for confirming momentum trends without lagging too much.
MACD Signal Smoothing (macdSignal): 9
Reasoning: The default 9-period signal line is widely used and provides a good balance for smoothing MACD crossovers on a 5-minute chart.
Bollinger Bands Length (bbLen): 20
Reasoning: The default 20-period Bollinger Bands are effective for identifying volatility breakouts, which are key for scalping in crypto markets.
Bollinger Bands Multiplier (bbMult): 2.0
Reasoning: A 2.0 multiplier is standard and captures most price action within the bands. Increasing it to 2.5 could reduce signals but improve accuracy in highly volatile markets.
Stop Loss % (slPerc): 0.8%
Reasoning: A tighter stop loss of 0.8% (from 1.0%) suits the high volatility of crypto, helping to limit losses on false breakouts while keeping risk manageable.
Take Profit % (tpPerc): 1.5%
Reasoning: A 1.5% take-profit target (from 2.0%) aligns with scalping’s goal of capturing small, frequent gains. Crypto markets often see quick reversals, so a smaller target increases the likelihood of hitting profits.
Use Candlestick Patterns (useCandlePatterns): True
Reasoning: Enabling candlestick patterns (e.g., engulfing, hammer) adds confirmation to signals, reducing false entries in choppy markets.
Use Volume Filter (useVolumeFilter): True
Reasoning: The volume filter ensures signals occur during high-volume breakouts, which are more likely to sustain in crypto markets.
Signal Arrow Size (signalSize): 2.0
Reasoning: Increasing the arrow size to 2.0 (from 1.5) makes buy/sell signals more visible on the chart, especially on smaller screens or volatile price action.
Background Highlight Transparency (bgTransparency): 85
Reasoning: A slightly higher transparency (85 from 80) keeps the background highlights subtle but visible, avoiding chart clutter.
How to Apply These Parameters
Copy the Script: Use the Pine Script provided in the previous response.
Paste in TradingView: Open TradingView, go to the Pine Editor, paste the code, and click "Add to Chart."
Set Parameters: In the strategy settings, manually input the recommended values above or adjust them via the input fields.
Test on a 5-Minute Chart: Apply the strategy to a liquid crypto pair (e.g., BTC/USDT, ETH/USDT) on a 5-minute chart.
Fine-Tuning for Optimal Performance
To find the absolute best parameters for your specific trading pair and market conditions, use TradingView’s Strategy Tester and optimization features:
Backtesting:
Run the strategy on historical data for your chosen pair (e.g., BTC/USDT on Binance).
Check metrics like Net Profit, Profit Factor, Win Rate, and Max Drawdown in the Strategy Tester.
Focus on a sample period of at least 1–3 months to capture various market conditions (bull, bear, sideways).
Parameter Optimization:
In the Strategy Tester, click the settings gear next to the strategy name.
Enable optimization for key inputs like emaFastLen (test range: 7–12), emaSlowLen (15–25), slPerc (0.5–1.5), and tpPerc (1.0–3.0).
Run the optimization to find the combination with the highest net profit or best Sharpe ratio, but avoid over-optimization (curve-fitting) by testing on out-of-sample data.
Market-Specific Adjustments:
Volatile Pairs (e.g., DOGE/USDT): Use tighter stop losses (e.g., 0.5–0.7%) and smaller take-profit targets (e.g., 1.0–1.2%) to account for rapid price swings.
Stable Pairs (e.g., BTC/USDT): Slightly wider stop losses (e.g., 1.0–1.2%) and take-profit targets (e.g., 1.8–2.5%) may work better.
Trending Markets: Increase emaSlowLen (e.g., to 25–30) to follow stronger trends.
Choppy Markets: Tighten bbMult (e.g., to 1.8) and lower rsiOverbought/rsiOversold (e.g., to 70/30) to filter noise.
Forward Testing:
After backtesting, run the strategy in real-time on a demo account for 1–2 weeks to validate performance under current market conditions.
Important Notes
No Universal "Best" Numbers: Optimal parameters vary by crypto pair, exchange, and market conditions (e.g., bull vs. bear market). The suggested values are a starting point based on common scalping practices.
Risk Management: Never risk more than 1–2% of your account per trade. Adjust position sizing in TradingView’s strategy settings to align with your risk tolerance.
Market Volatility: Crypto markets are highly volatile. Test the strategy on your specific pair and adjust parameters if signals are too frequent or too rare.
Not Financial Advice: This is an educational tool. Backtest thoroughly and use a demo account before trading with real funds.
If you want me to generate a chart showing backtest performance for specific parameters or to tweak the script further (e.g., adding more indicators or adjusting signal logic), let me know!can you add clear buy ans sell signs above the candles in this codeTo add clear buy and sell signals above the candles in the provided Pine Script, I'll modify the existing code to include prominent text labels directly above (for sell signals) and below (for buy signals) the candles. These labels will be larger, color-coded, and positioned to avoid clutter, ensuring they are easily visible on the chart. The core strategy logic (EMA, RSI, MACD, Bollinger Bands, candlestick patterns, and volume filter) will remain unchanged, and I'll reuse the same artifact_id since this is an update to the previous script.AdvancedCryptoScalpingStrategy.pinex-pine
Triple EMA Trend TP Strategy (Filtered Entries + Dynamic Exit)Overview
The Triple EMA Trend TP Strategy is a robust trend-following approach designed for clear, disciplined entries and exits. It leverages a triple EMA crossover for entry signals, combined with a long‑term SMA trend filter, a fixed take‑profit percentage, and a dynamic dual‑EMA exit mechanism to optimize performance and risk management.
Key Features
Triple EMA Crossover Entry
Detects momentum shifts by waiting for the fast EMA to cross above the slow EMA, signaling bullish momentum buildup.
Trend Filter (SMA)
Ensures trades are only taken when price is above the long-term trend (SMA), filtering out low-probability setups.
Take Profit (TP)
Applies a customizable fixed TP, e.g., defaulting to 9.8%, allowing disciplined profit-taking.
Dual EMA Exit
Uses two EMAs on a separate exit logic—if the short exit EMA undercuts the mid exit EMA, the strategy closes the position.
Adjustable Parameters
All key lengths—including fast, mid, slow entry EMAs, trend SMA, exit EMAs, and TP percentage—are user-configurable to suit different assets and timeframes.
Date Range Control
Users can define a backtest window with start and end dates, preventing misleading performance outside intended periods.
Flexible Position Management
Supports full‑equity position sizing, pyramiding up to 10 entries, and runs every tick for high precision.
Setup & Inputs
fastLen: Entry Fast EMA
midLen: Entry Mid EMA
slowLen: Entry Slow EMA
trendLen: Trend Filter SMA
tpPercent: Take Profit Percentage
exitFastLen: Exit Fast EMA
exitMidLen: Exit Mid EMA
startDate / endDate: Backtest time range
Why This Strategy Stands Out
This strategy marries classic trend-following principles with modern risk-control tactics, making it both intuitive and advanced. It balances aggressive entry signals with safety checks via trend validation and layered exit logic. The inclusion of a TP ensures profits are locked in, while the dual EMA exit adds adaptive flexibility to close positions when momentum fades.
How to Use & Customize
Configure Inputs
Adjust EMAs, trend length, and TP percentage to fit your asset and timeframe. For example, shorter EMAs suit intraday trading; longer ones work well for swing strategies.
Set Backtest Range
Use the start/end date fields to limit your testing to the most relevant data, reducing noise from irrelevant market periods.
Backtest & Optimize
Review the Strategy Tester’s performance metrics—Equity curve, drawdown, profit factor, trade list—to assess effectiveness.
Fine‑Tune
Tweak TP, EMAs, or trend length to optimize drawdowns, win rate, or return profile.
Parallax Momentum MNQ Strategy# 📈 Parallax Momentum MNQ Strategy
## Overview
The Parallax Momentum MNQ Strategy is a sophisticated support/resistance breakout system specifically designed for Micro Nasdaq futures (MNQ) trading (also works on minis). This strategy combines dynamic level detection with momentum confirmation to identify high-probability entry opportunities while maintaining strict risk management protocols.
## 🎯 Key Features
### Core Strategy Logic
- **Dynamic Support/Resistance Detection**: Automatically identifies key levels using configurable lookback periods
- **Momentum Confirmation**: Volume-based filtering ensures trades align with market momentum
- **ATR-Based Risk Management**: Adaptive stop losses and take profits based on market volatility
- **Dual Entry System**: Both long and short opportunities with limit order execution
### Risk Management
- **ATR-Adaptive Stops**: Stop losses and take profits automatically adjust to market volatility
- **Reward-to-Risk Ratios**: Configurable R:R ratios with default 2:1 minimum
- **Maximum Loss Protection**: Optional daily loss limits to prevent overtrading
- **Session Time Filtering**: Trade only during specified market hours
### Strategy Modes
- **Conservative Mode**: 0.8x risk multiplier for cautious trading
- **Balanced Mode**: Standard 1.0x risk multiplier (default)
- **Aggressive Mode**: 1.2x risk multiplier for active trading
## 📊 Visual Features
### Dashboard Display
- Real-time strategy status and performance metrics
- Current support/resistance levels and ATR values
- Live risk-to-reward ratios for potential trades
- Win rate, profit factor, and drawdown statistics
- Adjustable dashboard size and positioning
### Chart Indicators
- Support and resistance lines with labels
- ATR-based levels (+/-1 ATR and +/-2 ATR)
- Dynamic visual updates as levels change
- Configurable line extensions and styling
## ⚙️ Configuration Options
### Entry Filters
- **Volume Filter**: Optional volume confirmation above SMA
- **Session Time Filter**: 12-hour format time restrictions
- **ATR vs Fixed Stops**: Choose between adaptive or fixed tick-based exits
### Risk Controls
- **ATR Period**: Default 14-period ATR calculation
- **Stop Loss Multiplier**: ATR-based stop distance (default 1.5x)
- **Take Profit Multiplier**: ATR-based target distance (default 1.5x)
- **Secondary Take Profit**: Optional TP2 with position scaling
## 📋 How It Works
### Entry Conditions
**Long Trades**: Triggered when price closes above support buffer but low touches support level, with volume and session confirmation
**Short Trades**: Triggered when price closes below resistance buffer but high touches resistance level, with volume and session confirmation
### Exit Strategy
- **Primary Take Profit**: ATR-based target with 2:1 R:R minimum
- **Stop Loss**: ATR-based protective stop
- **Optional TP2**: Extended target for partial profit taking
- **One Trade at a Time**: No overlapping positions
## 🎛️ Default Settings
- **Lookback Period**: 20 bars for support/resistance detection
- **ATR Period**: 14 bars for volatility calculation
- **Stop Loss**: 1.5x ATR from entry
- **Take Profit**: 1.5x ATR with 2:1 reward-to-risk ratio
- **Session**: 7:30 AM - 2:00 PM (configurable)
## ⚠️ Important Notes
### Risk Disclaimer
- This strategy is for educational and informational purposes only
- Past performance does not guarantee future results
- Always use proper position sizing and risk management
- Test thoroughly on historical data before live trading
- Consider market conditions and volatility when using
### Best Practices
- Backtest on sufficient historical data
- Start with conservative mode for new users
- Monitor performance regularly and adjust parameters as needed
- Use appropriate position sizing for your account
- Consider broker commissions and slippage in live trading
## 🔧 Customization
The strategy offers extensive customization options including:
- Adjustable time sessions with AM/PM format
- Configurable ATR and risk parameters
- Optional maximum daily loss limits
- Dashboard size and position controls
- Visual element toggles and styling
## 📈 Ideal For
- MNQ (Micro Nasdaq) futures traders
- Intraday momentum strategies
- Traders seeking systematic entry/exit rules
- Risk-conscious traders wanting automated stops
- Both beginner and experienced algorithmic traders
---
**Version**: Pine Script v5 Compatible
**Timeframe**: Works on multiple timeframes (test on 1m, 3m, 5m, 15m)
**Market**: Optimized for MNQ but adaptable to other instruments
**Strategy Type**: Trend following with momentum confirmation
Opening-Range BreakoutNote: Default trading date range looks mediocre. Set date range to "Entire History" to see full effect of the strategy. 50.91% profitable trades, 1.178 profit factor, steady profits and limited drawdown. Total P&L: $154,141.18, Max Drawdown: $18,624.36. High R^2
█ Overview
The Opening-Range Breakout strategy is a mechanical, session‑based day‑trading system designed to capture the initial burst of directional momentum immediately following the market open. It defines a user‑configurable “opening range” window, measures its high and low boundaries, then places breakout stop orders at those levels once the range closes. Built‑in filters on minimum range width, reward‑to‑risk ratios, and optional reversal logic help refine entries and manage risk dynamically.
█ How It Works
Opening‑Range Formation
Between 9:30–10:15 AM ET (configurable), the script tracks the highest high and lowest low to form the day’s opening range box.
On the first bar after the range window closes, the range high (OR_high) and low (OR_low) are “locked in.”
Range‑Width Filter
To avoid false breakouts in low‑volatility mornings, the range must be at least X% of the current price (default 0.35%).
If the measured opening-range width < minimum threshold, no orders are placed that day.
Entry & Order Placement
Long: a stop‑buy order at the opening‑range high.
Short: a stop‑sell order at the opening‑range low.
Only one side can trigger (or both if reverse logic is enabled after a losing trade).
Risk Management
Once triggered, each trade uses an ATR‑style stop-loss defined as a percentage retracement of the range (default 50% of range width).
Profit target is set at a configurable Reward/Risk Ratio (default 1.1×).
Optional: Reverse on Stop‑Loss – if the initial breakout loses, immediately reverse into the opposite side on the same day.
Session Exit
Any open positions are closed at the end of the regular trading day (default 3:45 PM ET window end, with hard flat at session close).
Visual cues are provided via green (range high) and red (range low) step‑line plots directly on the chart, allowing you to see the range box and breakout triggers in real time.
█ Why It Works
Early Momentum Capture: The first 15 – 60 minutes of trading encapsulate overnight news digestion and institutional order flow, creating a well‑defined volatility “range.”
Mechanical Discipline: Clear, rule‑based entries and exits remove emotional guesswork, ensuring consistency.
Volatility Filtering: By requiring a minimum range width, the system avoids choppy, low‑range days where false breakouts are common.
Dynamic Sizing: Stops and targets scale with the opening range, adapting automatically to each day’s volatility environment.
█ How to Use
Set Your Instruments & Timeframe
-Apply to any futures contract on a 1‑ to 5‑minute chart.
-Ensure chart timezone is set to America/New_York.
Configure Inputs
-Opening‑Range Window: e.g. “0930-1015” for a 45‑minute range.
-Min. OR Width (%): e.g. 0.35 for 0.35% of current price.
-Reward/Risk Ratio: e.g. 1.1 for a modest profit target above your stop.
-Max OR Retracement %: e.g. 50 to set stop at 50% of range width.
-One Trade Per Day: toggle to limit to a single breakout.
-Reverse on Stop Loss: toggle to flip direction after a losing breakout.
Monitor the Chart
-Watch the green and red range boundaries form during the session open.
-Orders will automatically submit on the first bar after the range window closes, conditioned on your filters.
Review & Adjust
-Backtest across multiple months to validate performance on your preferred contract.
-Tweak range duration, minimum width, and R/R multiple to fit your risk tolerance and desired win‑rate vs. expectancy balance.
█ Settings Reference
Input Defaults
Opening‑Range Window - Time window to form OR (HHMM-HHMM) - 0930–1015
Regular Trading Day - Full session for EOD flat (HHMM-HHMM) - 0930–1545
Min. OR Width (%) - Minimum OR size as % of close to trigger orders - 0.35
Reward/Risk Ratio - Profit target multiple of stop‑loss distance - 1.1
Max OR Retracement (%) - % of OR width to use as stop‑loss distance - 50
One Trade Per Day - Limit to a single breakout order per day - false
Reverse on Stop Loss - Reverse direction immediately after a losing trade - true
Disclaimer
This strategy description and any accompanying code are provided for educational purposes only and do not constitute financial advice or a solicitation to trade. Futures trading involves substantial risk, including possible loss of capital. Past performance is not indicative of future results. Traders should assess their own risk tolerance and conduct thorough backtesting and forward-testing before committing real capital.
Daily Performance Analysis [Mr_Rakun]The Daily Performance Analysis indicator is a comprehensive trading performance tracker that analyzes your strategy's success rate and profitability across different days of the week and month. This powerful tool provides detailed statistics to help traders identify patterns in their trading performance and optimize their strategies accordingly.
Weekly Performance Analysis:
Tracks wins/losses for each day of the week (Monday through Sunday)
Calculates net profit/loss for each trading day
Shows profit factor (gross profit ÷ gross loss) for each day
Displays win rate percentage for each day
Monthly Performance Analysis:
Monitors performance for each day of the month (1-31)
Provides the same detailed metrics as weekly analysis
Helps identify monthly patterns and trends
Add to Your Strategy:
Copy the performance analysis code and integrate it into your existing Pine Script strategy
Optimize Strategy: Use insights to refine entry/exit timing or avoid trading on poor-performing days
Pattern Recognition: Identify which days of the week/month work best for your strategy
Risk Management: Avoid trading on historically poor-performing days
Strategy Optimization: Fine-tune your approach based on empirical data
Performance Tracking: Monitor long-term trends in your trading success
Data-Driven Decisions: Make informed adjustments to your trading schedule
BackTestLibLibrary "BackTestLib"
Allows backtesting indicator performance. Tracks typical metrics such as won/loss, profit factor, draw down, etc. Trading View strategy library provides similar (and more comprehensive)
functionality but only works with strategies. This libary was created to address performance tracking within indicators.
Two primary outputs are generated:
1. Summary Table: Displays overall performance metrics for the indicator over the chart's loaded timeframe and history
2. Details Table: Displays a table of individual trade entries and exits. This table can grow larger than the available chart space. It does have a max number of rows supported. I haven't
found a way to add scroll bars or scroll bar equivalents yet.
f_init(data, _defaultStopLoss, _defaultTakeProfit, _useTrailingStop, _useTraingStopToBreakEven, _trailingStopActivation, _trailingStopOffset)
f_init Initialize the backtest data type. Called prior to using the backtester functions
Parameters:
data (backtesterData) : backtesterData to initialize
_defaultStopLoss (float) : Default trade stop loss to apply
_defaultTakeProfit (float) : Default trade take profit to apply
_useTrailingStop (bool) : Trailing stop enabled
_useTraingStopToBreakEven (bool) : When trailing stop active, trailing stop will increase no further than the entry price
_trailingStopActivation (int) : When trailing stop active, trailing will begin once price exceeds base stop loss by this number of points
_trailingStopOffset (int) : When trailing stop active, it will trail the max price achieved by this number of points
Returns: Initialized data set
f_buildResultStr(_resultType, _price, _resultPoints, _numWins, _pointsWon, _numLoss, _pointsLost)
f_buildResultStr Helper function to construct a string of resutling data for exit tooltip labels
Parameters:
_resultType (string)
_price (float)
_resultPoints (float)
_numWins (int)
_pointsWon (float)
_numLoss (int)
_pointsLost (float)
f_buildResultLabel(data, labelVertical, labelOffset, long)
f_buildResultLabel Helper function to construct an Exit label for display on the chart
Parameters:
data (backtesterData)
labelVertical (bool)
labelOffset (int)
long (bool)
f_updateTrailingStop(_entryPrice, _curPrice, _sl, _tp, trailingStopActivationInput, trailingStopOffsetInput, useTrailingStopToBreakEven)
f_updateTrailingStop Helper function to advance the trailing stop as price action dictates
Parameters:
_entryPrice (float)
_curPrice (float)
_sl (float)
_tp (float)
trailingStopActivationInput (float)
trailingStopOffsetInput (float)
useTrailingStopToBreakEven (bool)
Returns: Updated stop loss for current price action
f_enterShort(data, entryPrice, fixedStopLoss)
f_enterShort Helper function to enter a short and collect data necessary for tracking the trade entry
Parameters:
data (backtesterData)
entryPrice (float)
fixedStopLoss (float)
Returns: Updated backtest data
f_enterLong(data, entryPrice, fixedStopLoss)
f_enterLong Helper function to enter a long and collect data necessary for tracking the trade entry
Parameters:
data (backtesterData)
entryPrice (float)
fixedStopLoss (float)
Returns: Updated backtest data
f_exitTrade(data)
f_enterLong Helper function to exit a trade and update/reset tracking data
Parameters:
data (backtesterData)
Returns: Updated backtest data
f_checkTradeConditionForExit(data, condition, curPrice, enableRealTime)
f_checkTradeConditionForExit Helper function to determine if provided condition indicates an exit
Parameters:
data (backtesterData)
condition (bool) : When true trade will exit
curPrice (float)
enableRealTime (bool) : When true trade will evaluate if barstate is relatime or barstate is confirmed; otherwise just checks on is confirmed
Returns: Updated backtest data
f_checkTrade(data, curPrice, curLow, curHigh, enableRealTime)
f_checkTrade Helper function to determine if current price action dictates stop loss or take profit exit
Parameters:
data (backtesterData)
curPrice (float)
curLow (float)
curHigh (float)
enableRealTime (bool) : When true trade will evaluate if barstate is relatime or barstate is confirmed; otherwise just checks on is confirmed
Returns: Updated backtest data
f_fillCell(_table, _column, _row, _title, _value, _bgcolor, _txtcolor, _text_size)
f_fillCell Helper function to construct result table cells
Parameters:
_table (table)
_column (int)
_row (int)
_title (string)
_value (string)
_bgcolor (color)
_txtcolor (color)
_text_size (string)
Returns: Table cell
f_prepareStatsTable(data, drawTesterSummary, drawTesterDetails, summaryTableTextSize, detailsTableTextSize, displayRowZero, summaryTableLocation, detailsTableLocation)
f_fillCell Helper function to populate result table
Parameters:
data (backtesterData)
drawTesterSummary (bool)
drawTesterDetails (bool)
summaryTableTextSize (string)
detailsTableTextSize (string)
displayRowZero (bool)
summaryTableLocation (string)
detailsTableLocation (string)
Returns: Updated backtest data
backtesterData
backtesterData - container for backtest performance metrics
Fields:
tradesArray (array) : Array of strings with entries for each individual trade and its results
pointsBalance (series float) : Running sum of backtest points won/loss results
drawDown (series float) : Running sum of backtest total draw down points
maxDrawDown (series float) : Running sum of backtest total draw down points
maxRunup (series float) : Running sum of max points won over the backtest
numWins (series int) : Number of wins of current backtes set
numLoss (series int) : Number of losses of current backtes set
pointsWon (series float) : Running sum of points won to date
pointsLost (series float) : Running sum of points lost to date
entrySide (series string) : Current entry long/short
tradeActive (series bool) : Indicates if a trade is currently active
tradeComplete (series bool) : Indicates if a trade just exited (due to stop loss or take profit)
entryPrice (series float) : Current trade entry price
entryTime (series int) : Current trade entry time
sl (series float) : Current trade stop loss
tp (series float) : Current trade take profit
defaultStopLoss (series float) : Default trade stop loss to apply
defaultTakeProfit (series float) : Default trade take profit to apply
useTrailingStop (series bool) : Trailing stop enabled
useTrailingStopToBreakEven (series bool) : When trailing stop active, trailing stop will increase no further than the entry price
trailingStopActivation (series int) : When trailing stop active, trailing will begin once price exceeds base stop loss by this number of points
trailingStopOffset (series int) : When trailing stop active, it will trail the max price achieved by this number of points
resultType (series string) : Current trade won/lost
exitPrice (series float) : Current trade exit price
resultPoints (series float) : Current trade points won/lost
summaryTable (series table) : Table to deisplay summary info
tradesTable (series table) : Table to display per trade info
Kaufman Trend Strategy# ✅ Kaufman Trend Strategy – Full Description (Script Publishing Version)
**Kaufman Trend Strategy** is a dynamic trend-following strategy based on Kaufman Filter theory.
It detects real-time trend momentum, reduces noise, and aims to enhance entry accuracy while optimizing risk.
⚠️ _For educational and research purposes only. Past performance does not guarantee future results._
---
## 🎯 Strategy Objective
- Smooth price noise using Kaufman Filter smoothing
- Detect the strength and direction of trends with a normalized oscillator
- Manage profits using multi-stage take-profits and adaptive ATR stop-loss logic
---
## ✨ Key Features
- **Kaufman Filter Trend Detection**
Extracts directional signal using a state space model.
- **Multi-Stage Profit-Taking**
Automatically takes partial profits based on color changes and zero-cross events.
- **ATR-Based Volatility Stops**
Stops adjust based on swing highs/lows and current market volatility.
---
## 📊 Entry & Exit Logic
**Long Entry**
- `trend_strength ≥ 60`
- Green trend signal
- Price above the Kaufman average
**Short Entry**
- `trend_strength ≤ -60`
- Red trend signal
- Price below the Kaufman average
**Exit (Long/Short)**
- Blue trend color → TP1 (50%)
- Oscillator crosses 0 → TP2 (25%)
- Trend weakens → Final exit (25%)
- ATR + swing-based stop loss
---
## 💰 Risk Management
- Initial capital: `$3,000`
- Order size: `$100` per trade (realistic, low-risk sizing)
- Commission: `0.002%`
- Slippage: `2 ticks`
- Pyramiding: `1` max position
- Estimated risk/trade: `~0.1–0.5%` of equity
> ⚠️ _No trade risks more than 5% of equity. This strategy follows TradingView script publishing rules._
---
## ⚙️ Default Parameters
- **1st Take Profit**: 50%
- **2nd Take Profit**: 25%
- **Final Exit**: 25%
- **ATR Period**: 14
- **Swing Lookback**: 10
- **Entry Threshold**: ±60
- **Exit Threshold**: ±40
---
## 📅 Backtest Summary
- **Symbol**: USD/JPY
- **Timeframe**: 1H
- **Date Range**: Jan 3, 2022 – Jun 4, 2025
- **Trades**: 924
- **Win Rate**: 41.67%
- **Profit Factor**: 1.108
- **Net Profit**: +$1,659.29 (+54.56%)
- **Max Drawdown**: -$1,419.73 (-31.87%)
---
## ✅ Summary
This strategy uses Kaufman filtering to detect market direction with reduced lag and increased smoothness.
It’s built with visual clarity and strong trade management, making it practical for both beginners and advanced users.
---
## 📌 Disclaimer
This script is for educational and informational purposes only and should not be considered financial advice.
Use with proper risk controls and always test in a demo environment before live trading.
EMA Pullback Speed Strategy 📌 **Overview**
The **EMA Pullback Speed Strategy** is a trend-following approach that combines **price momentum** and **Exponential Moving Averages (EMA)**.
It aims to identify high-probability entry points during brief pullbacks within ongoing uptrends or downtrends.
The strategy evaluates **speed of price movement**, **relative position to dynamic EMA**, and **candlestick patterns** to determine ideal timing for entries.
One of the key concepts is checking whether the price has **“not pulled back too much”**, helping focus only on situations where the trend is likely to continue.
⚠️ This strategy is designed for educational and research purposes only. It does not guarantee future profits.
🧭 **Purpose**
This strategy addresses the common issue of **"jumping in too late during trends and taking unnecessary losses."**
By waiting for a healthy pullback and confirming signs of **trend resumption**, traders can enter with greater confidence and reduce false entries.
🎯 **Strategy Objectives**
* Enter in the direction of the prevailing trend to increase win rate
* Filter out false signals using pullback depth, speed, and candlestick confirmations
* Predefine Take-Profit (TP) and Stop-Loss (SL) levels for safer, rule-based trading
✨ **Key Features**
* **Dynamic EMA**: Reacts faster when price moves quickly, slower when market is calm – adapting to current momentum
* **Pullback Filter**: Avoids trades when price pulls back too far (e.g., more than 5%), indicating a trend may be weakening
* **Speed Check**: Measures how strongly the price returns to the trend using candlestick body speed (open-to-close range in ticks)
📊 **Trading Rules**
**■ Long Entry Conditions:**
* Current price is above the dynamic EMA (indicating uptrend)
* Price has pulled back toward the EMA (a "buy the dip" situation)
* Pullback depth is within the threshold (not excessive)
* Candlesticks show consecutive bullish closes and break the previous high
* Price speed is strong (positive movement with momentum)
**■ Short Entry Conditions:**
* Current price is below the dynamic EMA (indicating downtrend)
* Price has pulled back up toward the EMA (a "sell the rally" setup)
* Pullback is within range (not too deep)
* Candlesticks show consecutive bearish closes and break the previous low
* Price speed is negative (downward momentum confirmed)
**■ Exit Conditions (TP/SL):**
* **Take-Profit (TP):** Fixed 1.5% target above/below entry price
* **Stop-Loss (SL):** Based on recent price volatility, calculated using ATR × 4
💰 **Risk Management Parameters**
* Symbol & Timeframe: BTCUSD on 1-hour chart (H1)
* Test Capital: \$3000 (simulated account)
* Commission: 0.02%
* Slippage: 2 ticks (minimal execution lag)
* Max risk per trade: 5% of account balance
* Backtest Period: Aug 30, 2023 – May 9, 2025
* Profit Factor (PF): 1.965 (Net profit ÷ Net loss, including spreads & fees)
⚙️ **Trading Parameters & Indicator Settings**
* Maximum EMA Length: 50
* Accelerator Multiplier: 3.0
* Pullback Threshold: 5.0%
* ATR Period: 14
* ATR Multiplier (SL distance): 4.0
* Fixed TP: 1.5%
* Short-term EMA: 21
* Long-term EMA: 50
* Long Speed Threshold: ≥ 1000.0 (ticks)
* Short Speed Threshold: ≤ -1000.0 (ticks)
⚠️Adjustments are based on BTCUSD.
⚠️Forex and other currency pairs require separate adjustments.
🔧 **Strategy Improvements & Uniqueness**
Unlike basic moving average crossovers or RSI triggers, this strategy emphasizes **"momentum-supported pullbacks"**.
By combining dynamic EMA, speed checks, and candlestick signals, it captures trades **as if surfing the wave of a trend.**
Its built-in filters help **avoid overextended pullbacks**, which often signal the trend is ending – making it more robust than traditional trend-following systems.
✅ **Summary**
The **EMA Pullback Speed Strategy** is easy to understand, rule-based, and highly reproducible – ideal for both beginners and intermediate traders.
Because it shows **clear visual entry/exit points** on the chart, it’s also a great tool for practicing discretionary trading decisions.
⚠️ Past performance is not a guarantee of future results.
Always respect your Stop-Loss levels and manage your position size according to your risk tolerance.
Alpha Trigger CoreAlpha Trigger Core — Trend Momentum Strategy with Dual Take Profit System
Alpha Trigger Core is a precision-engineered trend-following strategy developed for crypto and altcoin markets. Unlike simple indicator mashups, this system was built from the ground up with a specific logic framework that integrates trend, momentum, volatility, and structure validation into a single unified strategy.
It is not a random combination of indicators, but rather a coordinated system of filters that work together to increase signal quality and minimize false positives. This makes it especially effective on trending assets like BTC, ETH, AVAX, and SOL on the 1-hour chart.
🔍 How It Works
This strategy fuses multiple advanced filters into a cohesive signal engine:
🔹 Trend Identification
A hybrid model combining:
Kalman Filter — Smooths price noise with predictive tracking.
SuperTrend Overlay — Confirms directional bias using ATR.
ZLEMA Envelope — Defines dynamic upper/lower bounds based on price velocity.
🔹 Momentum Filter
Uses a ZLEMA-smoothed CCI to identify accelerating moves.
Long entries require a rising 3-bar CCI sequence.
Short entries require a falling 3-bar CCI sequence.
🔹 Volatility Strength Filter (Vortex Indicator)
Validates entries only when Vortex Diff exceeds a customizable threshold.
Prevents low-volatility "chop zone" trades.
🔹 Wick Trap Filter
Filters out false breakouts driven by liquidity wicks.
Validates that body structure supports the breakout.
📈 Entry & Exit Logic
Long Entry: All trend, momentum, volatility filters must align bullishly and wick traps must be absent.
Short Entry: All filters must align bearishly, with no wick rejection.
Early Exit: Uses ZLEMA slope crossover to exit before a full trend reversal is confirmed.
🎯 Take Profit System
TP1: Takes 50% profit at a user-defined % target.
TP2: Closes remaining 100% at second target.
Cooldown: Prevents immediate reentry and ensures clean position transitions.
📊 Real-Time Strategy Dashboard
Tracks and displays:
Position status (Long, Short, Flat)
Entry Price
TP1/TP2 Hit status
Win Rate (%)
Profit Factor
Bars Since Entry
Fully customizable position & font size
🤖 Bot-Ready Multi-Exchange Alerts
Compatible with WonderTrading, 3Commas, Binance, Bybit, and more.
Customizable comment= tags for entry, exit, TP1, and TP2.
Fully alert-compatible for webhook integrations.
📌 Suggested Use
Best used on trending crypto pairs with moderate-to-high volatility. Recommended on the 1H timeframe for altcoins and majors. Can be used for manual confirmation or automated trading.
🔒 Script Transparency
This is a closed-source script. However, the description above provides a transparent breakdown of the strategy’s core logic, filters, and execution model — ensuring compliance with TradingView’s publishing guidelines.
⚠️ Trading Disclaimer
This script is for educational purposes only and is not financial advice. Always conduct your own analysis before making investment decisions. Past performance does not guarantee future results. Use this strategy at your own risk.
Phantom Trigger Phantom Trigger – Precision Trend Execution with TP1/TP2 and Weak Trend Exits
Phantom Trigger is a professional-grade trend-following strategy designed for crypto and high-volatility assets. It combines advanced trend detection with precise risk-managed exits using a multi-level take-profit system.
🔍 What It Does
Identifies strong directional moves using a multi-stage smoothed trend model
Confirms entries using structure-based logic and volume pressure
Filters trades using bias zones, confirmation levels, and trend acceleration
Automatically manages trades with two-stage take-profits (TP1 and TP2)
Exits early on trend weakness before reversal
Includes a styled real-time dashboard and bar coloring for visual guidance
Sends bot-compatible alerts for multi-exchange automation
⚙️ Core Components
Trend Engine: A smoothed dynamic filter detects real-time trend direction and momentum shifts
Bias Structure: Mid-high/low range-based logic determines if price is favoring bullish or bearish structure
Confirmation Levels: Short- and long-term zone crossovers confirm directional alignment
Volume Filter: Detects volume expansion spikes to validate strong breakout potential
TP1/TP2 Logic: Dynamically sets two profit targets and executes partial and full exits automatically
Weak Trend Exit: Closes positions one bar before reversal using directional filters
🧠 How to Use
Works best on crypto (1H, 4H) and high-volume instruments
Use dashboard stats to monitor position status, PnL, and TP1/TP2 progression
Alerts are pre-labeled and compatible with bots like 3Commas, Wunderbit, etc.
Can be adapted for both scalping and swing trading
📊 Dashboard
The built-in real-time dashboard displays current trade status, entry price, TP1/TP2 progress, win rate, profit factor, and bars since entry. It updates live with every candle and provides a quick-glance overview to support your decision-making during active trades.
🧠 How to Use
Works best on crypto (1H, 4H) and high-volume instruments
Use dashboard stats to monitor position status, PnL, and TP1/TP2 progression
Alerts are pre-labeled and compatible with bots like 3Commas, Wunderbit, etc.
Can be adapted for both scalping and swing trading
⚠️ Disclaimer
This script is for educational purposes only and does not constitute financial advice. Always test strategies thoroughly using demo or backtesting environments before applying to live markets. Past performance is not indicative of future results.
Adaptive Fibonacci Pullback System -FibonacciFluxAdaptive Fibonacci Pullback System (AFPS) - FibonacciFlux
This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0). Original concepts by FibonacciFlux.
Abstract
The Adaptive Fibonacci Pullback System (AFPS) presents a sophisticated, institutional-grade algorithmic strategy engineered for high-probability trend pullback entries. Developed by FibonacciFlux, AFPS uniquely integrates a proprietary Multi-Fibonacci Supertrend engine (0.618, 1.618, 2.618 ratios) for harmonic volatility assessment, an Adaptive Moving Average (AMA) Channel providing dynamic market context, and a synergistic Multi-Timeframe (MTF) filter suite (RSI, MACD, Volume). This strategy transcends simple indicator combinations through its strict, multi-stage confluence validation logic. Historical simulations suggest that specific MTF filter configurations can yield exceptional performance metrics, potentially achieving Profit Factors exceeding 2.6 , indicative of institutional-level potential, while maintaining controlled risk under realistic trading parameters (managed equity risk, commission, slippage).
4 hourly MTF filtering
1. Introduction: Elevating Pullback Trading with Adaptive Confluence
Traditional pullback strategies often struggle with noise, false signals, and adapting to changing market dynamics. AFPS addresses these challenges by introducing a novel framework grounded in Fibonacci principles and adaptive logic. Instead of relying on static levels or single confirmations, AFPS seeks high-probability pullback entries within established trends by validating signals through a rigorous confluence of:
Harmonic Volatility Context: Understanding the trend's stability and potential turning points using the unique Multi-Fibonacci Supertrend.
Adaptive Market Structure: Assessing the prevailing trend regime via the AMA Channel.
Multi-Dimensional Confirmation: Filtering signals with lower-timeframe Momentum (RSI), Trend Alignment (MACD), and Market Conviction (Volume) using the MTF suite.
The objective is to achieve superior signal quality and adaptability, moving beyond conventional pullback methodologies.
2. Core Methodology: Synergistic Integration
AFPS's effectiveness stems from the engineered synergy between its core components:
2.1. Multi-Fibonacci Supertrend Engine: Utilizes specific Fibonacci ratios (0.618, 1.618, 2.618) applied to ATR, creating a multi-layered volatility envelope potentially resonant with market harmonics. The averaged and EMA-smoothed result (`smoothed_supertrend`) provides a robust, dynamic trend baseline and context filter.
// Key Components: Multi-Fibonacci Supertrend & Smoothing
average_supertrend = (supertrend1 + supertrend2 + supertrend3) / 3
smoothed_supertrend = ta.ema(average_supertrend, st_smooth_length)
2.2. Adaptive Moving Average (AMA) Channel: Provides dynamic market context. The `ama_midline` serves as a key filter in the entry logic, confirming the broader trend bias relative to adaptive price action. Extended Fibonacci levels derived from the channel width offer potential dynamic S/R zones.
// Key Component: AMA Midline
ama_midline = (ama_high_band + ama_low_band) / 2
2.3. Multi-Timeframe (MTF) Filter Suite: An optional but powerful validation layer (RSI, MACD, Volume) assessed on a lower timeframe. Acts as a **validation cascade** – signals must pass all enabled filters simultaneously.
2.4. High-Confluence Entry Logic: The core innovation. A pullback entry requires a specific sequence and validation:
Price interaction with `average_supertrend` and recovery above/below `smoothed_supertrend`.
Price confirmation relative to the `ama_midline`.
Simultaneous validation by all enabled MTF filters.
// Simplified Long Entry Logic Example (incorporates key elements)
long_entry_condition = enable_long_positions and
(low < average_supertrend and close > smoothed_supertrend) and // Pullback & Recovery
(close > ama_midline and close > ama_midline) and // AMA Confirmation
(rsi_filter_long_ok and macd_filter_long_ok and volume_filter_ok) // MTF Validation
This strict, multi-stage confluence significantly elevates signal quality compared to simpler pullback approaches.
1hourly filtering
3. Realistic Implementation and Performance Potential
AFPS is designed for practical application, incorporating realistic defaults and highlighting performance potential with crucial context:
3.1. Realistic Default Strategy Settings:
The script includes responsible default parameters:
strategy('Adaptive Fibonacci Pullback System - FibonacciFlux', shorttitle = "AFPS", ...,
initial_capital = 10000, // Accessible capital
default_qty_type = strategy.percent_of_equity, // Equity-based risk
default_qty_value = 4, // Default 4% equity risk per initial trade
commission_type = strategy.commission.percent,
commission_value = 0.03, // Realistic commission
slippage = 2, // Realistic slippage
pyramiding = 2 // Limited pyramiding allowed
)
Note: The default 4% risk (`default_qty_value = 4`) requires careful user assessment and adjustment based on individual risk tolerance.
3.2. Historical Performance Insights & Institutional Potential:
Backtesting provides insights into historical behavior under specific conditions (always specify Asset/Timeframe/Dates when sharing results):
Default Performance Example: With defaults, historical tests might show characteristics like Overall PF ~1.38, Max DD ~1.16%, with potential Long/Short performance variance (e.g., Long PF 1.6+, Short PF < 1).
Optimized MTF Filter Performance: Crucially, historical simulations demonstrate that meticulous configuration of the MTF filters (particularly RSI and potentially others depending on market) can significantly enhance performance. Under specific, optimized MTF filter settings combined with appropriate risk management (e.g., 7.5% risk), historical tests have indicated the potential to achieve **Profit Factors exceeding 2.6**, alongside controlled drawdowns (e.g., ~1.32%). This level of performance, if consistently achievable (which requires ongoing adaptation), aligns with metrics often sought in institutional trading environments.
Disclaimer Reminder: These results are strictly historical simulations. Past performance does not guarantee future results. Achieving high performance requires careful parameter tuning, adaptation to changing markets, and robust risk management.
3.3. Emphasizing Risk Management:
Effective use of AFPS mandates active risk management. Utilize the built-in Stop Loss, Take Profit, and Trailing Stop features. The `pyramiding = 2` setting requires particularly diligent oversight. Do not rely solely on default settings.
4. Conclusion: Advancing Trend Pullback Strategies
The Adaptive Fibonacci Pullback System (AFPS) offers a sophisticated, theoretically grounded, and highly adaptable framework for identifying and executing high-probability trend pullback trades. Its unique blend of Fibonacci resonance, adaptive context, and multi-dimensional MTF filtering represents a significant advancement over conventional methods. While requiring thoughtful implementation and risk management, AFPS provides discerning traders with a powerful tool potentially capable of achieving institutional-level performance characteristics under optimized conditions.
Acknowledgments
Developed by FibonacciFlux. Inspired by principles of Fibonacci analysis, adaptive averaging, and multi-timeframe confirmation techniques explored within the trading community.
Disclaimer
Trading involves substantial risk. AFPS is an analytical tool, not a guarantee of profit. Past performance is not indicative of future results. Market conditions change. Users are solely responsible for their decisions and risk management. Thorough testing is essential. Deploy at your own considered risk.
QuantJazz Turbine Trader BETA v1.17QuantJazz Turbine Trader BETA v1.17 - Strategy Introduction and User Guide
Strategy Introduction
Welcome to the QuantJazz Turbine Trader BETA v1.17, a comprehensive trading strategy designed for TradingView. This strategy is built upon oscillator principles, drawing inspiration from the Turbo Oscillator by RedRox, and incorporates multiple technical analysis concepts including RSI, MFI, Stochastic oscillators, divergence detection, and an optional FRAMA (Fractal Adaptive Moving Average) filter.
The Turbine Trader aims to provide traders with a flexible toolkit for identifying potential entry and exit points in the market. It presents information through a main signal line oscillator, a histogram, and various visual cues like dots, triangles, and divergence lines directly on the indicator panel. The strategy component allows users to define specific conditions based on these visual signals to trigger automated long or short trades within the TradingView environment.
This guide provides an overview of the strategy's components, settings, and usage. Please remember that this is a BETA version (v1.17). While developed with care, it may contain bugs or behave unexpectedly.
LEGAL DISCLAIMER: QuantJazz makes no claims about the fitness or profitability of this tool. Trading involves significant risk, and you may lose all of your invested capital. All trading decisions made using this strategy are solely at the user's discretion and responsibility. Past performance is not indicative of future results. Always conduct thorough backtesting and risk assessment before deploying any trading strategy with real capital.
This work is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International.
Core Concepts and Visual Elements
The Turbine Trader indicator displays several components in its own panel below the main price chart:
1. Signal Line (Avg & Avg2): This is the primary oscillator. It's a composite indicator derived from RSI, MFI (Money Flow Index), and Stochastic calculations, smoothed using an EMA (Exponential Moving Average).
Avg: The faster smoothed signal line.
Avg2: The slower smoothed signal line.
Color Coding: The space between Avg and Avg2 is filled. The color (Neon Blue/gColor or Neon Purple/rColor) indicates the trend based on the relationship between Avg and Avg2. Blue suggests bullish momentum (Avg > Avg2), while Purple suggests bearish momentum (Avg2 > Avg).
Zero Line Crosses: Crossovers of the Avg line with the zero level can indicate shifts in momentum.
2. Histogram (resMfi): This histogram is based on smoothed and transformed MFI calculations (Fast MFI and Slow MFI).
Color Coding: Bars are colored Neon Blue (histColorUp) when above zero, suggesting bullish pressure, and Neon Purple (histColorDn) when below zero, suggesting bearish pressure. Transparency is applied.
Zero Line Crosses: Crossovers of the histogram with the zero level can signal potential shifts in money flow.
3. Reversal Points (Dots): Dots appear on the Signal Line (specifically on Avg2) when the color changes (i.e., Avg crosses Avg2).
Small Dots: Appear when a reversal occurs while the oscillator is in an "extreme" zone (below -60 for bullish reversals, above +60 for bearish reversals).
Large Dots: Appear when a reversal occurs outside of these extreme zones.
Colors: Blue (gRdColor) for bullish reversals (Avg crossing above Avg2), Purple (rRdColor) for bearish reversals (Avg crossing below Avg2).
4. Take Profit (TP) Signals (Triangles): Small triangles appear above (+120) or below (-120) the zero line.
Bearish Triangle (Down, Purple rTpColor): Suggests a potential exit point for long positions or an entry point for short positions, based on the oscillator losing upward momentum above the 50 level.
Bullish Triangle (Up, Blue gTpColor): Suggests a potential exit point for short positions or an entry point for long positions, based on the oscillator losing downward momentum below the -50 level.
5. Divergence Lines: The strategy automatically detects and draws potential regular and hidden divergences between the price action (highs/lows) and the Signal Line (Avg).
Regular Bullish Divergence (White bullDivColor line, ⊚︎ label): Price makes a lower low, but the oscillator makes a higher low. Suggests potential bottoming.
Regular Bearish Divergence (White bearDivColor line, ⊚︎ label): Price makes a higher high, but the oscillator makes a lower high. Suggests potential topping.
Hidden Bullish Divergence (bullHidDivColor line, ⊚︎ label): Price makes a higher low, but the oscillator makes a lower low. Suggests potential continuation of an uptrend.
Hidden Bearish Divergence (bearHidDivColor line, ⊚︎ label): Price makes a lower high, but the oscillator makes a higher high. Suggests potential continuation of a downtrend.
Delete Broken Divergence Lines: If enabled, newer divergence lines originating from a similar point will replace older ones.
6. Status Line: A visual bar at the top (95 to 105) and bottom (-95 to -105) of the indicator panel. Its color intensity reflects the confluence of signals:
Score Calculation: +1 if Avg > Avg2, +1 if Avg > 0, +1 if Histogram > 0.
Top Bar (Bullish): Bright Blue (gStatColor) if score is 3, Faded Blue if score is 2, Black otherwise.
Bottom Bar (Bearish): Bright Purple (rStatColor) if score is 0, Faded Purple if score is 1, Black otherwise.
Strategy Settings Explained
The strategy's behavior is controlled via the settings panel (gear icon).
1. Date Range:
Start Date, End Date: Define the period for backtesting. Trades will only occur within this range.
2. Optional Webhook Configuration: (For Automation)
3C Email Token, 3C Bot ID: Enter your 3Commas API credentials if you plan to automate trading using webhooks. The strategy generates JSON alert messages compatible with 3Commas. You can go ahead and just leave the text field as defaulted, "TOKEN HERE" / "BOT ID HERE" if not using any bot automations at this time. You can always come back later and automate it. More info can be made available from QuantJazz should you need automation assistance with custom indicators and trading strategies.
3. 🚀 Signal Line:
Turn On/Off: Show or hide the main signal lines (Avg, Avg2).
gColor, rColor: Set the colors for bullish and bearish signal line states.
Length (RSI): The lookback period for the internal RSI calculation. Default is 2.
Smooth (EMA): The smoothing period for the EMAs applied to the composite signal. Default is 9.
RSI Source: The price source used for RSI calculation (default: close).
4. 📊 Histogram:
Turn On/Off: Show or hide the histogram.
histColorUp, histColorDn: Set the colors for positive and negative histogram bars.
Length (MFI): The base lookback period for MFI calculations. Default is 5. Fast and Slow MFI lengths are derived from this.
Smooth: Smoothing period for the final histogram output. Default is 1 (minimal smoothing).
5.💡 Other:
Show Divergence Line: Toggle visibility of regular divergence lines.
bullDivColor, bearDivColor: Colors for regular divergence lines.
Show Hidden Divergence: Toggle visibility of hidden divergence lines.
bullHidDivColor, bearHidDivColor: Colors for hidden divergence lines.
Show Status Line: Toggle visibility of the top/bottom status bars.
gStatColor, rStatColor: Colors for the status line bars.
Show TP Signal: Toggle visibility of the TP triangles.
gTpColor, rTpColor: Colors for the TP triangles.
Show Reversal points: Toggle visibility of the small/large dots on the signal line.
gRdColor, rRdColor: Colors for the reversal dots.
Delete Broken Divergence Lines: Enable/disable automatic cleanup of older divergence lines.
6. ⚙️ Strategy Inputs: (CRITICAL for Trade Logic)
This section defines which visual signals trigger trades. Each signal (Small/Large Dots, TP Triangles, Bright Bars, Signal/Histogram Crosses, Signal/Histogram Max/Min, Divergences) has a dropdown menu:
Long: This signal can trigger a long entry.
Short: This signal can trigger a short entry.
Disabled: This signal will not trigger any entry.
Must Be True Checkbox: If checked for a specific signal, that signal's condition must be met for any trade (long or short, depending on the dropdown selection for that signal) to be considered. Multiple "Must Be True" conditions act as AND logic – all must be true simultaneously.
How it Works:
The strategy first checks if all conditions marked as "Must Be True" (for the relevant trade direction - long or short) are met.
If all "Must Be True" conditions are met, it then checks if at least one of the conditions not marked as "Must Be True" (and set to "Long" or "Short" respectively) is also met.
If both steps pass, and other filters (like Date Range, FRAMA) allow, an entry order is placed.
Example: If "Large Bullish Dot" is set to "Long" and "Must Be True" is checked, AND "Bullish Divergence" is set to "Long" but "Must Be True" is not checked: A long entry requires BOTH the Large Bullish Dot AND the Bullish Divergence to occur simultaneously. If "Large Bullish Dot" was "Long" but not "Must Be True", then EITHER a Large Bullish Dot OR a Bullish Divergence could trigger a long entry (assuming no other "Must Be True" conditions are active).
Note: By default, the strategy is configured for long-only trades (strategy.risk.allow_entry_in(strategy.direction.long)). To enable short trades, you would need to comment out or remove this line in the Pine Script code and configure the "Strategy Inputs" accordingly.
7. 💰 Take Profit Settings:
Take Profit 1/2/3 (%): The percentage above the entry price (for longs) or below (for shorts) where each TP level is set. (e.g., 1.0 means 1% profit).
TP1/2/3 Percentage: The percentage of the currently open position to close when the corresponding TP level is hit. The percentages should ideally sum to 100% if you intend to close the entire position across the TPs.
Trailing Stop (%): The percentage below the highest high (for longs) or above the lowest low (for shorts) reached after the activation threshold, where the stop loss will trail.
Trailing Stop Activation (%): The minimum profit percentage the trade must reach before the trailing stop becomes active.
Re-entry Delay (Bars): The minimum number of bars to wait after a TP is hit before considering a re-entry. Default is 1 (allows immediate re-entry on the next bar if conditions met).
Re-entry Price Offset (%): The percentage the price must move beyond the previous TP level before a re-entry is allowed. This prevents immediate re-entry if the price hovers around the TP level.
8. 📈 FRAMA Filter: (Optional Trend Filter)
Use FRAMA Filter: Enable or disable the filter.
FRAMA Source, FRAMA Period, FRAMA Fast MA, FRAMA Slow MA: Parameters for the FRAMA calculation. Defaults provided are common starting points.
FRAMA Filter Type:
FRAMA > previous bars: Allows trades only if FRAMA is significantly above its recent average (defined by FRAMA Percentage and FRAMA Lookback). Typically used to confirm strong upward trends for longs.
FRAMA < price: Allows trades only if FRAMA is below the current price (framaSource). Can act as a baseline trend filter.
FRAMA Percentage (X), FRAMA Lookback (Y): Used only for the FRAMA > previous bars filter type.
How it Affects Trades: If Use FRAMA Filter is enabled:
Long entries require the FRAMA filter condition to be true.
Short entries require the FRAMA filter condition to be false (as currently coded, this acts as an inverse filter for shorts if enabled).
How to Use the Strategy
1. Apply to Chart: Open your desired chart on TradingView. Click "Indicators", find "QuantJazz Turbine Trader BETA v1.17" (you might need to add it via Invite-only scripts or if published publicly), and add it to your chart. The oscillator appears below the price chart, and the strategy tester panel opens at the bottom.
2. Configure Strategy Properties: In the Pine Script code itself (or potentially via the UI if supported), adjust the strategy() function parameters like initial_capital, default_qty_value, commission_value, slippage, etc., to match your account, broker fees, and risk settings. The user preferences provided (e.g., 1000 initial capital, 0.1% commission) are examples. Remember use_bar_magnifier is false by default in v1.17.
3. Configure Inputs (Settings Panel):
Set the Date Range for backtesting.
Crucially, configure the ⚙️ Strategy Inputs. Decide which signals should trigger entries and whether they are mandatory ("Must Be True"). Start simply, perhaps enabling only one or two signals initially, and test thoroughly. Remember the default long-only setting unless you modify the code.
Set up your 💰 Take Profit Settings, including TP levels, position size percentages for each TP, and the trailing stop parameters. Decide if you want to use the re-entry feature.
Decide whether to use the 📈 FRAMA Filter and configure its parameters if enabled.
Adjust visual elements (🚀 Signal Line, 📊 Histogram, 💡 Other) as needed for clarity.
4. Backtest: Use the Strategy Tester panel in TradingView. Analyze the performance metrics (Net Profit, Max Drawdown, Profit Factor, Win Rate, Trade List) across different assets, timeframes, and setting configurations. Pay close attention to how different "Strategy Inputs" combinations perform.
5. Refine: Based on backtesting results, adjust the input settings, TP/SL strategy, and signal combinations to optimize performance for your chosen market and timeframe, while being mindful of overfitting.
6. Automation (Optional): If using 3Commas or a similar platform:
Enter your 3C Email Token and 3C Bot ID in the settings.
Create alerts in TradingView (right-click on the chart or use the Alert panel).
Set the Condition to "QuantJazz Turbine Trader BETA v1.17".
In the "Message" box, paste the corresponding placeholder, which will pass the message in JSON from our custom code to TradingView to pass through your webhook: {{strategy.order.alert_message}}.
In the next tab, configure the Webhook URL provided by your automation platform. Put a Whale sound, while you're at it! 🐳
When an alert triggers, TradingView will send the pre-formatted JSON message from the strategy code to your webhook URL.
Final Notes
The QuantJazz Turbine Trader BETA v1.17 offers a wide range of customizable signals and strategy logic. Its effectiveness heavily depends on proper configuration and thorough backtesting specific to the traded asset and timeframe. Start with the default settings, understand each component, and methodically test different combinations of signals and parameters. Remember the inherent risks of trading and never invest capital you cannot afford to lose.
*Auto Backtest & Optimize EngineFull-featured Engine for Automatic Backtesting and parameter optimization. Allows you to test millions of different combinations of stop-loss and take profit parameters, including on any connected indicators.
⭕️ Key Futures
Quickly identify the optimal parameters for your strategy.
Automatically generate and test thousands of parameter combinations.
A simple Genetic Algorithm for result selection.
Saves time on manual testing of multiple parameters.
Detailed analysis, sorting, filtering and statistics of results.
Detailed control panel with many tooltips.
Display of key metrics: Profit, Win Rate, etc..
Comprehensive Strategy Score calculation.
In-depth analysis of the performance of different types of stop-losses.
Possibility to use to calculate the best Stop-Take parameters for your position.
Ability to test your own functions and signals.
Customizable visualization of results.
Flexible Stop-Loss Settings:
• Auto ━ Allows you to test all types of Stop Losses at once(listed below).
• S.VOLATY ━ Static stop based on volatility (Fixed, ATR, STDEV).
• Trailing ━ Classic trailing stop following the price.
• Fast Trail ━ Accelerated trailing stop that reacts faster to price movements.
• Volatility ━ Dynamic stop based on volatility indicators.
• Chandelier ━ Stop based on price extremes.
• Activator ━ Dynamic stop based on SAR.
• MA ━ Stop based on moving averages (9 different types).
• SAR ━ Parabolic SAR (Stop and Reverse).
Advanced Take-Profit Options:
• R:R: Risk/Reward ━ sets TP based on SL size.
• T.VOLATY ━ Calculation based on volatility indicators (Fixed, ATR, STDEV).
Testing Modes:
• Stops ━ Cyclical stop-loss testing
• Pivot Point Example ━ Example of using pivot points
• External Example ━ Built-in example how test functions with different parameters
• External Signal ━ Using external signals
⭕️ Usage
━ First Steps:
When opening, select any point on the chart. It will not affect anything until you turn on Manual Start mode (more on this below).
The chart will immediately show the best results of the default Auto mode. You can switch Part's to try to find even better results in the table.
Now you can display any result from the table on the chart by entering its ID in the settings.
Repeat steps 3-4 until you determine which type of Stop Loss you like best. Then set it in the settings instead of Auto mode.
* Example: I flipped through 14 parts before I liked the first result and entered its ID so I could visually evaluate it on the chart.
Then select the stop loss type, choose it in place of Auto mode and repeat steps 3-4 or immediately follow the recommendations of the algorithm.
Now the Genetic Algorithm at the bottom right will prompt you to enter the Parameters you need to search for and select even better results.
Parameters must be entered All at once before they are updated. Enter recommendations strictly in fields with the same names.
Repeat steps 5-6 until there are approximately 10 Part's left or as you like. And after that, easily pour through the remaining Parts and select the best parameters.
━ Example of the finished result.
━ Example of use with Takes
You can also test at the same time along with Take Profit. In this example, I simply enabled Risk/Reward mode and immediately specified in the TP field Maximum RR, Minimum RR and Step. So in this example I can test (3-1) / 0.1 = 20 Takes of different sizes. There are additional tips in the settings.
━
* Soon you will start to understand how the system works and things will become much easier.
* If something doesn't work, just reset the engine settings and start over again.
* Use the tips I have left in the settings and on the Panel.
━ Details:
Sort ━ Sorting results by Score, Profit, Trades, etc..
Filter ━ Filtring results by Score, Profit, Trades, etc..
Trade Type ━ Ability to disable Long\Short but only from statistics.
BackWin ━ Backtest Window Number of Candle the script can test.
Manual Start ━ Enabling it will allow you to call a Stop from a selected point. which you selected when you started the engine.
* If you have a real open position then this mode can help to save good Stop\Take for it.
1 - 9 Сheckboxs ━ Allow you to disable any stop from Auto mode.
Ex Source - Allow you to test Stops/Takes from connected indicators.
Connection guide:
//@version=6
indicator("My script")
rsi = ta.rsi(close, 14)
buy = not na(rsi) and ta.crossover (rsi, 40) // OS = 40
sell = not na(rsi) and ta.crossunder(rsi, 60) // OB = 60
Signal = buy ? +1 : sell ? -1 : 0
plot(Signal, "🔌Connector🔌", display = display.none)
* Format the signal for your indicator in a similar style and then select it in Ex Source.
⭕️ How it Works
Hypothesis of Uniform Distribution of Rare Elements After Mixing.
'This hypothesis states that if an array of N elements contains K valid elements, then after mixing, these valid elements will be approximately uniformly distributed.'
'This means that in a random sample of k elements, the proportion of valid elements should closely match their proportion in the original array, with some random variation.'
'According to the central limit theorem, repeated sampling will result in an average count of valid elements following a normal distribution.'
'This supports the assumption that the valid elements are evenly spread across the array.'
'To test this hypothesis, we can conduct an experiment:'
'Create an array of 1,000,000 elements.'
'Select 1,000 random elements (1%) for validation.'
'Shuffle the array and divide it into groups of 1,000 elements.'
'If the hypothesis holds, each group should contain, on average, 1~ valid element, with minor variations.'
* I'd like to attach more details to My hypothesis but it won't be very relevant here. Since this is a whole separate topic, I will leave the minimum part for understanding the engine.
Practical Application
To apply this hypothesis, I needed a way to generate and thoroughly mix numerous possible combinations. Within Pine, generating over 100,000 combinations presents significant challenges, and storing millions of combinations requires excessive resources.
I developed an efficient mechanism that generates combinations in random order to address these limitations. While conventional methods often produce duplicates or require generating a complete list first, my approach guarantees that the first 10% of possible combinations are both unique and well-distributed. Based on my hypothesis, this sampling is sufficient to determine optimal testing parameters.
Most generators and randomizers fail to accommodate both my hypothesis and Pine's constraints. My solution utilizes a simple Linear Congruential Generator (LCG) for pseudo-randomization, enhanced with prime numbers to increase entropy during generation. I pre-generate the entire parameter range and then apply systematic mixing. This approach, combined with a hybrid combinatorial array-filling technique with linear distribution, delivers excellent generation quality.
My engine can efficiently generate and verify 300 unique combinations per batch. Based on the above, to determine optimal values, only 10-20 Parts need to be manually scrolled through to find the appropriate value or range, eliminating the need for exhaustive testing of millions of parameter combinations.
For the Score statistic I applied all the same, generated a range of Weights, distributed them randomly for each type of statistic to avoid manual distribution.
Score ━ based on Trade, Profit, WinRate, Profit Factor, Drawdown, Sharpe & Sortino & Omega & Calmar Ratio.
⭕️ Notes
For attentive users, a little tricks :)
To save time, switch parts every 3 seconds without waiting for it to load. After 10-20 parts, stop and wait for loading. If the pause is correct, you can switch between the rest of the parts without loading, as they will be cached. This used to work without having to wait for a pause, but now it does slower. This will save a lot of time if you are going to do a deeper backtest.
Sometimes you'll get the error “The scripts take too long to execute.”
For a quick fix you just need to switch the TF or Ticker back and forth and most likely everything will load.
The error appears because of problems on the side of the site because the engine is very heavy. It can also appear if you set too long a period for testing in BackWin or use a heavy indicator for testing.
Manual Start - Allow you to Start you Result from any point. Which in turn can help you choose a good stop-stick for your real position.
* It took me half a year from idea to current realization. This seems to be one of the few ways to build something automatic in backtest format and in this particular Pine environment. There are already better projects in other languages, and they are created much easier and faster because there are no limitations except for personal PC. If you see solutions to improve this system I would be glad if you share the code. At the moment I am tired and will continue him not soon.
Also You can use my previosly big Backtest project with more manual settings(updated soon)