EMA Crossover Strategy with Take Profit and Candle HighlightingStrategy Overview:
This strategy is based on the Exponential Moving Averages (EMA), specifically the EMA 20 and EMA 50. It takes advantage of EMA crossovers to identify potential trend reversals and uses multiple take-profit levels and a stop-loss for risk management.
Key Components:
EMA Crossover Signals:
Buy Signal (Uptrend): A buy signal is generated when the EMA 20 crosses above the EMA 50, signaling the start of a potential uptrend.
Sell Signal (Downtrend): A sell signal is generated when the EMA 20 crosses below the EMA 50, signaling the start of a potential downtrend.
Take Profit Levels:
Once a buy or sell signal is triggered, the strategy calculates multiple take-profit levels based on the range of the previous candle. The user can define multipliers for each take-profit level.
Take Profit 1 (TP1): 50% of the previous candle's range above or below the entry price.
Take Profit 2 (TP2): 100% of the previous candle's range above or below the entry price.
Take Profit 3 (TP3): 150% of the previous candle's range above or below the entry price.
Take Profit 4 (TP4): 200% of the previous candle's range above or below the entry price.
These levels are adjusted dynamically based on the previous candle's high and low, so they adapt to changing market conditions.
Stop Loss:
A stop-loss is set to manage risk. The default stop-loss is 3% from the entry price, but this can be adjusted in the settings. The stop-loss is triggered if the price moves against the position by this amount.
Trend Direction Highlighting:
The strategy highlights the bars (candles) with colors:
Green bars indicate an uptrend (when EMA 20 crosses above EMA 50).
Red bars indicate a downtrend (when EMA 20 crosses below EMA 50).
These visual cues help users easily identify the market direction.
Strategy Entries and Exits:
Entries: The strategy enters a long (buy) position when the EMA 20 crosses above the EMA 50 and a short (sell) position when the EMA 20 crosses below the EMA 50.
Exits: The strategy exits the positions at any of the defined take-profit levels or the stop-loss. Multiple exit levels provide opportunities to take profit progressively as the price moves in the favorable direction.
Entry and Exit Conditions in Detail:
Buy Entry Condition (Uptrend):
A buy position is opened when EMA 20 crosses above EMA 50, signaling the start of an uptrend.
The strategy calculates take-profit levels above the entry price based on the previous bar's range (high-low) and the multipliers for TP1, TP2, TP3, and TP4.
Sell Entry Condition (Downtrend):
A sell position is opened when EMA 20 crosses below EMA 50, signaling the start of a downtrend.
The strategy calculates take-profit levels below the entry price, similarly based on the previous bar's range.
Exit Conditions:
Take Profit: The strategy attempts to exit the position at one of the take-profit levels (TP1, TP2, TP3, or TP4). If the price reaches any of these levels, the position is closed.
Stop Loss: The strategy also has a stop-loss set at a default value (3% below the entry for long trades, and 3% above for short trades). The stop-loss helps to protect the position from significant losses.
Backtesting and Performance Metrics:
The strategy can be backtested using TradingView's Strategy Tester. The results will show how the strategy would have performed historically, including key metrics like:
Net Profit
Max Drawdown
Win Rate
Profit Factor
Average Trade Duration
These performance metrics can help users assess the strategy's effectiveness over historical periods and optimize the input parameters (e.g., multipliers, stop-loss level).
Customization:
The strategy allows for the adjustment of several key input values via the settings panel:
Take Profit Multipliers: Users can customize the multipliers for each take-profit level (TP1, TP2, TP3, TP4).
Stop Loss Percentage: The user can also adjust the stop-loss percentage to a custom value.
EMA Periods: The default periods for the EMA 50 and EMA 20 are fixed, but they can be adjusted for different market conditions.
Pros of the Strategy:
EMA Crossover Strategy: A classic and well-known strategy used by traders to identify the start of new trends.
Multiple Take Profit Levels: By taking profits progressively at different levels, the strategy locks in gains as the price moves in favor of the position.
Clear Trend Identification: The use of green and red bars makes it visually easier to follow the market's direction.
Risk Management: The stop-loss and take-profit features help to manage risk and optimize profit-taking.
Cons of the Strategy:
Lagging Indicators: The strategy relies on EMAs, which are lagging indicators. This means that the strategy might enter trades after the trend has already started, leading to missed opportunities or less-than-ideal entry prices.
No Confirmation Indicators: The strategy purely depends on the crossover of two EMAs and does not use other confirming indicators (e.g., RSI, MACD), which might lead to false signals in volatile markets.
How to Use in Real-Time Trading:
Use for Backtesting: Initially, use this strategy in backtest mode to understand how it would have performed historically with your preferred settings.
Paper Trading: Once comfortable, you can use paper trading to test the strategy in real-time market conditions without risking real money.
Live Trading: After testing and optimizing the strategy, you can consider using it for live trading with proper risk management in place (e.g., starting with a small position size and adjusting parameters as needed).
Summary:
This strategy is designed to identify trend reversals using EMA crossovers, with customizable take-profit levels and a stop-loss to manage risk. It's well-suited for traders looking for a systematic way to enter and exit trades based on clear market signals, while also providing flexibility to adjust for different risk profiles and trading styles.
אינדיקטורים ואסטרטגיות
Adaptive Trend Flow Strategy with Filters for SPXThe Adaptive Trend Flow Strategy with Filters for SPX is a complete trading algorithm designed to identify traits and offer actionable alerts for the SPX index. This Pine Script approach leverages superior technical signs and user-described parameters to evolve to marketplace conditions and optimize performance.
Key Features and Functionality
Dynamic Trend Detection: Utilizes a dual EMA-based totally adaptive method for fashion calculation.
The script smooths volatility the usage of an EMA filter and adjusts sensitivity through the sensitivity enter. This allows for real-time adaptability to market fluctuations.
Trend Filters for Precision:
SMA Filter: A Simple Moving Average (SMA) guarantees that trades are achieved best while the rate aligns with the shifting average trend, minimizing false indicators.
MACD Filter: The Moving Average Convergence Divergence (MACD) adds some other layer of confirmation with the aid of requiring alignment among the MACD line and its sign line.
Signal Generation:
Long Signals: Triggered when the fashion transitions from bearish to bullish, with all filters confirming the pass.
Short Signals: Triggered while the trend shifts from bullish to bearish, imparting opportunities for final positions.
User Customization:
Adjustable parameters for EMAs, smoothing duration, and sensitivity make certain the strategy can adapt to numerous buying and selling patterns.
Enable or disable filters (SMA or MACD) based totally on particular market conditions or consumer possibilities.
Leverage and Position Sizing: Incorporates a leverage aspect for dynamic position sizing.
Automatically calculates the exchange length based on account fairness and the leverage element, making sure hazard control is in area.
Visual Enhancements: Plots adaptive fashion ranges (foundation, top, decrease) for actual-time insights into marketplace conditions.
Color-coded bars and heritage to visually represent bullish or bearish developments.
Custom labels indicating crossover and crossunder occasions for clean sign visualization.
Alerts and Automation: Configurable alerts for each lengthy and quick indicators, well matched with automated buying and selling structures like plugpine.Com.
JSON-based alert messages consist of account credentials, motion type, and calculated position length for seamless integration.
Backtesting and Realistic Assumptions: Includes practical slippage, commissions, and preliminary capital settings for backtesting accuracy.
Leverages excessive-frequency trade sampling to make certain strong strategy assessment.
How It Works
Trend Calculation: The method derives a principal trend basis with the aid of combining fast and gradual EMAs. It then uses marketplace volatility to calculate adaptive upper and decrease obstacles, creating a dynamic channel.
Filter Integration: SMA and MACD filters work in tandem with the fashion calculation to ensure that handiest excessive-probability signals are accomplished.
Signal Execution: Signals are generated whilst the charge breaches those dynamic tiers and aligns with the fashion and filters, ensuring sturdy change access situations.
How to Use
Setup: Apply the approach to SPX or other well suited indices.
Adjust person inputs, together with ATR length, EMA smoothing, and sensitivity, to align together with your buying and selling possibilities.
Enable or disable the SMA and MACD filters to test unique setups.
Alerts: Configure signals for computerized notifications or direct buying and selling execution through third-celebration systems.
Use the supplied JSON payload to integrate with broking APIs or automation tools.
Optimization:
Experiment with leverage, filter out settings, and sensitivity to find most effective configurations to your hazard tolerance and marketplace situations.
Considerations and Best Practices
Risk Management: Always backtest the method with realistic parameters, together with conservative leverage and commissions.
Market Suitability: While designed for SPX, this method can adapt to other gadgets by means of adjusting key parameters.
Limitations: The method is trend-following and can underperform in enormously risky or ranging markets. Regularly evaluate and modify parameters primarily based on recent market conduct.
If you have any questions please let me know - I'm here to help!
BullBear with Volume-Percentile TP - Strategy [presentTrading] Happy New Year, everyone! I hope we have a fantastic year ahead.
It's been a while since I published an open script, but it's time to return.
This strategy introduces an indicator called Bull Bear Power, combined with an advanced take-profit system, which is the main innovative and educational aspect of this script. I hope all of you find some useful insights here. Welcome to engage in meaningful exchanges. This is a versatile tool suitable for both novice and experienced traders.
█ Introduction and How it is Different
Unlike traditional strategies that rely solely on price or volume indicators, this approach combines Bull Bear Power (BBP) with volume percentile analysis to identify optimal entry and exit points. It features a dynamic take-profit mechanism based on ATR (Average True Range) multipliers adjusted by volume and percentile factors, ensuring adaptability to diverse market conditions. This multifaceted strategy not only improves signal accuracy but also optimizes risk management, distinguishing it from conventional trading methods.
BTCUSD 6hr performance
Disable the visualization of Bull Bear Power (BBP) to clearly view the Z-Score.
█ Strategy, How it Works: Detailed Explanation
The BBP Strategy with Volume-Percentile TP utilizes several interconnected components to analyze market data and generate trading signals. Here's an overview with essential equations:
🔶 Core Indicators and Calculations
1. Exponential Moving Average (EMA):
- **Purpose:** Smoothens price data to identify trends.
- **Formula:**
EMA_t = (Close_t * (2 / (lengthInput + 1))) + (EMA_(t-1) * (1 - (2 / (lengthInput + 1))))
- Usage: Baseline for Bull and Bear Power.
2. Bull and Bear Power:
- Bull Power: `BullPower = High_t - EMA_t`
- Bear Power: `BearPower = Low_t - EMA_t`
- BBP:** `BBP = BullPower + BearPower`
- Interpretation: Positive BBP indicates bullish strength, negative indicates bearish.
3. Z-Score Calculation:
- Purpose: Normalizes BBP to assess deviation from the mean.
- Formula:
Z-Score = (BBP_t - bbp_mean) / bbp_std
- Components:
- `bbp_mean` = SMA of BBP over `zLength` periods.
- `bbp_std` = Standard deviation of BBP over `zLength` periods.
- Usage: Identifies overbought or oversold conditions based on thresholds.
🔶 Volume Analysis
1. Volume Moving Average (`vol_sma`):
vol_sma = (Volume_1 + Volume_2 + ... + Volume_vol_period) / vol_period
2. Volume Multiplier (`vol_mult`):
vol_mult = Current Volume / vol_sma
- Thresholds:
- High Volume: `vol_mult > 2.0`
- Medium Volume: `1.5 < vol_mult ≤ 2.0`
- Low Volume: `1.0 < vol_mult ≤ 1.5`
🔶 Percentile Analysis
1. Percentile Calculation (`calcPercentile`):
Percentile = (Number of values ≤ Current Value / perc_period) * 100
2. Thresholds:
- High Percentile: >90%
- Medium Percentile: >80%
- Low Percentile: >70%
🔶 Dynamic Take-Profit Mechanism
1. ATR-Based Targets:
TP1 Price = Entry Price ± (ATR * atrMult1 * TP_Factor)
TP2 Price = Entry Price ± (ATR * atrMult2 * TP_Factor)
TP3 Price = Entry Price ± (ATR * atrMult3 * TP_Factor)
- ATR Calculation:
ATR_t = (True Range_1 + True Range_2 + ... + True Range_baseAtrLength) / baseAtrLength
2. Adjustment Factors:
TP_Factor = (vol_score + price_score) / 2
- **vol_score** and **price_score** are based on current volume and price percentiles.
Local performance
🔶 Entry and Exit Logic
1. Long Entry: If Z-Score crosses above 1.618, then Enter Long.
2. Short Entry: If Z-Score crosses below -1.618, then Enter Short.
3. Exiting Positions:
If Long and Z-Score crosses below 0:
Exit Long
If Short and Z-Score crosses above 0:
Exit Short
4. Take-Profit Execution:
- Set multiple exit orders at dynamically calculated TP levels based on ATR and adjusted by `TP_Factor`.
█ Trade Direction
The strategy determines trade direction using the Z-Score from the BBP indicator:
- Long Positions:
- Condition: Z-Score crosses above 1.618.
- Short Positions:
- Condition: Z-Score crosses below -1.618.
- Exiting Trades:
- Long Exit: Z-Score drops below 0.
- Short Exit: Z-Score rises above 0.
This approach aligns trades with prevailing market trends, increasing the likelihood of successful outcomes.
█ Usage
Implementing the BBP Strategy with Volume-Percentile TP in TradingView involves:
1. Adding the Strategy:
- Copy the Pine Script code.
- Paste it into TradingView's Pine Editor.
- Save and apply the strategy to your chart.
2. Configuring Settings:
- Adjust parameters like EMA length, Z-Score thresholds, ATR multipliers, volume periods, and percentile settings to match your trading preferences and asset behavior.
3. Backtesting:
- Use TradingView’s backtesting tools to evaluate historical performance.
- Analyze metrics such as profit factor, drawdown, and win rate.
4. Optimization:
- Fine-tune parameters based on backtesting results.
- Test across different assets and timeframes to enhance adaptability.
5. Deployment:
- Apply the strategy in a live trading environment.
- Continuously monitor and adjust settings as market conditions change.
█ Default Settings
The BBP Strategy with Volume-Percentile TP includes default parameters designed for balanced performance across various markets. Understanding these settings and their impact is essential for optimizing strategy performance:
Bull Bear Power Settings:
- EMA Length (`lengthInput`): 21
- **Effect:** Balances sensitivity and trend identification; shorter lengths respond quicker but may generate false signals.
- Z-Score Length (`zLength`): 252
- **Effect:** Long period for stable mean and standard deviation, reducing false signals but less responsive to recent changes.
- Z-Score Threshold (`zThreshold`): 1.618
- **Effect:** Higher threshold filters out weaker signals, focusing on significant market moves.
Take Profit Settings:
- Use Take Profit (`useTP`): Enabled (`true`)
- **Effect:** Activates dynamic profit-taking, enhancing profitability and risk management.
- ATR Period (`baseAtrLength`): 20
- **Effect:** Shorter period for sensitive volatility measurement, allowing tighter profit targets.
- ATR Multipliers:
- **Effect:** Define conservative to aggressive profit targets based on volatility.
- Position Sizes:
- **Effect:** Diversifies profit-taking across multiple levels, balancing risk and reward.
Volume Analysis Settings:
- Volume MA Period (`vol_period`): 100
- **Effect:** Longer period for stable volume average, reducing the impact of short-term spikes.
- Volume Multipliers:
- **Effect:** Determines volume conditions affecting take-profit adjustments.
- Volume Factors:
- **Effect:** Adjusts ATR multipliers based on volume strength.
Percentile Analysis Settings:
- Percentile Period (`perc_period`): 100
- **Effect:** Balances historical context with responsiveness to recent data.
- Percentile Thresholds:
- **Effect:** Defines price and volume percentile levels influencing take-profit adjustments.
- Percentile Factors:
- **Effect:** Modulates ATR multipliers based on price percentile strength.
Impact on Performance:
- EMA Length: Shorter EMAs increase sensitivity but may cause more false signals; longer EMAs provide stability but react slower to market changes.
- Z-Score Parameters:*Longer Z-Score periods create more stable signals, while higher thresholds reduce trade frequency but increase signal reliability.
- ATR Multipliers and Position Sizes: Higher multipliers allow for larger profit targets with increased risk, while diversified position sizes help in securing profits at multiple levels.
- Volume and Percentile Settings: These adjustments ensure that take-profit targets adapt to current market conditions, enhancing flexibility and performance across different volatility environments.
- Commission and Slippage: Accurate settings prevent overestimation of profitability and ensure the strategy remains viable after accounting for trading costs.
Conclusion
The BBP Strategy with Volume-Percentile TP offers a robust framework by combining BBP indicators with volume and percentile analyses. Its dynamic take-profit mechanism, tailored through ATR adjustments, ensures that traders can effectively capture profits while managing risks in varying market conditions.
Fibonacci Retracement Strategy for CryptoThe Enhanced Fibonacci Retracement Strategy is designed to help traders capitalize on key Fibonacci levels for both long and short trades. This script automatically identifies significant swing highs and lows within a customizable lookback period and dynamically plots Fibonacci retracement levels (0%, 23.6%, 38.2%, 50%, 61.8%, 78.6%, and 100%) as support and resistance levels.
Key Features:
Automatic Fibonacci Levels:
The script identifies the highest high and lowest low over a user-defined lookback period to calculate Fibonacci retracement levels.
Dual-Directional Trading:
Long Trades: Triggered when the price crosses above the 61.8% retracement level, anticipating a reversal.
Short Trades: Triggered when the price crosses below the 38.2% retracement level, capturing potential downward movement.
Compact Line Option:
Users can toggle "Compact Fibonacci Lines" to reduce visual clutter on the chart, making the lines shorter and easier to interpret.
Dynamic Alerts:
Alerts are embedded directly into the strategy logic for entry and exit points.
Long Entry: Triggered when the price bounces above the 61.8% level.
Long Exit: Triggered when the price reaches the 23.6% level.
Short Entry: Triggered when the price crosses below the 38.2% level.
Short Exit: Triggered when the price reaches the 78.6% level.
Clear Visualization:
Fibonacci levels are plotted with distinct colors and dashed lines (optional compact view),
providing traders with clear and actionable levels to make decisions.
Inputs:
Lookback Period: Number of candles to calculate swing highs and lows.
Plot Fibonacci Levels: Toggle to enable/disable plotting levels.
Compact Fibonacci Lines: Reduce the length of Fibonacci lines for a cleaner chart.
How It Works:
The strategy identifies a high-low range within the lookback period.
Fibonacci levels are calculated based on the range and plotted on the chart.
Long Trade Example:
Enter when the price crosses above the 61.8% level.
Exit when the price reaches the 23.6% level.
Short Trade Example:
Enter when the price crosses below the 38.2% level.
Exit when the price reaches the 78.6% level.
Best Use Cases:
Trending Markets: Use retracements to time entries in the direction of the trend.
Range-Bound Markets: Identify and trade reversals near key Fibonacci levels.
Important Notes:
This strategy is not financial advice and should be backtested thoroughly before live trading.
Risk management is crucial! Consider using stop-loss orders for protection.
Customize inputs to suit your preferred timeframe and trading style.
Enhanced Gold Scalping Strategy (Backtest with Time Filter)Enhanced Gold Scalping Strategy (Backtest with Time Filter)
This script is a scalping strategy designed specifically for trading gold on lower timeframes, incorporating popular technical indicators and a session filter for optimal performance. The strategy aims to achieve consistency by combining trend-following and volatility-based conditions.
Key Features:
Indicators Used:
Exponential Moving Average (EMA): Filters trades based on the trend direction using a 50-period EMA.
Relative Strength Index (RSI): Ensures trades are taken in favorable momentum conditions (above 30 for longs and below 70 for shorts).
MACD Crossover: Identifies potential trade entries based on MACD line crossing above/below the signal line.
Average True Range (ATR): Used to dynamically calculate Stop Loss and Take Profit levels and ensure trades occur in high-volatility conditions.
Risk-Reward Optimization:
The strategy uses a customizable Risk-Reward Ratio (default is 2:1) for setting Stop Loss (SL) and Take Profit (TP) levels, ensuring that winning trades outweigh losses.
Volatility Filter:
Trades are only executed when the current ATR exceeds the 14-period ATR moving average by a defined threshold, filtering out low-volatility periods.
Session Filter:
The strategy only trades during active market hours (8:00 AM to 8:00 PM Amsterdam Time) on weekdays. This ensures trades align with periods of high liquidity and market activity.
Dynamic Entry and Exit Levels:
SL and TP levels are plotted dynamically on the chart to provide a clear visual of potential risk and reward for each trade.
Buy and Sell Signals:
Visual markers (green triangles for buy, red triangles for sell) on the chart to highlight entry points for better trade visibility.
How It Works:
Long Conditions:
MACD crossover (MACD line above the signal line).
RSI above 30.
Price is above the 50-period EMA.
ATR-based volatility condition is met.
Trade must occur within the defined session hours.
Short Conditions:
MACD crossunder (MACD line below the signal line).
RSI below 70.
Price is below the 50-period EMA.
ATR-based volatility condition is met.
Trade must occur within the defined session hours.
The strategy calculates dynamic SL and TP levels based on the ATR, ensuring flexibility to market conditions.
Customization Options:
EMA length, RSI length, and MACD parameters.
Risk-Reward Ratio for SL/TP calculations.
Volatility threshold for filtering trades.
Session start and end times for active trading hours.
Recommended Use:
Best suited for scalping gold on lower timeframes (15-min charts).
Disclaimer:
This strategy is intended for educational and backtesting purposes. Past performance is not indicative of future results. Use appropriate risk management and test thoroughly before applying to live trading.
EMA SHIFT & PARALLEL [n_dot]BINANCE:ETHUSDT.P
This strategy was developed for CRYPTO FUTURES, (the settings for ETHUSDT.P) . I aimed for the strategy to function in a live environment, so I focused on making its operation realistic:
When determining the position, only 80% (adjustable) of the available cash is invested to reduce the risk of position liquidation.
I account for a 0.05% commission, typical on the futures market, for each entry and exit.
Concept:
I modified a simple, well-known method: the crossover of two exponential moving averages (FAST, SLOW) generates the entry and exit signals.
I enhanced the base idea as follows:
For the fast EMA, I incorporated a multiplier (offset) to filter out market noise and focus only on strong signals.
I use different EMAs for long and short entry points; both have their own FAST and SLOW EMAs and their own offset. For longs, the FAST EMA is adjusted downward (<1), while for shorts, it is adjusted upward (>1). Consequently, the signal is generated when the modified FAST EMA crosses the SLOW EMA.
Risk Management:
The position includes the following components:
Separate stop-losses for long and short positions.
Separate trailers for long and short positions.
The strategy operates so that the entry point is determined by the EMA crossover, while the exit is governed only by the Stop Loss or Trailer. Optionally, it can be set to close the position at the EMA recrossing ("Close at Signal").
Trailer Operation:
An entry percentage and offset are defined. The trailer activates when the price surpasses the entry price, calculated automatically by the system.
The trailer closes the position when the price drops by the offset percentage from the highest reached price.
Example for trailer:
Purchase Price = 100
Trailer Enter = 5% → Activation Price = 105 (triggers trailer if market price crosses it).
Trailer Offset = 2%
If the price rises to 110, the exit price becomes 107.8.
If the price goes to 120, the exit price becomes 117.6.
If the price falls below 117.6, the trailer closes the position.
Settings:
Source: Determines the market price reference.
End Close: Closes positions at the end of the simulation to avoid "shadow positions" and provide an objective result.
Lot proportional to free cash (%): Only a portion of free cash is invested to meet margin requirements.
Plot Short, Plot Long: Simplifies displayed information by toggling indicator lines on/off.
Long Position (toggleable):
EMA Fast ws: Window size for FAST EMA.
EMA Slow ws: Window size for SLOW EMA.
EMA Fast down shift: Adjustment factor for FAST EMA.
Stop Loss long (%): Percent drop to close the position.
Trailer enter (%): Percent above the purchase price to activate the trailer.
Trailer offset (%): Percent drop to close the position.
Short Position (toggleable):
EMA Fast ws: Window size for FAST EMA.
EMA Slow ws: Window size for SLOW EMA.
EMA Fast up shift: Adjustment factor for FAST EMA.
Stop Loss short (%): Percent rise to close the position.
Trailer enter (%): Percent below the purchase price to activate the trailer.
Trailer offset (%): Percent rise to close the position.
Operational Framework:
If in a long position and a short EMA crossover occurs, the strategy closes the long and opens a short (flip).
If in a short position and a long EMA crossover occurs, the strategy closes the short and opens a long (flip).
A position can close in three ways:
Stop Loss
Trailer
Signal Recrossing
If none are active, the position remains open until the end of the simulation.
Observations:
Shifts significantly deviating from 1 increase overfitting risk. Recommended ranges: 0.96–0.99 (long) and 1.01–1.05 (short).
The strategy's advantage lies in risk management, crucial in leveraged futures markets. It operates with relatively low DrawDown.
Recommendations:
Bullish Market: Higher entry threshold (e.g., 6%) and larger offset (e.g., 3%).
Volatile/Sideways Market: Tighter parameters (e.g., 3%, 1%).
The method is stable, and minor parameter adjustments do not significantly impact results, helping assess overfitting: if small changes lead to drastic differences, the strategy is over-optimized.
EMA Settings: Adjust FAST and SLOW EMAs based on the asset's volatility and cyclicality.
On the crypto market, especially in the Futures market, short time periods (1–15 minutes) often show significant noise, making patterns/repetitions hard to identify. I recommend setting the interval to at least 1 hour.
I hope this contributes to your success!
DCA Buy v1Key Features
1. Selective Entry Filters
Trend Filter
Enabled through "Enable Trend Filter?" using the "EMA Length" setting to ensure entries align with prevailing trends.
Momentum Filter
Configured using "Enable Momentum Filter?" combined with "RSI Length" and "RSI Source" to detect oversold conditions.
Bollinger Filter
Activated via "Enable Bollinger Filter?" along with "BB Length" and "BB Multiplier" to focus entries on deeper price dips below Bollinger Bands.
2. DCA Configuration
Base Order Settings
Choose between a percentage ("Base Order % of Equity/Initial Capital") or fixed value ("Base Order Value ($)").
Safety Order Settings
Fine-tune "Initial Deviation (%)" and "Price Deviation Multiplier" to control the spacing of safety orders.
Use "Volume Scaling Factor (Qty)" to scale the size of each subsequent safety order.
Customize the "First Safety Order Type" as either value-based or a multiplier of the base order using "1st Safety Order Value ($)" or "1st Safety Order Multiplier (Qty)".
Set the maximum number of safety orders through "Max Safety Orders".
3. Profit and Risk Management
Take Profit Settings
"Take Profit (%)" triggers a sell when a specific profit percentage above the average entry is reached.
Use "Trailing Take Profit (%)" to lock in profits while capturing additional upside if prices continue to rise.
Stop Loss Settings
Configure "Stop Loss (%)" to prevent excessive drawdowns by closing all positions when prices drop below a defined percentage.
4. Time Control & Visualization
Time Filters
Define trading windows with "Start Time" and "End Time".
Use "Cooldown (Seconds)" to avoid frequent entries during rapid price movements.
Visualization
Enable "Show Average Entry Price", "Show Take Profit Level", and "Show Stop Loss Level" to plot key levels on the chart for better monitoring.
5. Performance Metrics
Built-in performance tracking includes:
Net Profit (%): Measures overall profitability.
Win Rate (%): Displays the ratio of winning trades.
Max Drawdown (%): Tracks the largest equity decline.
Trading Days: Calculates the duration of active trades.
Profit/Day (%): Evaluates daily returns.
The performance table also shows average cycle duration and utilization of available capital.
DCA Strategy with HedgingThis strategy implements a dynamic hedging system with Dollar-Cost Averaging (DCA) based on the 34 EMA. It can hold simultaneous long and short positions, making it suitable for ranging and trending markets.
Key Features:
Uses 34 EMA as baseline indicator
Implements hedging with simultaneous long/short positions
Dynamic DCA for position management
Automatic take-profit adjustments
Entry confirmation using 3-candle rule
How it Works
Long Entries:
Opens when price closes above 34 EMA for 3 candles
Adds positions every 0.1% price drop
Takes profit at 0.05% above average entry
Short Entries:
Opens when price closes below 34 EMA for 3 candles
Adds positions every 0.1% price rise
Takes profit at 0.05% below average entry
Settings
EMA Length: Controls the EMA period (default: 34)
DCA Interval: Price movement needed for additional entries (default: 0.1%)
Take Profit: Profit target from average entry (default: 0.05%)
Initial Position: Starting position size (default: 1.0)
Indicators
L: Long Entry
DL: Long DCA
S: Short Entry
DS: Short DCA
LTP: Long Take Profit
STP: Short Take Profit
Alerts
Compatible with all standard TradingView alerts:
Position Opens (Long/Short)
DCA Entries
Take Profit Hits
Note: This strategy works best on lower timeframes with high liquidity pairs. Adjust parameters based on asset volatility.
[3Commas] DCA Bot TesterDCA Bot Tester
🔷What it does: A tool designed to simulate the behavior of a Dollar Cost Averaging (DCA) strategy based on input signals from a source indicator. Additionally, it enables you to send activation signals to 3Commas Bots via TradingView webhooks.
🔷Who is it for: This tool is ideal for those who want a visual representation and strategy report of how a DCA Bot would perform under specific conditions. By adjusting the parameters, you can assess whether the strategy aligns with your risk/reward expectations before implementation, helping you save time and protect your capital.
🔷How does it work: The tool leverages a pyramiding function to simulate price averaging, mimicking how a DCA Bot operates. It calculates volume-based averaging and, upon reaching the target, closes the positions. Conversely, if the target isn't reached, a Stop Loss is triggered, potentially resulting in significant losses if improperly configured.
🔷Why It’s Unique
Easy visualization of DCA Bot entry and exit points according to user preferences.
DCA Bot Summary table same as the one shown in the new 3Commas interface.
Use plots from other indicators as Entry Trigger Source, with a small modification of the code.
Option to Review message format before sending Signals to 3Commas. Compatibility with Multi-Pair, and futures contract pairs.
Option to filter signals by session and day according to the user’s timezone.
👉 Before continuing with the explanation of the tool, please take a few minutes to read this information, paying special attention to the risks of using DCA strategies.
DCA Bot: What is it, how does it work, and what are its advantages and risks?
A DCA Bot is an automated tool designed to simplify and optimize your trading operations, particularly in cryptocurrencies. Based on the concept of Dollar Cost Averaging (DCA) , this bot implements scaled strategies that allow you to distribute your investments intelligently. The key lies in dividing your capital into multiple orders, known as base orders and safety orders, which are executed at different price levels depending on market conditions.
These bots are highly customizable, meaning you can adapt them to your goals and trading style, whether you're operating Long (expecting a price increase) or Short (expecting a price decrease). Their primary purpose is to reduce the impact of entries that move against the estimated direction and ensure you achieve a more favorable average price.
🔸 Key Features of DCA Bots
Customizable configuration: DCA bots allow you to adjust the size of your initial investment, the number of safety orders, and the price levels at which these orders execute. These orders can be equal or incremental, depending on your risk tolerance.
Scaled safety orders: If the asset's price moves against your position, the bot executes safety orders at strategic levels to average your entry price and increase your chances of closing in profit.
Automatic Take Profit: When the predefined profit level is reached, the bot closes the position, ensuring net gains by averaging all entries made using the DCA strategy.
Stop Loss option: To protect your capital, you can set a stop loss level that limits losses if the market moves drastically against your position.
Flexibility: Bots can integrate with 3Commas technical indicators or external signals from TradingView, allowing you to trade in any trend, whether bullish or bearish.
Support for multiple assets: You can trade cryptocurrency pairs and exchanges compatible with 3Commas, offering a wide range of possibilities to diversify your strategies.
✅ Advantages of DCA Bots
Time-saving automation: DCA bots eliminate the need for constant market monitoring, executing your trades automatically and efficiently based on predefined settings.
Favorable averages in volatile markets: By averaging your entries, the bot can offer more competitive prices even under adverse market conditions. This increases your chances of recovering a position and closing it profitably.
Advanced capital management: With customizable settings, you can adjust the size of base and safety orders to optimize capital usage and reduce risk.
Additional protection: The ability to set a stop loss ensures your losses are limited, safeguarding your capital in extreme scenarios.
⚠️ Risks of Using a DCA Bot
Requires significant capital: Safety orders can accumulate quickly if the price moves against your position. This issue is compounded if increasing amounts are used for safety orders, which can immobilize large portions of capital in adverse markets.
Markets lacking clear direction: During consolidation periods or erratic movements, the bot may generate unrealized losses and make position recovery difficult.
Opportunity cost: Investing in an asset that doesn't show favorable behavior can prevent you from seizing opportunities in other markets.
Emotional pressure: Large investments in advanced stages of the DCA strategy can cause stress, especially if an asset takes too long to reach your take profit level.
Dependence on market recovery: DCA assumes that the price will eventually move in your favor, which does not always happen, especially in assets without solid fundamentals.
📖 Key Considerations for Effectively Using a DCA Bot
Use small amounts for your base and safety orders: Setting small initial orders not only limits capital usage but also allows you to manage multiple bots simultaneously, maximizing portfolio diversification.
Capital management: Define a clear budget and never risk more than you are willing to lose. This is essential for maintaining sustainable operations.
Select assets with strong fundamentals: Apply DCA to assets you understand and that have solid fundamentals and a proven historical growth record. Additionally, analyze each cryptocurrency's fundamentals: What problem does it solve? Does it have a clear use case? Is it viable in the long term? These questions will help you make more informed decisions.
Diversification: Do not concentrate all your capital on a single asset or strategy. Spread your risk across multiple bots or assets.
Monitor regularly: While bots are automated and eliminate the need to monitor the market constantly, it is essential to monitor the bots themselves to ensure they are performing as expected. This includes reviewing their performance and making adjustments if market conditions change. Remember, the goal is to automate trades, but active bot management is crucial to avoid surprises.
A DCA Bot is a powerful tool for traders looking to automate their strategies and reduce the impact of market fluctuations. However, like any tool, its success depends on how it is configured and used. By applying solid capital management principles, carefully selecting assets, and using small amounts in your orders, you can maximize its potential and minimize risks.
🔷FEATURES & HOW TO USE
🔸Strategy: Here you must select the type of signal you are going to analyze and send signals to the DCA Bot, either Long for buy signals or Short for sell signals. This must match the Bot created in 3Commas.
🔸Add a Source Indicator for Entry Triggers
Tradingview allows us to use indicator plots as a source in other indicators, we will use this functionality so that the buy or sell signals of an indicator are processed by the DCA Bot Tester.
In this EXAMPLE we will use a simple strategy that uses a Donchian Channel (DC) and an Exponential Moving Average (EMA).
Trigger to buy or long signal will be when: the price closes above the previous upper level and the average of the upper and lower level (basis) is greater than the EMA.
Trigger sell or short signal will be when: the price closes below the previous lower level and the average of the upper and lower level (basis) is less than the EMA.
trigger_buy = ta.crossover (close,upper ) and basis > ema and barstate.isconfirmed
trigger_sell = ta.crossunder(close,lower ) and basis < ema and barstate.isconfirmed
Then we create the plots that will be used as input source in the DCA Bot Tester indicator.
When a buy condition is given the plot "🟢 Trigger Buy" will have a value of 1 otherwise it will remain at 0.
When a sell condition is given the plot "🔴 Trigger Sell" will have a value of -1 otherwise it will remain at 0.
plot(trigger_buy ? 1 : 0 , '🟢 Trigger Buy' , color = na, display = display.data_window)
plot(trigger_sell? -1 : 0 , '🔴 Trigger Sell', color = na, display = display.data_window)
Here you have the complete code so you can use it and do tests. Basically you just have to define the buy or sell conditions of your preferred indicator or strategy and then create the plots with the same format that will be used in DCA Bot Tester.
//@version=6
indicator(title="Simple Strategy Example", overlay= false)
// Indicator and Signal Triggers
length = input.int(10, title = "DC Length" , display = display.none)
length_ema = input.int(50, title = "EMA Length", display = display.none)
lower = ta.lowest (length)
upper = ta.highest(length)
ema = ta.ema (close, length_ema)
basis = math.avg (upper, lower)
plot(basis, "Basis", color = color.orange, display = display.all-display.status_line)
plot(upper, "Upper", color = color.blue , display = display.all-display.status_line)
plot(lower, "Lower", color = color.blue , display = display.all-display.status_line)
plot(ema , "EMA" , color = color.red , display = display.all-display.status_line)
candlecol = open < close ? color.teal : color.red
plotcandle(open, high, low, close, title='Candles', color = candlecol, wickcolor = candlecol, bordercolor = candlecol, display = display.pane)
trigger_buy = ta.crossover (close,upper ) and basis > ema and barstate.isconfirmed
trigger_sell = ta.crossunder(close,lower ) and basis < ema and barstate.isconfirmed
plotshape(trigger_buy ?close:na, title="Label Buy" , style=shape.labelup , location= location.belowbar, color=color.green, text="B", textcolor=color.white, display=display.pane)
plotshape(trigger_sell?close:na, title="Label Sell", style=shape.labeldown, location= location.abovebar, color=color.red , text="S", textcolor=color.white, display=display.pane)
// ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
// 👇 Plots to be used in the DCA Bot Indicator as source triggers.
// ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
plot(trigger_buy ? 1 : 0 , '🟢 Trigger Buy' , color = na, display = display.data_window)
plot(trigger_sell? -1 : 0 , '🔴 Trigger Sell', color = na, display = display.data_window)
To use the example code
Open the Pine Editor, paste the code and then click Add to chart.
Then in the Plot Entry Trigger Source option, we will select 🟢 Trigger Buy, as the plot that will give us the buy signals when it is worth 1, otherwise for the sell signals you must change the value to -1 in the Plot Entry Trigger Value and remember to change the strategy mode to Short.
🔸DCA Settings: Here you need to configure the DCA values of the strategy, you can see the meaning of each value in the Settings Section. Once you are satisfied with the tests configure the 3Commas DCA Bot with the same values so that the Summary Table matches the 3Commas Table. Pay close attention to the Total Volume that the Bot will use, according to the amount of Safety Orders you are going to execute, and that all the values in the table adapt to your risk tolerance.
🔸DCA Bot Deal Start: Once you create the Bot in 3Commas with the same settings it will give you a Deal Start Message, you must copy and paste it in this section, verify that it is the same in the summary table, this is used to be sent through tradingview alerts to the Bot and it can process the signals.
🔸DCA Bot Multi-Pair: A Multi-Pair Bot allows you to manage several pairs with a single bot, but you must specify which pair it will run on. You must activate it if you want to use the signals in a DCA Bot Multi-pair. In the text box you must enter (using the 3Commas format) the symbol for each pair before you create the alert so that the bot understands which pair to work on.
In the following image we would be configuring the indicator to send a signal to activate the bot in the BTCUSDT pair using the given format it would be USDT_BTC, but if we wanted to send a signal in another pair we must change the pair in the chart and also in the configuration, an example with ETHUSDT would be USDT_ETH. After this we could create the alert, and the Mult-Pair Bot would detect it correctly.
🔸Strategy Tester Filters: This is useful if you want to test the strategy's result on a certain time window, the indicator will only enter this range. If disabled it will use all historical data available on the chart. If you are going to use the tool to send signals, make sure to disable the Use Custom Test Period. If you want the entries to only run at a certain time and day, in that case make sure that the timezone matches the one you are using in the chart.
🔸Properties: Adjust your initial capital and exchange commission appropriately to achieve realistic results.
🔸Create alerts to trigger the DCA Bot
Check that the message is the same as the one indicated by the DCA Bot.
In the case of Multi-Pair, enable the option to add the symbol with the correct format.
When creating an alert, select Any alert() function call.
Enter the any name of the alert.
Open the Notifications tab and enable Webhook URL
Paste Webhook URL provided by 3Commas looking in the section How to use TradingView custom signals.
Done, alerts will be sent with the correct format automatically to 3Commas.
🔷 INDICATOR SETTINGS
🔸3Commas DCA Bot Settings
Strategy: Select the direction of the strategy to test Long or Short, this must be the same as the Bot created in 3Commas, so that the signals are processed properly.
DCA Bot Deal Start: Copy and paste the message for the deal start signal of the DCA Bot you created in 3Commas. This is the message that will be sent with the alert to the Bot, you must verify that it is the same as the 3Commas bot so that it can process properly so that it executes and starts the trade.
DCA Bot Multi-Pair: A Multi-Pair Bot allows you to manage several pairs with a single bot, but you must specify which pair it will run on.
DCA Bot Summary Table: Here you can activate the display of table as well as change the size, position, text color and background color.
🔸Source Indicator Settings
Plot Entry Trigger Source: Select a Plot for Entries of the Source Indicator. This refers to the Long or Short entry signal that the indicator will use as BO (Base Order).
Plot Entry Trigger Value: Value of the Source Indicator to Deal Start Condition Trigger. The default value is 1, this means that when a signal is given for example Long in the source indicator, we will use 1 or for Short -1 if there is no signal it will be 0 so it will not execute any entry, please review the example code and adjust the indicator you are going to use in the same way.
🔸DCA Settings
Base Order: The Base Order is the first order the bot will create when starting a new deal.
Safety Order: Enter the amount of funds your safety orders will use to average the cost of the asset being traded.Safety orders are also known as Dollar Cost Averaging and help when prices move in the opposite direction to your bot's take profit target.
Safety Orders Deviation %: Enter the percentage difference in price to create the first Safety Order. All Safety Orders are calculated from the price the initial Base Order was filled on the exchange account.
Safety Orders Max Count: This is the total number of Safety Orders the bot is allowed to use per deal that is opened. All Safety Orders created by the bot are placed as Limit Orders on the exchange's order book.
Safety Orders Volume Scale: The Safety Order Volume Scale is used to multiply the amount of funds used by the last Safety Order that was created. Using a larger amount of funds for Safety Orders allows your bot to be more aggressive at Dollar Cost Averaging the price of the asset being traded.
Safety Orders Step Scale: The Safety Order Step Scale is used to multiply the Price Deviation percentage used by the last Safety Order placed on the exchange account. Using a larger value here will reduce the amount of Safety Orders your bot will require to cover a larger move in price in the opposite direction to the active deal's take profit target.
Take Profit %: The Take Profit section offers tools for flexible management of target parameters: automatic profit upon reaching one or more target levels in percentage.
Stop Loss % | Use SL: To enable Stop Loss, please check the "Use SL" box. This is the percentage that price needs to move in the opposite direction to close the deal at a loss. This must be greater than the sum of the deviations from the safety orders.
🔸Strategy Tester Filters
Use Custom Test Period: When enabled signals only works in the selected time window.. If disabled it will use all historical data available on the chart.
Test Start and End: Once the Custom Test Period is enabled, here you select the start and end date that you want to analyze.
Session Filter | Days | Background: Here you can choose a time zone in which signals will be sent or your strategy will be tested, as well as the days and a background of it. It is important that you use the same timezone as your chart so that it matches.
👨🏻💻💭 If this tool helps you, don’t forget to give it a boost! Feel free to share in the comments how you're using it or if you have any questions.
_________________________________________________________________
The information and publications within the 3Commas TradingView account are not meant to be and do not constitute financial, investment, trading, or other types of advice or recommendations supplied or endorsed by 3Commas and any of the parties acting on behalf of 3Commas, including its employees, contractors, ambassadors, etc.
Forex Pair Yield Momentum This Pine Script strategy leverages yield differentials between the 2-year government bond yields of two countries to trade Forex pairs. Yield spreads are widely regarded as a fundamental driver of currency movements, as highlighted by international finance theories like the Interest Rate Parity (IRP), which suggests that currencies with higher yields tend to appreciate due to increased capital flows:
1. Dynamic Yield Spread Calculation:
• The strategy dynamically calculates the yield spread (yield_a - yield_b) for the chosen Forex pair.
• Example: For GBP/USD, the spread equals US 2Y Yield - UK 2Y Yield.
2. Momentum Analysis via Bollinger Bands:
• Yield momentum is computed as the difference between the current spread and its moving
Bollinger Bands are applied to identify extreme deviations:
• Long Entry: When momentum crosses below the lower band.
• Short Entry: When momentum crosses above the upper band.
3. Reversal Logic:
• An optional checkbox reverses the trading logic, allowing long trades at the upper band and short trades at the lower band, accommodating different market conditions.
4. Trade Management:
• Positions are held for a predefined number of bars (hold_periods), and each trade uses a fixed contract size of 100 with a starting capital of $20,000.
Theoretical Basis:
1. Yield Differentials and Currency Movements:
• Empirical studies, such as Clarida et al. (2009), confirm that interest rate differentials significantly impact exchange rate dynamics, especially in carry trade strategies .
• Higher-yields tend to appreciate against lower-yielding currencies due to speculative flows and demand for higher returns.
2. Bollinger Bands for Momentum:
• Bollinger Bands effectively capture deviations in yield momentum, identifying opportunities where price returns to equilibrium (mean reversion) or extends in trend-following scenarios (momentum breakout).
• As Bollinger (2001) emphasized, this tool adapts to market volatility by dynamically adjusting thresholds .
References:
1. Dornbusch, R. (1976). Expectations and Exchange Rate Dynamics. Journal of Political Economy.
2. Obstfeld, M., & Rogoff, K. (1996). Foundations of International Macroeconomics.
3. Clarida, R., Davis, J., & Pedersen, N. (2009). Currency Carry Trade Regimes. NBER.
4. Bollinger, J. (2001). Bollinger on Bollinger Bands.
5. Mendelsohn, L. B. (2006). Forex Trading Using Intermarket Analysis.
Buy & Hold aka. HODL StrategyThis is a simply HODL or Buy & Hold strategy, which is super useful to see the risk and reward of such a strategy.
The benefit of using this strategy is that you also get to see the Max Drawdown (Risk).
This way you can compare it to the Net Profit (Reward) and decide if it's worth it for you.
This strategy buys on the Start Date and sells either on the End Date or on the last candle if the End Date is in the future.
Remember that the strategy must close the trade (sell) otherwise you don't see any results in the Strategy Tester (this is how it works).
Engulfing Candlestick StrategyEver wondered whether the Bullish or Bearish Engulfing pattern works or has statistical significance? This script is for you. It works across all markets and timeframes.
The Engulfing Candlestick Pattern is a widely used technical analysis pattern that traders use to predict potential price reversals. It consists of two candles: a small candle followed by a larger one that "engulfs" the previous candle. This pattern is considered bullish when it occurs in a downtrend (bullish engulfing) and bearish when it occurs in an uptrend (bearish engulfing).
Statistical Significance of the Engulfing Pattern:
While many traders rely on candlestick patterns for making decisions, research on the statistical significance of these patterns has produced mixed results. A study by Dimitrios K. Koutoupis and K. M. Koutoupis (2014), titled "Testing the Effectiveness of Candlestick Chart Patterns in Forex Markets," indicates that candlestick patterns, including the engulfing pattern, can provide some predictive power, but their success largely depends on the market conditions and timeframe used. The researchers concluded that while some candlestick patterns can be useful, traders must combine them with other indicators or market knowledge to improve their predictive accuracy.
Another study by Brock, Lakonishok, and LeBaron (1992), "Simple Technical Trading Rules and the Stochastic Properties of Stock Returns," explores the profitability of technical indicators, including candlestick patterns, and finds that simple trading rules, such as those based on moving averages or candlestick patterns, can occasionally outperform a random walk in certain market conditions.
However, Jorion (1997), in his work "The Risk of Speculation: The Case of Technical Analysis," warns that the reliability of candlestick patterns, including the engulfing patterns, can vary significantly across different markets and periods. Therefore, it's important to use these patterns as part of a broader trading strategy that includes other risk management techniques and technical indicators.
Application Across Markets:
This script applies to all markets (e.g., stocks, commodities, forex) and timeframes, making it a versatile tool for traders seeking to explore the statistical effectiveness of the bullish and bearish engulfing patterns in their own trading.
Conclusion:
This script allows you to backtest and visualize the effectiveness of the Bullish and Bearish Engulfing patterns across any market and timeframe. While the statistical significance of these patterns may vary, the script provides a clear framework for evaluating their performance in real-time trading conditions. Always remember to combine such patterns with other risk management strategies and indicators to enhance their predictive power.
Daytrading ES Wick Length StrategyThis Pine Script strategy calculates the combined length of upper and lower wicks of candlesticks and uses a customizable moving average (MA) to identify potential long entry points. The strategy compares the total wick length to the MA with an added offset. If the wick length exceeds the offset-adjusted MA, the strategy enters a long position. The position is automatically closed after a user-defined holding period.
Key Features:
1. Calculates the sum of upper and lower wicks for each candlestick.
2. Offers four types of moving averages (SMA, EMA, WMA, VWMA) for analysis.
3. Allows the user to set a customizable MA length and an offset to shift the MA.
4. Automatically exits positions after a specified number of bars.
5. Visualizes the wick length as a histogram and the offset-adjusted MA as a line.
References:
• Candlestick wick analysis: Nison, S. (1991). Japanese Candlestick Charting Techniques.
• Moving averages: Brock, W., Lakonishok, J., & LeBaron, B. (1992). “Simple Technical Trading Rules and the Stochastic Properties of Stock Returns”. Journal of Finance.
This strategy is suitable for identifying candlesticks with significant volatility and long wicks, which can indicate potential trend reversals or continuations.
Up Gap Strategy with DelayThis strategy, titled “Up Gap Strategy with Delay,” is based on identifying up gaps in the price action of an asset. A gap is defined as the percentage difference between the current bar’s open price and the previous bar’s close price. The strategy triggers a long position if the gap exceeds a user-defined threshold and includes a delay period before entering the position. After entering, the position is held for a set number of periods before being closed.
Key Features:
1. Gap Threshold: The strategy defines an up gap when the gap size exceeds a specified threshold (in percentage terms). The gap threshold is an input parameter that allows customization based on the user’s preference.
2. Delay Period: After the gap occurs, the strategy waits for a delay period before initiating a long position. This delay can help mitigate any short-term volatility that might occur immediately after the gap.
3. Holding Period: Once the position is entered, it is held for a user-defined number of periods (holdingPeriods). This is to capture the potential post-gap trend continuation, as gaps often indicate strong directional momentum.
4. Gap Plotting: The strategy visually plots up gaps on the chart by placing a green label beneath the bar where the gap condition is met. Additionally, the background color turns green to highlight up-gap occurrences.
5. Exit Condition: The position is exited after the defined holding period. The strategy ensures that the position is closed after this time, regardless of whether the price is in profit or loss.
Scientific Background:
The gap theory has been widely studied in financial literature and is based on the premise that gaps in price often represent areas of significant support or resistance. According to research by Kaufman (2002), gaps in price action can be indicators of future price direction, particularly when they occur after a period of consolidation or a trend reversal. Moreover, Gaps and their Implications in Technical Analysis (Murphy, 1999) highlights that gaps can reflect imbalances between supply and demand, leading to high momentum and potential price continuation or reversal.
In trading strategies, utilizing gaps with specific conditions, such as delay and holding periods, can enhance the ability to capture significant price moves. The strategy’s delay period helps avoid potential market noise immediately after the gap, while the holding period seeks to capitalize on the price continuation that often follows gap formation.
This methodology aligns with momentum-based strategies, which rely on the persistence of trends in financial markets. Several studies, including Jegadeesh & Titman (1993), have documented the existence of momentum effects in stock prices, where past price movements can be predictive of future returns.
Conclusion:
This strategy incorporates gap detection and momentum principles, supported by empirical research in technical analysis, to attempt to capitalize on price movements following significant gaps. By waiting for a delay period and holding the position for a specified time, it aims to mitigate the risk associated with early volatility while maximizing the potential for sustained price moves.
Sunil High-Frequency Strategy with Simple MACD & RSISunil High-Frequency Strategy with Simple MACD & RSI
This high-frequency trading strategy uses a combination of MACD and RSI to identify quick market opportunities. By leveraging these indicators, combined with dynamic risk management using ATR, it aims to capture small but frequent price movements while ensuring tight control over risk.
Key Features:
Indicators Used:
MACD (Moving Average Convergence Divergence): The strategy uses a shorter MACD configuration (Fast Length of 6 and Slow Length of 12) to capture quick price momentum shifts. A MACD crossover above the signal line triggers a buy signal, while a crossover below the signal line triggers a sell signal.
RSI (Relative Strength Index): A shorter RSI length of 7 is used to gauge overbought and oversold market conditions. The strategy looks for RSI confirmation, with a long trade initiated when RSI is below the overbought level (70) and a short trade initiated when RSI is above the oversold level (30).
Risk Management:
Dynamic Stop Loss and Take Profit: The strategy uses ATR (Average True Range) to calculate dynamic stop loss and take profit levels based on market volatility.
Stop Loss is set at 0.5x ATR to limit risk.
Take Profit is set at 1.5x ATR to capture reasonable price moves.
Trailing Stop: As the market moves in the strategy’s favor, the position is protected by a trailing stop set at 0.5x ATR, allowing the strategy to lock in profits as the price moves further.
Entry & Exit Signals:
Long Entry: Triggered when the MACD crosses above the signal line (bullish crossover) and RSI is below the overbought level (70).
Short Entry: Triggered when the MACD crosses below the signal line (bearish crossover) and RSI is above the oversold level (30).
Exit Conditions: The strategy exits long or short positions based on the stop loss, take profit, or trailing stop activation.
Frequent Trades:
This strategy is designed for high-frequency trading, with trade signals occurring frequently as the MACD and RSI indicators react quickly to price movements. It works best on lower timeframes such as 1-minute, 5-minute, or 15-minute charts, but can be adjusted for different timeframes based on the asset’s volatility.
Customizable Parameters:
MACD Settings: Adjust the Fast Length, Slow Length, and Signal Length to tune the MACD’s sensitivity.
RSI Settings: Customize the RSI Length, Overbought, and Oversold levels to better match your trading style.
ATR Settings: Modify the ATR Length and multipliers for Stop Loss, Take Profit, and Trailing Stop to optimize risk management according to market volatility.
Important Notes:
Market Conditions: This strategy is designed to capture smaller, quicker moves in trending markets. It may not perform well during choppy or sideways markets.
Optimizing for Asset Volatility: Adjust the ATR multipliers based on the asset’s volatility to suit the risk-reward profile that fits your trading goals.
Backtesting: It's recommended to backtest the strategy on different assets and timeframes to ensure optimal performance.
Summary:
The Sunil High-Frequency Strategy leverages a simple combination of MACD and RSI with dynamic risk management (using ATR) to trade small but frequent price movements. The strategy ensures tight stop losses and reasonable take profits, with trailing stops to lock in profits as the price moves in favor of the trade. It is ideal for scalping or intraday trading on lower timeframes, aiming for quick entries and exits with controlled risk.
EMA Crossover with RSI and DistanceEMA Crossover with RSI and Distance Strategy
This strategy combines Exponential Moving Averages (EMA) with Relative Strength Index (RSI) and distance-based conditions to generate buy, sell, and neutral signals. It is designed to help traders identify entry and exit points based on multiple technical indicators.
Key Components:
Exponential Moving Averages (EMA):
The strategy uses four EMAs: EMA 5, EMA 13, EMA 40, and EMA 55.
A buy signal (long) is triggered when EMA 5 crosses above EMA 13 and EMA 40 crosses above EMA 55.
A sell signal (short) is generated when EMA 55 crosses above EMA 40.
The distance between EMAs (5 and 13) is also important. If the current distance between EMA 5 and EMA 13 is smaller than the average distance over the last 5 candles, a neutral condition is triggered, preventing a signal even if all other conditions are met.
Relative Strength Index (RSI):
The 14-period RSI is used to determine market strength and direction.
The strategy requires RSI to be above 50 and greater than the average RSI (over the past 14 periods) for a buy signal.
If the RSI is above 60, a green signal is given, indicating a strong bullish condition, even if the EMA conditions are not fully met.
If the RSI is below 40, a red signal is given, indicating a strong bearish condition, regardless of the EMA crossover.
Distance Conditions:
The strategy calculates the distance between EMA 5 and EMA 13 on each candle and compares it to the average distance of the last 5 candles.
If the current distance between EMA 5 and EMA 13 is lower than the average of the last 5 candles, a neutral signal is triggered. This helps avoid entering a trade when the market is losing momentum.
Additionally, if the distance between EMA 40 and EMA 13 is greater than the previous distance, the previous signal is kept intact, ensuring that the trend is still strong enough for the signal to remain valid.
Signal Persistence:
Once a buy (green) or sell (red) signal is triggered, it remains intact as long as the price is closing above EMA 5 for long trades or below EMA 55 for short trades.
If the price moves below EMA 5 for long trades or above EMA 55 for short trades, the signal is recalculated based on the most recent conditions.
Signal Display:
Green Signals: Represent a strong buy signal and are shown below the candle when the RSI is above 60.
Red Signals: Represent a strong sell signal and are shown above the candle when the RSI is below 40.
Neutral Signals: Displayed when the conditions for entry are not met, specifically when the EMA distance condition is violated.
Long and Short Signals: Additional signals are shown based on the EMA crossovers and RSI conditions. These signals are plotted below the candle for long positions and above the candle for short positions.
Trade Logic:
Long Entry: Enter a long trade when EMA 5 crosses above EMA 13, EMA 40 crosses above EMA 55, and the RSI is above 50 and greater than the average RSI. Additionally, the current distance between EMA 5 and EMA 13 should be larger than the average distance of the last 5 candles.
Short Entry: Enter a short trade when EMA 55 crosses above EMA 40 and the RSI is below 40.
Neutral Condition: If the distance between EMA 5 and EMA 13 is smaller than the average distance over the last 5 candles, the strategy will not trigger a signal, even if other conditions are met.
XT Alert Builder - [CrossTrade]The XT Alert Builder is designed to work with CrossTrade and provide an easy way to create strategy entries from Indicator signal sources.
The {{strategy.order.alert_message}} variable along with your Secret Key will send CrossTrade compatible payloads for automated order execution in NinjaTrader 8.
SIGNAL SETTINGS
1. Determine your Entry Signal Source (indicator or OHLC) for both buy and sell signals independently. You can also elect to make the strategy unidirectional by unchecking one of the signal boxes.
2. Determine your Exit Signal Type. The default is Custom which means you're using some kind of input for this like an indicator. Optionally, you can select 'Session End' which will delay the strategy exit until the last bar of the session based n the Trading End Hour/Minute you set in your Trading Hours section.
3. Determine you Exit Sources for Buy and Sells. You can mix and match these inputs for ultimate customization of entries and exits - have fun!
The strategy will by default send a CLOSEPOSITION command to the instrument and account specified based on your Exit settings and time.
TRADING HOURS
Users can specify a trading session or time window to ensure signals only occur during desired hours. The Session End exit signal is based on this window.
NINJATRADER SETTINGS
1. Your NT8 Account. Separate multiple accounts by comma for multi-account placement.
2. Your preferred NT8 instrument in NT compatible format. (e.g. ES 03-25, ES MAR25)
3. Your preferred NT8 quantity
TRADE MANAGEMENT
We've provided both options, you can either use an ATM strategy template or stop loss and take profit levels. More info on Tick and Percentage based stops and targets.
Key Points for successful Trade Management settings application:
1. The ATM template name and qty must match what's saved on Ninja
2. You can choose either ticks or percentage based application - but not both.
3. The stops and target levels need to be offset based on the directional price scale. If you're buying then the stop requires a negative sign and vise versa for Sell orders.
Buy Example:
Take Profit = 50
Stop Loss = -20
CROSSTRADE ADVANCED OPTIONS
Features such as our Flatten first, Require Market Position, Delay Timer, Rate Limiting, and Max Position command enhancements have also been included. More info on these can be found in our Help Docs.
INSTUCTIONS FOR ALERT CREATION
Remove the default info provided by the strategy and then add your CrossTrade secret key and the dynamic strategy variable {{strategy.order.alert_message}}
For example:
Key=your-secret-key;
{{strategy.order.alert_message}}
Trade well,
- CrossTrade Team
Custom Dual EMA Crossover Strategy with Configurable LogicThis strategy is designed to assist traders in identifying and capitalizing on bullish market trends through a systematic and data-driven approach. It incorporates detailed trend analysis, volatility filtering, and percentage-based thresholds to provide actionable insights and high-confidence trade setups. It leverages the Exponential Moving Average and combines it with custom logic to detect volatility, maximum allowed price movements over last bars and trend confirmation.
Key Features:
- Buy orders follow several conditions, including but not limited to:
a. EMA Crossover: specifically designed to capture immediate market shifts rather than medium- or long-term trends, ensuring responsiveness to rapidly changing conditions but requiring additional confirmations to avoid false signals (see below).
b. Thresholds in Price Changes: Ensures recent price fluctuations remain within specific thresholds, allowing trades to be entered at optimal times and avoiding delayed or unsustainable short-term bullish trends.
c. Adequate Market Volatility: Requires sufficient market activity to avoid false signals stemming from low volatility conditions.
d. Bullish Medium-Term Trend: Validates a bullish medium-term trend using an EMA crossover to avoid trading during bearish market conditions and minimize risk.
- Leverages Take profit and Stop loss levels
- Implements an optional mechanism to automatically close trades after a predefined number of bars, supporting disciplined trade management.
The script does not rely on any public scripts or indicators. Apart the EMA, all the underlying logic, including the volatility thresholds and filtering mechanisms, has been custom developed to ensure originality and precision. The strategy's conditions are all configurable by the user in the TradingView pop-up, allowing it to adapt to different assets and timeframes. For example, users can set the EMA lengths to align with long-term trends for cryptocurrencies or adjust volatility thresholds to account for the specific price movement behavior of stocks or forex pairs.
---
Recommendations:
- Identify a crypto asset with potential
- Before live trading, rigorously backtest your strategy on the chosen asset and interval over a period of at least one year*, analyzing results, refining parameters' value and eventually changing timeframe and / or asset.
- Refine your approach until you achieve consistent profitability with a high win rate. Balance the two — a high win rate is great, but only if your profits outweigh your losses in the long term.
- Once successful, remain disciplined and adhere to the parameters that yield the best results. Set up TradingView alerts to trigger real-time actions via your preferred trading bot. Alerts can be set up on the Indicator, which mirrors the strategy's logic and enables users to execute real-time actions effectively. I will provide you access to the Indicator, as well as the Strategy.
* Alternatively, you can apply the strategy to a shorter period for tactical use. While this approach may increase short-term opportunities (e.g. strong bullish short term movements), it also comes with heightened risks.
Use Cases:
- Suitable for traders focusing on bullish or range-bound markets.
- Ideal for short to medium-term trading horizons.
Access and Configuration Support:
This is an invite-only script. For access, please reach out directly for subscription details. I also provide guidance on configuring the strategy with real-world examples to optimize its use for various assets, intervals and timeframes.
---
Disclaimer:
This script is a tool to support trading decisions and does not guarantee profitability. Past performance does not indicate future results. Trading carries inherent risks; always trade responsibly and manage risk accordingly.
Omega_galskyThe strategy uses three Exponential Moving Averages (EMAs) — EMA8, EMA21, and EMA89 — to decide when to open buy or sell trades. It also includes a mechanism to move the Stop Loss (SL) to the Break-Even (BE) point, which is the entry price, once the price reaches a Risk-to-Reward (R2R) ratio of 1:1.
Key Steps:
Calculating EMAs: The script computes the EMA values for the specified periods. These help identify market trends and potential entry points.
Buy Conditions:
EMA8 crosses above EMA21.
The candle that causes the crossover is green (closing price is higher than the opening price).
The closing price is above EMA89.
If all conditions are met, a buy order is executed.
Sell Conditions:
EMA8 crosses below EMA21.
The candle that causes the crossover is red (closing price is lower than the opening price).
The closing price is below EMA89.
If all conditions are met, a sell order is executed.
Stop Loss and Take Profit:
Initial Stop Loss and Take Profit levels are calculated based on the entry price and a percentage defined by the user.
These levels help protect against large losses and lock in profits.
Break-Even Logic:
When the price moves favorably to reach a 1:1 R2R ratio:
For a buy trade, the Stop Loss is moved to the entry price if the price increases sufficiently.
For a sell trade, the Stop Loss is moved to the entry price if the price decreases sufficiently.
This ensures the trade is risk-free after the price reaches the predefined level.
Visual Representation:
The EMAs are plotted on the chart for easy visualization of trends and crossovers.
Entry and exit points are also marked on the chart to track trades.
Purpose:
The strategy is designed to capitalize on EMA crossovers while minimizing risks using Break-Even logic and predefined Stop Loss/Take Profit levels. It automates decision-making for trend-following traders and ensures disciplined risk management.
PSE, Practical Strategy EnginePSE, Practical Strategy Engine
A ready-to-use engine that is simple to connect your indicator to, simple to use, and effective at generating alerts for order-filled events during the real-time candle.
Great for
• Evaluating indicators on important metrics without the need to write a strategy script for backtesting.
• Using indicators with built-in risk management.
About The PSE
This engine accepts entry and exit signals from your indicator to provide trade signals for both long and short positions. The PSE was written for trading Funds (e.g. ETF’s), Stocks, Forex, Futures, and Cryptocurrencies. The trades on the chart indicate market, limit, and stop orders. The PSE allows for backtesting of trades along with metrics of performance based on trade-groups with many great features.
Note: A link to a video of how to connect your indicator(s) to the PSE is provided below.
Key Features
Trade-Grp’s
A Trade-Grp makes up one or more trade positions from the first position entering to the last position exiting. Using Trade-Grp’s instead of positions should help you better assess if the metric results fit your trading style.
Below are two (2) examples of a Trade-Grp with three (3) positions.
Metrics
A table of metrics is available if the “Show Metrics Table” checkbox is enabled on the Inputs tab, but metrics always show in the Data Window.
Examples of the Metrics Table are shown below.
• ROI (Return on Investment) and CAGR (Compound Annual Growth Rate) are based on the Avg Invest/Trade-Grp and are adjusted for dividends if the “Include Dividends in Profit” checkbox is enabled.
• Profit/Risked is based on Trade-Grp’s. Also known as reward/risk, as well as expectancy per amount risked. It determines the effectiveness of your strategy and provides a measure of comparison between your strategies. This is adjusted for dividends if the “Include Dividends in Profit” checkbox is enabled. In the Data Window the color is green when above the breakeven point of making a profit and red when below the breakeven point. In the Table the color is red if below the breakeven point, otherwise it is the default color. For example, using the 3 metrics tables above:
For every USD risked the profit is 1.709 USD.
For every BTC risked the profit is 0.832 BTC.
For every JPY risked the profit is 0.261 JPY.
• Winning % is based on Trade-Grp’s. In the Data Window the color is green when above the breakeven point of making a profit and red when below the breakeven point. In the Table the color is red if below the breakeven point, otherwise it is the default color.
The breakeven point is a relationship between the Profit/Risked and Winning % to indicate system profitability potential. Another way to assess trading system performance. For example, for a low Winning % a high Profit/Risked is needed for the system to be potentially profitable.
• Profit Factor (PF) is based on Trade-Grp’s. The dividend payment, if any, is not considered in the calculation of a win or loss. The “Include Dividends in Profit Factor” checkbox allows you the option to either include or not include dividends in the calculation of Profit Factor. The default is enabled.
Must enable the “Include Dividends in Profit” checkbox to include dividends in PF.
Including dividends in PF evaluates the trading strategy with a more overall profitability performance view.
Enable/Disable “Include Dividends in Profit Factor” checkbox also affects the Avg Trade-Grp Loss, and thus Equity Loss from ECL and % Equity Loss from ECL.
• Max Consecutive Losses are based on Trade-Grp’s.
• Nbr of Trade-Grp’s and Nbr of Positions.
These help you to determine if enough trades have occurred to validate your strategy. The Nbr of Positions is the count of positions on the chart. The TV list of trades in the Strategy Tester may indicate more than what is actually shown on the chart. The Data Window includes 'Nbr Strat Tester Trades', which equals the TV listing trades, to help you locate specific trades on the chart.
• Time in Market (%) is based on Trade-Grp’s and date range selected.
• Avg Invest/Trade-Grp will indicate the average amount of money invested in a Trade-Grp. This is adjusted for dividends if the “Include Dividends in Profit” checkbox is enabled.
• Equivalent Consecutive Losses, labeled as Equiv. Cons. Losses (ECL).
This value is determined by the Winning % and Nbr of Trade-Grp’s. This simulates the more likely case of a series of losses, then a small win, then another series of losses to form an equivalent consecutive losing streak. To lower the value, increase the Winning %.
• Equity Loss from ECL is the equity loss from the equivalent consecutive losses.
• % Equity Loss from ECL is the percent of equity loss from the equivalent consecutive losses.
Risk Management
• Pyramid rules enforce and maintain position sizing designated by you on the Inputs tab (% Equity to Risk, Up/Dwn Gap) & Properties tab (number of pyramids, slippage, and commission).
A pyramid position will not occur unless both its stop covers the last entry price with gap/slippage and commission cost of previous trade is covered. If take profit is enabled, a pyramid position will not occur unless commission cost of the trade is covered when take profit target is reached.
• Position sizing, stop-loss (SL), trailing stop-loss (TSL), and take profit (TP) are used.
• Wash sale prevention for applicable assets is enforced. Wash sale assets include stock and fund (e.g. ETF’s).
• No more than one entry position per candle is enforced .
Other Great Features
• Losing Trade-Grp’s indicated at the exit with label text in the color blue. Used to easily find consecutive losses affecting your strategy’s performance. The dividend payment, if any, is not considered in the calculation of a win or loss.
• Position values can be displayed on the chart. The number format is based on the min tick value, but is limited to 8 decimal places only for display purposes.
• Dividends per share and the amount can be displayed on the chart.
• Hold Days . This is the number of days to hold before allowing the next Trade-Grp. Can be a decimal number. This feature may help those trading on a cash account to avoid any settlement violations when trading the same asset.
• Date Filter. Partition the time when trading is allowed to see if the strategy works well across the date range selected. The metrics should be acceptable across all four (4) time ranges: entire range, 1st half, IQR (inter-quartile range), and 2nd half.
• Price gap amount identification. Used in determining if a pyramid entry may be profitable, and may be used in determining slippage amount to use.
• When TP is enabled, the PSE will only allow a pyramid position if the potential is profitable based on commission and price gap selected.
• Trade-Grp’s shown in background color: green for long positions and red for short positions.
• The PSE will alert you to update your stop-loss as the market changes if your exchange/broker does not allow for trailing stop-loss orders. Enable this option on the Inputs tab with Alert Chg TSL.
• The PSE will alert you if your drawdown exceeds Max % Equity Drawdown set on the Inputs tab.
• The PSE will send an alert to warn you of an expiring GTC order.
Some brokers will indicate the order is GTC, Good 'Till Cancelled, but there really is a time limit on the order and is typically 60-120 days. Therefore, the PSE will alert you if you've been in position for close to 60 days so you can refresh your order. The alert is typically a few days before the 60-day time period.
• For order fill alerts just use a {{placeholder}} in the Message of the alert. Details on how to enter placeholders is explained below.
• Identify same bar enter/exit for first entries and pyramids. This is shown in the Data Window as well. This can help you determine what stop-loss % works best for your trading style.
• Leverage trading information is displayed in the Data Window and applies to Trade-Grps.
Failed PosSize or Margin (%): Shows a zero if the failed-to-trade position size was less than 1 or shows the margin % which failed to meet the margin requirement set in the Properties tab. A flag will show on the bar where a failed-to-trade occurred. This is only applicable to the first position of a Trade-Grp. Position the cursor over the flag for the value to show in the Data Window.
Notional Value: total Trade-Grp position size x latest entry price x point value. The equity must be > notional value x margin requirement for a trade to occur.
Current Margin (%): must be greater than margin requirement set on the Properties tab in order for a trade to occur.
Margin Call Price: when enabled on the Style tab is displayed on both the chart and the Data Window as shown below.
PSE Settings
Pyramids
• Pyramiding requires the Stop Method to be set to either TSL or Both (meaning SL & TSL).
• The maximum number of pyramids is determined by the value entered in the Properties tab.
• Pyramid orders require the enter price to be higher than the previous close for Longs and lower than the previous close for Shorts.
• Pyramids also require the stop with gap/slippage to be higher than the last entry price for Longs, and lower than the last entry price for Shorts. This covers all previous positions and maintains position sizing.
• When take profit, TP, is enabled, the pyramids also require that they will be profitable when opening a position assuming they will reach TP. This is automatically adjusted by you with the Dwn Gap/Up Gap, Slippage, and Commission settings.
Inputs Tab
General Settings
Color Traded Background
Enable to change background color where in a trade. Green for long positions and red for short positions.
Show Losing Trade-Grp
Enable to show if losing Trade-Grp and is indicated by text in blue color. The last position may be at a loss, but if there was profit for the Trade-Grp, then it will not be shown as a loss .
Show Position Values
Enable to show the currency value of each position in gold color.
Include Dividends in Profit
This feature is only applicable if the asset pays dividends and the time frame period of the chart is 1D or less, otherwise ignored. The PSE assumes dividends are taken as cash and not reinvested.
Enable to adjust ROI, CAGR, Profit/Risked, Avg Invest/Trade-Grp, and Equity to include dividend payments. This feature considers if you were in position at least one day prior to the ex-dividend date and had not exited until after the ex-dividend date.
When Show Dividends is enabled it will display the payout in currency/share, as well as the total amount based on the number of shares the position(s) of the Trade-Grp are currently holding.
Include Dividends in Profit Factor
This checkbox allows you the option to either include or not include dividends in the calculation of Profit Factor. Must enable the “Include Dividends in Profit” checkbox to include dividends in PF. The dividend payment, if any, is not considered in the calculation of a win or loss.
Show Metrics Table
Options are font size and table location.
Alert Failed to Trade
Enable for the strategy to alert you when a trade did not happen due to low equity or low order size. Applicable only for the first position of a Trade-Grp.
Trade Direction
Options are 'Longs Only', 'Both', 'Shorts Only'.
Hold Days
This is the number of days to hold before allowing the next Trade-Grp. Applies only to the first trade position of a Trade-Grp. Where a Trade-Grp consists of the first position plus any pyramid positions.
The value entered will be overwritten to >= 31 to prevent wash sale for applicable assets in the event the last Trade-Grp was a loss. Wash sale assets include stock and fund (i.e. ETF’s).
The minimum value is the equivalent of 1 candle and is automatically assigned by the PSE if the entered value is equivalent to less than one candle. To calculate Hold Days in # of candles on the Hour chart divide the chart period by 24 x #candles. On the Minute chart divide the chart period by 60 then by 24 x #candles.
Show Vertical Lines at From Date & To Date
Shows a vertical dotted line at the From Date and To Date for visual inspection of the setting.
Date Filter
When enabled, trades are allowed between the From Date and To Date, i.e., the date range.
When disabled, trades are allowed for all candles.
Partition the time when trading is allowed to see if your indicator settings work well across the date range. Click 1st Half, IQR (inter-quartile range), or 2nd Half buttons to trade a portion of the date range.
Select only one at-a-time to partition the time when trading is allowed.
When 1st Half is enabled only trades for the 1st half of the date range are allowed.
When IQR is enabled only trades for the inter-quartile date range are allowed.
When 2nd Half is enabled only trades for the 2nd half of the date range are allowed.
Position Sizing
The % of Equity to Risk has been separated into two (2) areas: for initial trades and for pyramid trades. This allows for greater ability to maximize profits within your acceptable drawdown. A variation of the Anti-Martingale method from the initial trade if you choose to use it in that manner.
% Equity to Risk for Initial Trades: enter the percent of equity you want to risk per position for the initial trades of each Trade-Grp. For example, for 1% enter 1.
% Equity to Risk for Pyramid Trades: enter the percent of equity you want to risk per position for the pyramid trades of each Trade-Grp. For example, for 2% enter 2.
% Equity for Max Position Size: the position size will not exceed this amount. For example, for 25% enter 25.
Max % Equity Drawdown Warning: an alert will be triggered if the maximum drawdown exceeds this v alue. For example, for 10% enter 10.
Stop Methods
NOTE: The Stop Method must be either Both or TSL in order for the pyramids to work. This feature enforces position sizing.
Stop-loss, SL, and trailing stop-loss, TSL, are other features that enforce risk management.
The trailing stop-loss, TSL, is activated immediately if Stop Method = TSL. If Stop Method = Both, then the TSL is activated when its value is above stop-loss, SL, for Longs and below the SL for Shorts.
The calculated TSL value (shown on the chart by + symbol) of the previous bar is used for the current bar and the plot value is off by default, but you can it turn on via the Style tab. This is available so you can better understand how the TSL value used was calculated from. It is beneficial to show when monitoring the real-time candle.
Alert Chg TSL
When enabled, this feature will alert you to update your stop price if it moves greater than the change amount in %. The amount is the absolute % so will work for both Longs and Shorts. For example, for 1% enter 1 . This is provided since some exchanges/brokers do not offer TSL orders and you must manually adjust as price action plays out.
The alert will also suggest a stop limit price based on the gap selected and explained below.
The alert will occur at the close of the candle at the calculated TSL value of the candle just prior to the real-time candle.
Dwn Gap/Up Gap Input Settings
A price gap is the difference between the closing price of the previous candle and the opening price of the current candle. Dwn Gap and Up Gap are illustrated here.
The values of the Dwn Gap and Up Gap can be seen in the Data Window and are based on the settings of the Date Filter.
The options are “zero gap”, "median gap", "avg gap", "80 pct gap", "90 pct gap". The X pct gap stands for X percentile rank. For example, "80 pct gap" means that 80% of the gaps are less than or equal to the value shown in the Data Window. Select “zero gap” to disable this feature.
If Show Stop Limit is enabled, it will show a dotted-line below or above the current stop price where a stop-limit order should be taken. It is shown based on the gap option selected. Again, the PSE trades market, limit, and stop orders, but a stop-limit may be shown if you wanted to see where one would be set using the Up/Dwn Gap.
Dwn Gap: Affects Short Take Profit, Long Pyramid Entries, and to show the Long Stop Limit.
Up Gap : Affects Long Take Profit, Short Pyramid Entries, and to show the Short Stop Limit.
Fixed Take Profit (TP)
When take profit (TP) is enabled, the PSE will determine if opening a pyramid position will be in profit assuming the TP will be hit while considering commission costs (on Properties tab).
The larger of Up Gap or Slippage value is used with Long positions regarding TP.
The larger of Dwn Gap or Slippage value is used with Short positions regarding TP.
Properties Tab
• Initial Capital: Set as desired.
• Base Currency: Leave as Default. The PSE is designed to use the instrument’s currency, therefore leave as Default.
• Order Size: Leave as default. This setting has been disabled and position sizing is handled on the Inputs tab and is based on % of equity.
• Pyramiding: Set as desired.
• Commission: Set as number %. The PSE is designed to only work with commission as a percent of the position value.
• Verify Price for Limit Orders: Set as desired.
Slippage
Adjust Slippage on the Properties tab to account for a realistic bid-ask spread. You can use one of Dwn/Up Gap values or other guidelines. Again, the Dwn/Up Gap values are based on the Date Filter input settings.
Heed warnings from the TradingView Pine Script™ manual about values entered into the Slippage field.
The Slippage (ticks) have a noticeable influence on entry price and exit price especially at the beginning when the date range includes prices from $0.01 to $100,000.00 like that for BTC-USD INDEX. When this is the case, it is best to use different slippage values when partitioning time with the Date Filter.
To minimize the effects of slippage, yet account for it select ‘median gap’ on the Input Tab and use that value for slippage on the Properties tab.
The slippage value is included in the placeholder {{strategy.order.price}}.
Leverage Trading
The PSE is designed to be used both without leverage (the default) and with leverage.
These two settings apply to Trade-Grps. For example, for 5x leverage enter 20 (1/5x100=20).
Margin for Long Positions: Set as desired. The default is 100%.
Margin for Short Positions: Set as desired. The default is 100%.
This setting on the Inputs tab applies to each trade position within a Trade-Grp.
Max % Equity per Position: Set as desired. The default is 20% and intended for non-leverage trading. For leverage trading set as desired. For example, for 3x leverage enter 300 (3x100=300).
Recalculate After Order Is Filled
The PSE uses the strategy parameter calc_on_order_fills=true to allow for enter/exit on the same bar and generate alerts immediately after an order is filled. This parameter is on the Properties tab and is named ‘Recalculate After order is filled’ and is enabled by default.
Disabling this feature will cause the PSE to not work as intended.
You will see the following Caution! on the TV Strategy Tester
This occurs because the PSE has the strategy parameter calc_on_order_fills = true.
Again, the PSE will only work as intended if this parameter is enabled and set to true.
Therefore, you can close the caution sign and be confident of receiving realistic results.
Recalculate On every tick: Disable.
Fill Orders
• Using bar magnifier: Set as desired.
• On Bar Close: Disable. The PSE will not work as intended if this is enabled.
• Using Standard OHLC: Set as desired.
Using The Alert Message Box From TV Strategy Alert
Set alerts to gain access to all the alerts from PSE. This allows for both order filled alerts, as well as the alert function calls related to refresh GTC orders, drawdown exceeded, update stop-loss order, and Failed to Trade.
Example Message for Manual Trading Alerts
(This is just an example. Consult TV manual for possible placeholders to use.)
{
Alert for {{plot("position_for_alert")}} position. (long = 1; short = -1)
{{exchange}}:{{ticker}} on TF of {{interval}} at Broker Name
{{strategy.order.action}} Equity x Equity_Multiplier USD in shares at price = {{strategy.order.price}},
where Equity_Multiplier = {{strategy.order.contracts}} x {{strategy.order.price}} / {{plot("Equity")}}
or {{strategy.order.action}} {{strategy.order.contracts}} shares at price = {{strategy.order.price}}.
}
Note: Use the Equity x Equity_Multiplier method if you have several accounts with different initial capital.
Example Message for Bot Trading Alerts
(You must consult your specific bot for configuring the alert message. This is just an example.)
{
"action": "{{strategy.order.action}}",
“price”: {{strategy.order.price}}
"amount": {{strategy.order.contracts}},
"botId": "1234"
}
Connecting to the PSE
The diagram below illustrates how to connect indicators to the PSE.
The Aroon and MACD indicators are only used here as an example. Substitute your own indicators and add as many as you like.
Connection Indicator for the PSE
A video of how to connect your indicator(s) to the PSE is below.
The Connection Indicator for the PSE, also called here the connection-indicator.
Below is a description of how to connect your chosen indicators to the connection-indicator. Two (2) indicators were chosen for the example, but you may have one (1) or many indicators.
If you have source code access to your indicators you can paste the code directly into the connection-indicator to eliminate the need to have those indicators on the chart and the additional connection of them to the connection-indicator. Below will assume source code to the indicators are not available.
The MACD and Aroon Oscillator are from TV built standard indicators and are shown here just as an example for inputs (i.e. source) to the connection-indicator. They were configured as follows:
The source code for the connection-indicator is shown below. Substitute your own chosen indicators and add as many as you like to create your connection-indicator that feeds into the PSE. The MACD and Aroon Oscillator were simply chosen as an example. Configure your connection-indicator in the manner shown below.
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at mozilla.org
// This is just an example Indicator to show how to interface with the PSE.
// The indicators used in the example are standard TV built indicators.
//@version=5
indicator(title="Connection Indicator for the PSE", overlay=false, max_lines_count=500, max_labels_count=500, max_boxes_count=500)
// Ind_1 INDICATOR ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// This is just and example and used MACD histogram as the source.
Filter_Ind_1 = input.bool(false, 'Ind_1', group='Ind_1 INDICATOR ~~~~~~~~~~~~~~~~~', tooltip='Click ON to enable the indicator')
input_Ind_1 = input.source(title = "input_Ind_1", defval = close, group='Ind_1 INDICATOR ~~~~~~~~~~~~~~~~~')
Entry_Ind_1_Long = Filter_Ind_1 ? input_Ind_1 > 0 ? 1 : 0 : 0
Entry_Ind_1_Short = Filter_Ind_1 ? input_Ind_1 < 0 ? 1 : 0 : 0
Exit_Ind_1_Long = Entry_Ind_1_Short
Exit_Ind_1_Short = Entry_Ind_1_Long
// Ind_2 INDICATOR ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// This is just an example and used Aroon Oscillator as the source. Included limits to use with the oscillator to determine enter and exit.
Filter_Ind_2 = input.bool(false, "Ind_2", group='Ind_2 INDICATOR ~~~~~~~~~~~~~~', tooltip='Click ON to enable the indicator')
Filter_Ind_2_Limit = input.int(35, minval=0, step=5, group='Ind_2 INDICATOR ~~~~~~~~~~~~~~')
Filter_Ind_2_UL = Filter_Ind_2_Limit
Filter_Ind_2_LL = -Filter_Ind_2_Limit
up = input.source(title = "input_Ind_2A Up", defval = close, group='Ind_2 INDICATOR ~~~~~~~~~~~~~~')
down = input.source(title = "input_Ind_2B Down", defval = close, group='Ind_2 INDICATOR ~~~~~~~~~~~~~~')
oscillator = up - down
Entry_Ind_2_Long = Filter_Ind_2? oscillator > Filter_Ind_2_UL ? 1 : 0 : 0
Entry_Ind_2_Short = Filter_Ind_2? oscillator < Filter_Ind_2_LL ? 1 : 0 : 0
Exit_Ind_2_Long = Entry_Ind_2_Short
Exit_Ind_2_Short = Entry_Ind_2_Long
//#region ~~~~~~~ASSEMBLY OF FILTERS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
// You may have as many indicators as you like. Assemble them in similar fashion as below.
// ——————— Assembly of Entry Filters
Nbr_Entries = input.int(1, minval=1, title='Min Nbr Entries', inline='nbr_in_out', group='Assembly of Indicators')
// Update the assembly based on the number of indicators connected.
EntryLongOK = Entry_Ind_1_Long + Entry_Ind_2_Long >= Nbr_Entries? true: false
EntryShortOK = Entry_Ind_1_Short + Entry_Ind_2_Short >= Nbr_Entries? true: false
entry_signal = EntryLongOK ? 1 : EntryShortOK ? -1 : 0
plot(entry_signal, title="Entry_Signal", color=color.new(color.blue, 0))
// ——————— Assembly of Exit Filters
Nbr_Exits = input.int(1, minval=1, title='Min Nbr of Exits', inline='nbr_in_out', group='Assembly of Indicators', tooltip='Enter the minimum number of entries & exits
required for a signal.')
// Update the assembly based on the number of indicators connected.
ExitLongOK = Exit_Ind_1_Long + Exit_Ind_2_Long >= Nbr_Exits? true: false
ExitShortOK = Exit_Ind_1_Short + Exit_Ind_2_Short >= Nbr_Exits? true: false
exit_signal = ExitLongOK ? 1 : ExitShortOK ? -1 : 0
plot(exit_signal, title="Exit_Signal", color=color.new(color.red, 0))
//#endregion ~~~~~~~END OF ASSEMBLY OF FILTERS ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}
The input box for the connection-indicator is shown below. The default for input source is “close”. For Input_Ind_1 click the dropdown and select the MACD Histogram. For Input_Ind_2 click the dropdown and select Aroon Up and Aroon Down as shown.
Signal Connection Section of PSE
Below is a description of how to connect your chosen indicators to the PSE from the connection-indicator.
At the PSE Input tab, the Signal Connection Section is where you select the source of the Entry and Exit Signal to the PSE. These are the outputs from connection-indicator.
The default source is “close”. Click the dropdown and select the entry and exit signal to establish a connection as shown below.
IU Higher Timeframe MA Cross StrategyIU Higher Timeframe MA Cross Strategy
The IU Higher Timeframe MA Cross Strategy is a versatile trading tool designed to identify trend by utilizing two customizable moving averages (MAs) across different timeframes and types. This strategy includes detailed entry and exit rules with fully configurable inputs, offering flexibility to suit various trading styles.
Key Features:
- Two moving averages (MA1 and MA2) with customizable types, lengths, sources, and timeframes.
- Both long and short trade setups based on MA crossovers.
- Integrated risk management with adjustable stop-loss and take-profit levels based on a user-defined risk-to-reward (RTR) ratio.
- Clear visualization of MAs, entry points, stop-loss, and take-profit zones.
Inputs:
1. Risk-to-Reward Ratio (RTR):
- Defines the take-profit level in relation to the stop-loss distance. Default is 2.
2. MA1 Settings:
- Source: Select the data source for calculating MA1 (e.g., close, open, high, low). Default is close.
- Timeframe: Specify the timeframe for MA1 calculation. Default is 60 (60-minute chart).
- Length: Set the lookback period for MA1 calculation. Default is 20.
- Type: Choose the type of moving average (options: SMA, EMA, SMMA, WMA, VWMA). Default is EMA.
- Smooth: Option to enable or disable smoothing of MA1 to merge gaps. Default is true.
3. MA2 Settings:
- Source: Select the data source for calculating MA2 (e.g., close, open, high, low). Default is close.
- Timeframe: Specify the timeframe for MA2 calculation. Default is 60 (60-minute chart).
- Length: Set the lookback period for MA2 calculation. Default is 50.
- Type: Choose the type of moving average (options: SMA, EMA, SMMA, WMA, VWMA). Default is EMA.
- Smooth: Option to enable or disable smoothing of MA2 to merge gaps. Default is true.
Entry Rules:
- Long Entry:
- Triggered when MA1 crosses above MA2 (crossover).
- Entry is confirmed only when the bar is closed and no existing position is active.
- Short Entry:
- Triggered when MA1 crosses below MA2 (crossunder).
- Entry is confirmed only when the bar is closed and no existing position is active.
Exit Rules:
- Stop-Loss:
- For long positions: Set at the low of the bar preceding the entry.
- For short positions: Set at the high of the bar preceding the entry.
- Take-Profit:
- For long positions: Calculated as (Entry Price - Stop-Loss) * RTR + Entry Price.
- For short positions: Calculated as Entry Price - (Stop-Loss - Entry Price) * RTR.
Visualization:
- Plots MA1 and MA2 on the chart with distinct colors for easy identification.
- Highlights stop-loss and take-profit levels using shaded zones for clear visual representation.
- Displays the entry level for active positions.
This strategy provides a robust framework for traders to identify and act on trend reversals while maintaining strict risk management. The flexibility of its inputs allows for seamless customization to adapt to various market conditions and trading preferences.
HOD/LOD/PMH/PML/PDH/PDL Strategy by @tradingbauhaus This script is a trading strategy @tradingbauhaus designed to trade based on key price levels, such as the High of Day (HOD), Low of Day (LOD), Premarket High (PMH), Premarket Low (PML), Previous Day High (PDH), and Previous Day Low (PDL). Below, I’ll explain in detail what the script does:
Core Functionality of the Script:
Calculates Key Price Levels:
HOD (High of Day): The highest price of the current day.
LOD (Low of Day): The lowest price of the current day.
PMH (Premarket High): The highest price during the premarket session (before the market opens).
PML (Premarket Low): The lowest price during the premarket session.
PDH (Previous Day High): The highest price of the previous day.
PDL (Previous Day Low): The lowest price of the previous day.
Draws Horizontal Lines on the Chart:
Plots horizontal lines on the chart for each key level (HOD, LOD, PMH, PML, PDH, PDL) with specific colors for easy visual identification.
Defines Entry and Exit Rules:
Long Entry (Buy): If the price crosses above the PMH (Premarket High) or the PDH (Previous Day High).
Short Entry (Sell): If the price crosses below the PML (Premarket Low) or the PDL (Previous Day Low).
Long Exit: If the price reaches the HOD (High of Day) during a long position.
Short Exit: If the price reaches the LOD (Low of Day) during a short position.
How the Script Works Step by Step:
Calculates Key Levels:
Uses the request.security function to fetch the HOD and LOD of the current day, as well as the highs and lows of the previous day (PDH and PDL).
Calculates the PMH and PML during the premarket session (before 9:30 AM).
Plots Levels on the Chart:
Uses the plot function to draw horizontal lines on the chart representing the key levels (HOD, LOD, PMH, PML, PDH, PDL).
Each level has a specific color for easy identification:
HOD: White.
LOD: Purple.
PDH: Orange.
PDL: Blue.
PMH: Green.
PML: Red.
Defines Trading Rules:
Uses conditions with ta.crossover and ta.crossunder to detect when the price crosses key levels.
Long Entry: If the price crosses above the PMH or PDH, a long position (buy) is opened.
Short Entry: If the price crosses below the PML or PDL, a short position (sell) is opened.
Long Exit: If the price reaches the HOD during a long position, the position is closed.
Short Exit: If the price reaches the LOD during a short position, the position is closed.
Executes Orders Automatically:
Uses the strategy.entry and strategy.close functions to open and close positions automatically based on the defined rules.
Advantages of This Strategy:
Based on Key Levels: Uses important price levels that often act as support and resistance.
Easy to Visualize: Horizontal lines on the chart make it easy to identify levels.
Automated: Entries and exits are executed automatically based on the defined rules.
Limitations of This Strategy:
Dependent on Volatility: Works best in markets with significant price movements.
False Crosses: There may be false crosses that generate incorrect signals.
No Advanced Risk Management: Does not include dynamic stop-loss or take-profit mechanisms.
How to Improve the Strategy:
Add Stop-Loss and Take-Profit: To limit losses and lock in profits.
Filter Signals with Indicators: Use RSI, MACD, or other indicators to confirm signals.
Optimize Levels: Adjust key levels based on the asset’s behavior.
In summary, this script is a trading strategy that operates based on key price levels, such as HOD, LOD, PMH, PML, PDH, and PDL. It is useful for traders who want to trade based on significant support and resistance levels.
Gold Trade Setup Strategy
Title: Profitable Gold Setup Strategy with Adaptive Moving Average & Supertrend
Introduction:
This trading strategy for Gold (XAU/USD) combines the Adaptive Moving Average (AMA) and Supertrend, tailored for high-probability setups during specific trading hours. The AMA identifies the trend, while the Supertrend confirms entry and exit points. The strategy is optimized for swing and intraday traders looking to capitalize on Gold’s price movements with precise trade timing.
Strategy Components:
1. Adaptive Moving Average (AMA):
• Reacts dynamically to market conditions, filtering noise in choppy markets.
• Serves as the primary trend indicator.
2. Supertrend:
• Confirms entry signals with clear buy and sell levels.
• Acts as a trailing stop-loss to protect profits.
Trading Rules:
Trading Hours:
• Only take trades between 8:30 AM and 10:30 PM IST.
• Avoid trading outside these hours to reduce noise and low-volume setups.
Buy Setup:
1. Trend Confirmation: The Adaptive Moving Average (AMA) must be green.
2. Signal Confirmation: The Supertrend should turn green after the AMA is green.
3. Trigger: Take the trade when the high of the trigger candle (the candle that turned Supertrend green) is broken.
Sell Setup (Optional if included):
• Reverse the rules for a short trade: AMA and Supertrend should both indicate bearish conditions (red), and take the trade when the low of the trigger candle is broken.
Stop-Loss and Targets:
• Place the stop-loss at the low of the trigger candle for long trades.
• Set a 1:2 risk-reward ratio or use the Supertrend line as a trailing stop-loss.
Timeframes:
• Recommended timeframes: 1H, 4H, or Daily for swing trading.
• For intraday trading, use 15-minute or 30-minute charts.
Why This Strategy Works:
• Combines trend-following (AMA) with momentum-based entries (Supertrend).
• Focused trading hours filter out low-probability setups.
• Provides precise entry, stop-loss, and target levels for disciplined trading.
Conclusion:
This Gold Setup Strategy is designed for traders seeking a structured approach to trading Gold. Follow the rules strictly, backtest the strategy extensively, and share your results. Let’s master the Gold market together!
Tags: #Gold #XAUUSD #SwingTrading #Intraday #Supertrend #AMA #TechnicalAnalysis #GoldStrategy