chart Pattern & Candle sticks Strategy# **XAUUSD Pattern & Candle Strategy - Complete Description**
## **Overview**
This Pine Script indicator is a comprehensive multi-factor trading system specifically designed for **XAUUSD (Gold) scalping and swing trading**. It combines classical technical analysis methods including candlestick patterns, chart patterns, moving averages, and volume analysis to generate high-probability buy/sell signals with automatic stop-loss and take-profit levels.
***
## **Core Components**
### **1. Moving Average System (Triple MA)**
**Purpose:** Identifies trend direction and momentum
- **Fast MA (20-period)** - Short-term price action
- **Medium MA (50-period)** - Intermediate trend
- **Slow MA (200-period)** - Long-term trend direction
**How it works:**
- **Bullish alignment**: MA20 > MA50 > MA200 (all pointing up)
- **Bearish alignment**: MA20 < MA50 < MA200 (all pointing down)
- **Crossover signals**: When Fast MA crosses Medium MA, it triggers buy/sell signals
- **Choice of SMA or EMA**: Adjustable based on preference
**Visual indicators:**
- Blue line = Fast MA
- Orange line = Medium MA
- Light red line = Slow MA
- Green background tint = Bullish trend
- Red background tint = Bearish trend
---
### **2. Candlestick Pattern Recognition (13 Patterns)**
**Purpose:** Identifies reversal and continuation signals based on price action
#### **Bullish Patterns (Signal potential upward moves):**
1. **Hammer** 🔨
- Long lower wick (2x body size)
- Small body at top
- Indicates rejection of lower prices (buyers stepping in)
- Best at support levels
2. **Inverted Hammer**
- Long upper wick
- Small body at bottom
- Shows buying pressure despite initial selling
3. **Bullish Engulfing** 📈
- Green candle completely engulfs previous red candle
- Strong reversal signal
- Body must be 1.2x larger than previous
4. **Morning Star** ⭐
- 3-candle pattern
- Red candle → Small indecision candle → Large green candle
- Powerful reversal at bottoms
5. **Piercing Line** ⚡
- Green candle closes above 50% of previous red candle
- Indicates strong buying interest
6. **Bullish Marubozu**
- Almost no wicks (95% body)
- Very strong bullish momentum
- Body must be 1.3x average size
#### **Bearish Patterns (Signal potential downward moves):**
7. **Shooting Star** 💫
- Long upper wick
- Small body at bottom
- Indicates rejection of higher prices (sellers in control)
- Best at resistance levels
8. **Hanging Man**
- Similar to hammer but appears at top
- Warning of potential reversal down
9. **Bearish Engulfing** 📉
- Red candle completely engulfs previous green candle
- Strong reversal signal
10. **Evening Star** 🌙
- 3-candle pattern (opposite of Morning Star)
- Green → Small → Large red candle
- Powerful top reversal
11. **Dark Cloud Cover** ☁️
- Red candle closes below 50% of previous green candle
- Indicates strong selling pressure
12. **Bearish Marubozu**
- Almost no wicks, pure red body
- Very strong bearish momentum
#### **Neutral Pattern:**
13. **Doji**
- Open and close nearly equal (tiny body)
- Indicates indecision
- Often precedes major moves
**Detection Logic:**
- Compares body size, wick ratios, and position relative to previous candles
- Uses 14-period average body size as reference
- All patterns validated against volume confirmation
***
### **3. Chart Pattern Recognition**
**Purpose:** Identifies major support/resistance and reversal patterns
#### **Patterns Detected:**
**Double Bottom** 📊 (Bullish)
- Two lows at approximately same level
- Indicates strong support
- Breakout above neckline triggers buy signal
- Most reliable at major support zones
**Double Top** 📊 (Bearish)
- Two highs at approximately same level
- Indicates strong resistance
- Breakdown below neckline triggers sell signal
- Most reliable at major resistance zones
**Support & Resistance Levels**
- Automatically plots recent pivot highs (resistance)
- Automatically plots recent pivot lows (support)
- Uses 3-bar strength for validation
- Levels shown as dashed horizontal lines
**Price Action Patterns**
- **Uptrend detection**: Higher highs + higher lows
- **Downtrend detection**: Lower highs + lower lows
- Confirms overall market structure
***
### **4. Volume Analysis**
**Purpose:** Confirms signal strength and filters false signals
**Metrics tracked:**
- **Volume MA (20-period)**: Baseline average volume
- **High volume threshold**: 1.5x the volume average
- **Volume increase**: Current volume > previous 2 bars
**How it's used:**
- All buy/sell signals **require volume confirmation**
- High volume = institutional participation
- Low volume signals are filtered out
- Prevents whipsaw trades during quiet periods
**Visual indicator:**
- Dashboard shows "High" volume in orange when active
- "Normal" shown in gray during low volume
***
### **5. Signal Generation Logic**
**BUY SIGNALS triggered when ANY of these occur:**
1. **Candlestick + Volume**
- Bullish candle pattern detected
- High volume confirmation
- Price above Fast MA
2. **MA Crossover + Volume**
- Fast MA crosses above Medium MA
- High volume confirmation
3. **Double Bottom Breakout**
- Price breaks above support level
- Volume confirmation present
4. **Trend Continuation**
- Uptrend structure intact (higher highs/lows)
- All MAs in bullish alignment
- Price above Fast MA
- Volume confirmation
**SELL SIGNALS triggered when ANY of these occur:**
1. **Candlestick + Volume**
- Bearish candle pattern detected
- High volume confirmation
- Price below Fast MA
2. **MA Crossunder + Volume**
- Fast MA crosses below Medium MA
- High volume confirmation
3. **Double Top Breakdown**
- Price breaks below resistance level
- Volume confirmation present
4. **Trend Continuation**
- Downtrend structure intact (lower highs/lows)
- All MAs in bearish alignment
- Price below Fast MA
- Volume confirmation
***
### **6. Risk Management System**
**Automatic Stop Loss Calculation:**
- Based on ATR (Average True Range) - 14 periods
- **Formula**: Entry price ± (ATR × SL Multiplier)
- **Default multiplier**: 1.5 (adjustable)
- Adapts to market volatility automatically
**Automatic Take Profit Calculation:**
- **Formula**: Entry price ± (ATR × TP Multiplier)
- **Default multiplier**: 2.5 (adjustable)
- **Default Risk:Reward ratio**: 1:1.67
- Higher TP multiplier = more aggressive targets
**Position Management:**
- Tracks ONE position at a time (no pyramiding)
- Automatically closes position when:
- Stop loss is hit
- Take profit is reached
- Opposite MA crossover occurs
- Prevents revenge trading and over-leveraging
**Visual Representation:**
- **Red horizontal line** = Stop Loss level
- **Green horizontal line** = Take Profit level
- Lines remain on chart while position is active
- Automatically disappear when position closes
***
### **7. Visual Elements**
**On-Chart Displays:**
1. **Moving Average Lines**
- Fast MA (Blue, thick)
- Medium MA (Orange, thick)
- Slow MA (Red, thin)
2. **Support/Resistance**
- Green crosses = Support levels
- Red crosses = Resistance levels
3. **Buy/Sell Arrows**
- Large GREEN "BUY" label below bars
- Large RED "SELL" label above bars
4. **Pattern Labels** (Small markers)
- "Hammer", "Bull Engulf", "Morning Star" (green, below bars)
- "Shooting Star", "Bear Engulf", "Evening Star" (red, above bars)
- "Double Bottom" / "Double Top" (blue/orange)
5. **Signal Detail Labels** (Medium size)
- Shows signal reason (e.g., "Bullish Candle", "MA Cross Up")
- Displays Entry, SL, and TP prices
- Color-coded (green for long, red for short)
6. **Background Coloring**
- Light green tint = Bullish MA alignment
- Light red tint = Bearish MA alignment
***
### **8. Information Dashboard**
**Top-right corner table showing:**
| Metric | Description |
|--------|-------------|
| **Position** | Current trade status (LONG/SHORT/None) |
| **MA Trend** | Overall trend direction (Bullish/Bearish/Neutral) |
| **Volume** | Current volume status (High/Normal) |
| **Pattern** | Last detected candlestick pattern |
| **ATR** | Current volatility measurement |
**Purpose:**
- Quick at-a-glance market assessment
- Real-time position tracking
- No need to check multiple indicators
***
### **9. Alert System**
**Complete alert coverage for:**
✅ **Entry Alerts**
- "Buy Signal" - Triggers when buy conditions met
- "Sell Signal" - Triggers when sell conditions met
✅ **Exit Alerts**
- "Long TP Hit" - Take profit reached on long position
- "Long SL Hit" - Stop loss triggered on long position
- "Short TP Hit" - Take profit reached on short position
- "Short SL Hit" - Stop loss triggered on short position
**How to use:**
1. Click "Create Alert" button
2. Select desired alert from dropdown
3. Set notification method (popup, email, SMS, webhook)
4. Never miss a trade opportunity
***
## **Recommended Settings**
### **For Scalping (Quick trades):**
- **Timeframe**: 5-minute
- **Fast MA**: 9
- **Medium MA**: 21
- **Slow MA**: 50
- **SL Multiplier**: 1.0
- **TP Multiplier**: 2.0
- **Volume Threshold**: 1.5x
### **For Swing Trading (Longer holds):**
- **Timeframe**: 1-hour or 4-hour
- **Fast MA**: 20
- **Medium MA**: 50
- **Slow MA**: 200
- **SL Multiplier**: 2.0
- **TP Multiplier**: 3.0
- **Volume Threshold**: 1.3x
### **Best Trading Hours for XAUUSD:**
- **Asian Session**: 00:00 - 08:00 GMT (lower volatility)
- **London Session**: 08:00 - 16:00 GMT (high volatility) ⭐
- **New York Session**: 13:00 - 21:00 GMT (highest volume) ⭐
- **London-NY Overlap**: 13:00 - 16:00 GMT (BEST for scalping) 🔥
***
## **How to Use This Strategy**
### **Step 1: Setup**
1. Open TradingView
2. Load XAUUSD chart
3. Select timeframe (5m, 15m, 1H, or 4H)
4. Add indicator from Pine Editor
5. Adjust settings based on your trading style
### **Step 2: Wait for Signals**
- Watch for GREEN "BUY" or RED "SELL" labels
- Check the signal reason in the detail label
- Verify dashboard shows favorable conditions
- Confirm volume is "High" (not required but preferred)
### **Step 3: Enter Trade**
- Enter at market or limit order near signal price
- Note the displayed Entry, SL, and TP prices
- Set your broker's SL/TP to match indicator levels
### **Step 4: Manage Position**
- Watch for SL/TP lines on chart
- Monitor dashboard for trend changes
- Exit manually if opposite MA crossover occurs
- Let SL/TP do their job (don't move them!)
### **Step 5: Review & Learn**
- Track win rate over 20+ trades
- Adjust multipliers if needed
- Note which patterns work best for you
- Refine entry timing
***
## **Key Advantages**
✅ **Multi-confirmation approach** - Reduces false signals significantly
✅ **Automatic risk management** - No manual calculation needed
✅ **Adapts to volatility** - ATR-based SL/TP adjusts to market conditions
✅ **Volume filtered** - Ensures institutional participation
✅ **Visual clarity** - Easy to understand at a glance
✅ **Complete alert system** - Never miss opportunities
✅ **Pattern education** - Learn patterns as they appear
✅ **Works on all timeframes** - Scalping to swing trading
***
## **Limitations & Considerations**
⚠️ **Not a holy grail** - No strategy wins 100% of trades
⚠️ **Requires practice** - Demo trade first to understand signals
⚠️ **Market conditions matter** - Works best in trending or volatile markets
⚠️ **News events** - Avoid trading during major economic releases
⚠️ **Slippage on 5m** - Fast markets may have execution delays
⚠️ **Pattern subjectivity** - Some patterns may trigger differently than expected
***
## **Risk Management Rules**
1. **Never risk more than 1-2% per trade**
2. **Maximum 3 positions per day** (avoid overtrading)
3. **Don't trade during major news** (NFP, FOMC, etc.)
4. **Use proper position sizing** (0.01 lot per $100 for micro accounts)
5. **Keep trade journal** (track patterns, win rate, mistakes)
6. **Stop trading after 3 consecutive losses** (psychological reset)
7. **Don't move stop loss further away** (accept losses)
8. **Take partial profits** at 1:1 R:R if desired
***
## **Expected Performance**
**Realistic expectations:**
- **Win rate**: 50-65% (depending on market conditions and timeframe)
- **Risk:Reward**: 1:1.67 default (adjustable to 1:2 or 1:3)
- **Signals per day**: 3-8 on 5m, 1-3 on 1H
- **Best months**: High volatility periods (news events, economic uncertainty)
- **Drawdowns**: Expect 3-5 losing trades in a row occasionally
***
## **Customization Options**
All inputs are adjustable in settings panel:
**Moving Averages:**
- Type (SMA or EMA)
- All three period lengths
**Volume:**
- Volume MA length
- High volume multiplier threshold
**Chart Patterns:**
- Pattern strength (bars for pivot detection)
- Show/hide pattern labels
**Risk Management:**
- ATR period
- Stop loss multiplier
- Take profit multiplier
**Display:**
- Toggle pattern labels
- Customize colors (in code)
***
## **Conclusion**
This is a **professional-grade, multi-factor trading system** that combines the best of classical technical analysis with modern risk management. It's designed to give clear, actionable signals while automatically handling the complex calculations of stop loss and take profit levels.
**Best suited for traders who:**
- Understand basic technical analysis
- Can follow rules consistently
- Prefer systematic approach over gut feeling
- Want visual confirmation before entering trades
- Value proper risk management
**Start with demo trading** for at least 20-30 trades to understand how the signals work in different market conditions. Once comfortable and profitable on demo, transition to live trading with minimal risk per trade.
Happy trading! 📈🎯
In den Scripts nach "tp" suchen
Alpha - Combined BreakoutThis Pine Script indicator, "Alpha - Combined Breakout," is a combination between Smart Money Breakout Signals and UT Bot Alert, The UT Bot Alert indicator was initially developer by Yo_adriiiiaan
The idea of original code belongs HPotter.
This Indicator helps you identify potential trading opportunities by combining two distinct strategies: Smart Money Breakout and a modified UT Bot (likely a variation of the Ultimate Trend Bot). It provides visual signals, draws lines for potential take profit (TP) and stop loss (SL) levels, and includes a dashboard to track performance metrics.
Tutorial:
Understanding and Using the "Alpha - Combined Breakout" Indicator
This indicator is designed for traders looking for confirmation of market direction and potential entry/exit points by blending structural analysis with a trend-following oscillator.
How it Works (General Concept)
The indicator combines two main components:
Smart Money Breakout: This part identifies significant breaks in market structure, which "smart money" traders often use to gauge shifts in supply and demand. It looks for higher highs/lows or lower highs/lows and flags when these structural points are broken.
UT Bot: This is a trend-following component that generates buy and sell signals based on price action relative to an Average True Range (ATR) based trailing stop.
You can choose to use these signals independently or combined to generate trading alerts and visual cues on your chart. The dashboard provides a quick overview of how well the signals are performing based on your chosen settings and display mode.
Parameters and What They Do
Let's break down each input parameter:
1. Smart Money Inputs
These settings control how the indicator identifies market structure and breakouts.
swingSize (Market Structure Time-Horizon):
What it does: This integer value defines the number of candles used to identify significant "swing" (pivot) points—highs and lows.
Effect: A larger swingSize creates a smoother market structure, focusing on longer-term trends. This means signals might appear less frequently and with some delay but could be more reliable for higher timeframes or broader market movements. A smaller swingSize will pick up more minor market structure changes, leading to more frequent but potentially noisier signals, suitable for lower timeframes or scalping.
Analogy: Think of it like a zoom level on your market structure map. Higher values zoom out, showing only major mountain ranges. Lower values zoom in, showing every hill and bump.
bosConfType (BOS Confirmation Type):
What it does: This string input determines how a Break of Structure (BOS) is confirmed. You have two options:
'Candle Close': A breakout is confirmed only if a candle's closing price surpasses the previous swing high (for bullish) or swing low (for bearish).
'Wicks': A breakout is confirmed if any part of the candle (including its wick) surpasses the previous swing high or low.
Effect: 'Candle Close' provides stronger, more conservative confirmation, as it implies sustained price movement beyond the structure. 'Wicks' provides earlier, more aggressive signals, as it captures momentary breaches of the structure.
Analogy: Imagine a wall. 'Candle Close' means the whole person must get over the wall. 'Wicks' means even a finger touching over the top counts as a breach.
choch (Show CHoCH):
What it does: A boolean (true/false) input to enable or disable the display of "Change of Character" (CHoCH) labels. CHoCH indicates the first structural break against the current dominant trend.
Effect: When true, it helps identify early signs of a potential trend reversal, as it marks where the market's "character" (its tendency to make higher highs/lows or lower lows/highs) first changes.
BULL (Bullish Color) & BEAR (Bearish Color):
What they do: These color inputs allow you to customize the visual appearance of bullish and bearish signals and lines drawn by the Smart Money component.
Effect: Purely cosmetic, helps with visual identification on the chart.
sm_tp_sl_multiplier (SM TP/SL Multiplier (ATR)):
What it does: A float value that acts as a multiplier for the Average True Range (ATR) to calculate the Take Profit (TP) and Stop Loss (SL) levels specifically when you're in "Smart Money Only" mode. It uses the ATR calculated by the UT Bot's nLoss_ut as its base.
Effect: A higher multiplier creates wider TP/SL levels, potentially leading to fewer trades but larger wins/losses. A lower multiplier creates tighter TP/SL levels, potentially leading to more frequent but smaller wins/losses.
2. UT Bot Alerts Inputs
These parameters control the behavior and sensitivity of the UT Bot component.
a_ut (UT Key Value (Sensitivity)):
What it does: This integer value adjusts the sensitivity of the UT Bot.
Effect: A higher value makes the UT Bot less sensitive to price fluctuations, resulting in fewer and potentially more reliable signals. A lower value makes it more sensitive, generating more signals, which can include more false signals.
Analogy: Like a noise filter. Higher values filter out more noise, keeping only strong signals.
c_ut (UT ATR Period):
What it does: This integer sets the look-back period for the Average True Range (ATR) calculation used by the UT Bot. ATR measures market volatility.
Effect: This period directly influences the calculation of the nLoss_ut (which is a_ut * xATR_ut), thus defining the distance of the trailing stop loss and take profit levels. A longer period makes the ATR smoother and less reactive to sudden price spikes. A shorter period makes it more responsive.
h_ut (UT Signals from Heikin Ashi Candles):
What it does: A boolean (true/false) input to determine if the UT Bot calculations should use standard candlestick data or Heikin Ashi candlestick data.
Effect: Heikin Ashi candles smooth out price action, often making trends clearer and reducing noise. Using them for UT Bot signals can lead to smoother, potentially delayed signals that stay with a trend longer. Standard candles are more reactive to raw price changes.
3. Line Drawing Control Buttons
These crucial boolean inputs determine which type of signals will trigger the drawing of TP/SL/Entry lines and flags on your chart. They act as a priority system.
drawLinesUtOnly (Draw Lines: UT Only):
What it does: If checked (true), lines and flags will only be drawn when the UT Bot generates a buy/sell signal.
Effect: Isolates UT Bot signals for visual analysis.
drawLinesSmartMoneyOnly (Draw Lines: Smart Money Only):
What it does: If checked (true), lines and flags will only be drawn when the Smart Money Breakout logic generates a bullish/bearish breakout.
Effect: Overrides drawLinesUtOnly if both are checked. Isolates Smart Money signals.
drawLinesCombined (Draw Lines: UT & Smart Money (Combined)):
What it does: If checked (true), lines and flags will only be drawn when both a UT Bot signal AND a Smart Money Breakout signal occur on the same bar.
Effect: Overrides both drawLinesUtOnly and drawLinesSmartMoneyOnly if checked. Provides the strictest entry criteria for line drawing, looking for strong confluence.
Dashboard Metrics Explained
The dashboard provides performance statistics based on the lines drawing control button selected. For example, if "Draw Lines: UT Only" is active, the dashboard will show stats only for UT Bot signals.
Total Signals: The total number of buy or sell signals generated by the selected drawing mode.
TP1 Win Rate: The percentage of signals where the price reached Take Profit 1 (TP1) before hitting the Stop Loss.
TP2 Win Rate: The percentage of signals where the price reached Take Profit 2 (TP2) before hitting the Stop Loss.
TP3 Win Rate: The percentage of signals where the price reached Take Profit 3 (TP3) before hitting the Stop Loss. (Note: TP1, TP2, TP3 are in order of distance from entry, with TP3 being furthest.)
SL before any TP rate: This crucial metric shows the number of times the Stop Loss was hit / the percentage of total signals where the stop loss was triggered before any of the three Take Profit levels were reached. This gives you a clear picture of how often a trade resulted in a loss without ever moving into profit target territory.
Short Tutorial: How to Use the Indicator
Add to Chart: Open your TradingView chart, go to "Indicators," search for "Alpha - Combined Breakout," and add it to your chart.
Access Settings: Once added, click the gear icon next to the indicator name on your chart to open its settings.
Choose Your Signal Mode:
For UT Bot only: Uncheck "Draw Lines: Smart Money Only" and "Draw Lines: UT & Smart Money (Combined)". Ensure "Draw Lines: UT Only" is checked.
For Smart Money only: Uncheck "Draw Lines: UT Only" and "Draw Lines: UT & Smart Money (Combined)". Ensure "Draw Lines: Smart Money Only" is checked.
For Combined Signals: Check "Draw Lines: UT & Smart Money (Combined)". This will override the other two.
Adjust Parameters:
Start with default settings. Observe how the signals appear on your chosen asset and timeframe.
Refine Smart Money: If you see too many "noisy" market structure breaks, increase swingSize. If you want earlier breakouts, try "Wicks" for bosConfType.
Refine UT Bot: Adjust a_ut (Sensitivity) to get more or fewer UT Bot signals. Change c_ut (ATR Period) if you want larger or smaller TP/SL distances. Experiment with h_ut to see if Heikin Ashi smoothing suits your trading style.
Adjust TP/SL Multiplier: If using "Smart Money Only" mode, fine-tune sm_tp_sl_multiplier to set appropriate risk/reward levels.
Interpret Signals & Lines:
Buy/Sell Flags: These indicate the presence of a signal based on your selected drawing mode.
Entry Line (Blue Solid): This is where the signal was generated (usually the close price of the signal candle).
SL Line (Red/Green Solid): Your calculated stop loss level.
TP Lines (Dashed): Your three calculated take profit levels (TP1, TP2, TP3, where TP3 is the furthest target).
Smart Money Lines (BOS/CHoCH): These lines indicate horizontal levels where market structure breaks occurred. CHoCH labels might appear at the first structural break against the prior trend.
Monitor Dashboard: Pay attention to the dashboard in the top right corner. This dynamically updates to show the win rates for each TP and, crucially, the "SL before any TP rate." Use these statistics to evaluate the effectiveness of the indicator's signals under your current settings and chosen mode.
*
Set Alerts (Optional): You can set up alerts for any of the specific signals (UT Bot Long/Short, Smart Money Bullish/Bearish, or the "Line Draw" combined signals) to notify you when they occur, even if you're not actively watching the chart.
By following this tutorial, you'll be able to effectively use and customize the "Alpha - Combined Breakout" indicator to suit your trading strategy.
SMA Strategy Builder: Create & Prove Profitability📄 Pine Script Strategy Description (For Publishing on TradingView)
🎯 Strategy Title:
SMA Strategy Builder: Create & Prove Profitability
✨ Description:
This tool is designed for traders who want to build, customize, and prove their own SMA-based trading strategies. The strategy tracks capital growth in real-time, providing clear evidence of profitability after each trade. Users can adjust key parameters such as SMA period, take profit levels, and initial capital, making it a flexible solution for backtesting and strategy validation.
🔍 Key Features:
✅ SMA-Based Logic:
Core trading logic revolves around the Simple Moving Average (SMA).
SMA period is fully adjustable to suit various trading styles.
🎯 Customizable Take Profit (TP):
User-defined TP percentages per position.
TP line displayed as a Step Line with Breaks for clear segmentation.
Visual 🎯TP label for quick identification of profit targets.
💵 Capital Tracking (Proof of Profitability):
Initial capital is user-defined.
Capital balance updates after each closed trade.
Shows both absolute profit/loss and percentage changes for every position.
Darker green profit labels for better readability and dark red for losses.
📈 Capital Curve (Performance Visualization):
Capital growth curve available (hidden by default, can be enabled via settings).
📏 Dynamic Label Positioning:
Label positions adjust dynamically based on the price range.
Ensures consistent visibility across low and high-priced assets.
⚡ How It Works:
Long Entry:
Triggered when the price crosses above the SMA.
TP level is calculated as a user-defined percentage above the entry price.
Short Entry:
Triggered when the price crosses below the SMA.
TP level is calculated as a user-defined percentage below the entry price.
TP Execution:
Positions close immediately once the TP level is reached (no candle close confirmation needed).
🔔 Alerts:
🟩 Long Signal Alert: When the price crosses above the SMA.
🟥 Short Signal Alert: When the price crosses below the SMA.
🎯 TP Alert: When the TP target is reached.
⚙️ Customization Options:
📅 SMA Period: Choose the moving average period that best fits your strategy.
🎯 Take Profit (%): Adjust TP percentages for flexible risk management.
💵 Initial Capital: Set the starting capital for realistic backtesting.
📈 Capital Curve Toggle: Enable or disable the capital curve to track overall performance.
🌟 Why Use This Tool?
🔧 Flexible Strategy Creation: Adjust core parameters and create tailored SMA-based strategies.
📈 Performance Proof: Capital tracking acts as real proof of profitability after each trade.
🎯 Immediate TP Execution: No waiting for candle closures; profits lock in as soon as targets are hit.
💹 Comprehensive Performance Insights: Percentage-based and absolute capital tracking with dynamic visualization.
🏦 Clean Visual Indicators: Strategy insights made clear with dynamic labeling and adjustable visuals.
⚠️ Disclaimer:
This script is provided for educational and informational purposes only. Trading financial instruments carries risk, and past performance does not guarantee future results. Always perform your own due diligence before making any trading decisions.
Milvetti_Pineconnector_LibraryLibrary "Milvetti_Pineconnector_Library"
This library has methods that provide practical signal transmission for Pineconnector.Developed By Milvetti
buy(licenseId, symbol, risk, sl, tp, beTrigger, beOffset, trailTrig, trailDist, trailStep, atrTimeframe, atrTrigger, atrPeriod, atrMultiplier, atrShift, spread, accFilter, secret, comment)
Create a buy order message
Parameters:
licenseId (string) : License Id. This is a unique identifier found in the Pineconnector Licensing Dashboard.
symbol (string) : Symbol. Default is syminfo.ticker
risk (float) : Risk. Function depends on the “Volume Type” selected in the EA
sl (float) : StopLoss. Place stop-loss. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
tp (float) : TakeProfit. Place take-profit. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
beTrigger (float) : Breakeven will be activated after the position gains this number of pips. Ensure > 0
beOffset (float) : Offset from entry price. 0 means the SL will be placed exactly at entry price. 1 means 1 pip above the entry price for buy trades and 1 pip below for sell trades.
trailTrig (int) : Trailing stop-loss will be activated after a trade gains this number of pips. Default is 0(inactive)
trailDist (int) : SL will be opened at traildist after trailtrig is met, even if you do not have a SL placed.. Default is 0(inactive)
trailStep (int) : Moves trailing stop-loss once price moves to favourable by a specified number of pips. Default is 0(inactive)
atrTimeframe (string) : ATR Trailing Stop will be based on the specified timeframe in minutes and will only update once per bar close. Default is Timeframe.Period
atrTrigger (float) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default is 0(inactive)
atrPeriod (int) : ATR averaging period. Default is 0
atrMultiplier (float) : Multiple of ATR to utilise in the new SL computation. Default is 1
atrShift (float) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default is 0
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips. Default is 0(inactive)
accFilter (float) : Enter the position only if the account requirement is met. Default is 0(inactive)
secret (string)
comment (string) : Comment. Add a string into the order’s comment section. Default is "Symbol+Timeframe"
sell(licenseId, symbol, risk, sl, tp, beTrigger, beOffset, trailTrig, trailDist, trailStep, atrTimeframe, atrTrigger, atrPeriod, atrMultiplier, atrShift, spread, accFilter, secret, comment)
Create a buy order message
Parameters:
licenseId (string) : License Id. This is a unique identifier found in the Pineconnector Licensing Dashboard.
symbol (string) : Symbol. Default is syminfo.ticker
risk (float) : Risk. Function depends on the “Volume Type” selected in the EA
sl (float) : StopLoss. Place stop-loss. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
tp (float) : TakeProfit. Place take-profit. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
beTrigger (float) : Breakeven will be activated after the position gains this number of pips. Ensure > 0
beOffset (float) : Offset from entry price. 0 means the SL will be placed exactly at entry price. 1 means 1 pip above the entry price for buy trades and 1 pip below for sell trades.
trailTrig (int) : Trailing stop-loss will be activated after a trade gains this number of pips. Default is 0(inactive)
trailDist (int) : SL will be opened at traildist after trailtrig is met, even if you do not have a SL placed.. Default is 0(inactive)
trailStep (int) : Moves trailing stop-loss once price moves to favourable by a specified number of pips. Default is 0(inactive)
atrTimeframe (string) : ATR Trailing Stop will be based on the specified timeframe in minutes and will only update once per bar close. Default is Timeframe.Period
atrTrigger (float) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default is 0(inactive)
atrPeriod (int) : ATR averaging period. Default is 0
atrMultiplier (float) : Multiple of ATR to utilise in the new SL computation. Default is 1
atrShift (float) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default is 0
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips. Default is 0(inactive)
accFilter (float) : Enter the position only if the account requirement is met. Default is 0(inactive)
secret (string)
comment (string) : Comment. Add a string into the order’s comment section. Default is "Symbol+Timeframe"
buyLimit(licenseId, symbol, pending, risk, sl, tp, beTrigger, beOffset, trailTrig, trailDist, trailStep, atrTimeframe, atrTrigger, atrPeriod, atrMultiplier, atrShift, spread, accFilter, secret, comment)
Create a buy limit order message
Parameters:
licenseId (string) : License Id. This is a unique identifier found in the Pineconnector Licensing Dashboard.
symbol (string) : Symbol. Default is syminfo.ticker
pending (float) : Computing pending order entry price. EA Options: Pips, Specified Price, Percentage
risk (float) : Risk. Function depends on the “Volume Type” selected in the EA
sl (float) : StopLoss. Place stop-loss. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
tp (float) : TakeProfit. Place take-profit. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
beTrigger (float) : Breakeven will be activated after the position gains this number of pips. Ensure > 0
beOffset (float) : Offset from entry price. 0 means the SL will be placed exactly at entry price. 1 means 1 pip above the entry price for buy trades and 1 pip below for sell trades.
trailTrig (int) : Trailing stop-loss will be activated after a trade gains this number of pips. Default is 0(inactive)
trailDist (int) : SL will be opened at traildist after trailtrig is met, even if you do not have a SL placed.. Default is 0(inactive)
trailStep (int) : Moves trailing stop-loss once price moves to favourable by a specified number of pips. Default is 0(inactive)
atrTimeframe (string) : ATR Trailing Stop will be based on the specified timeframe in minutes and will only update once per bar close. Default is Timeframe.Period
atrTrigger (float) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default is 0(inactive)
atrPeriod (int) : ATR averaging period. Default is 0
atrMultiplier (float) : Multiple of ATR to utilise in the new SL computation. Default is 1
atrShift (float) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default is 0
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips. Default is 0(inactive)
accFilter (float) : Enter the position only if the account requirement is met. Default is 0(inactive)
secret (string)
comment (string) : Comment. Add a string into the order’s comment section. Default is "Symbol+Timeframe"
buyStop(licenseId, symbol, pending, risk, sl, tp, beTrigger, beOffset, trailTrig, trailDist, trailStep, atrTimeframe, atrTrigger, atrPeriod, atrMultiplier, atrShift, spread, accFilter, secret, comment)
Create a buy stop order message
Parameters:
licenseId (string) : License Id. This is a unique identifier found in the Pineconnector Licensing Dashboard.
symbol (string) : Symbol. Default is syminfo.ticker
pending (float) : Computing pending order entry price. EA Options: Pips, Specified Price, Percentage
risk (float) : Risk. Function depends on the “Volume Type” selected in the EA
sl (float) : StopLoss. Place stop-loss. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
tp (float) : TakeProfit. Place take-profit. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
beTrigger (float) : Breakeven will be activated after the position gains this number of pips. Ensure > 0
beOffset (float) : Offset from entry price. 0 means the SL will be placed exactly at entry price. 1 means 1 pip above the entry price for buy trades and 1 pip below for sell trades.
trailTrig (int) : Trailing stop-loss will be activated after a trade gains this number of pips. Default is 0(inactive)
trailDist (int) : SL will be opened at traildist after trailtrig is met, even if you do not have a SL placed.. Default is 0(inactive)
trailStep (int) : Moves trailing stop-loss once price moves to favourable by a specified number of pips. Default is 0(inactive)
atrTimeframe (string) : ATR Trailing Stop will be based on the specified timeframe in minutes and will only update once per bar close. Default is Timeframe.Period
atrTrigger (float) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default is 0(inactive)
atrPeriod (int) : ATR averaging period. Default is 0
atrMultiplier (float) : Multiple of ATR to utilise in the new SL computation. Default is 1
atrShift (float) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default is 0
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips. Default is 0(inactive)
accFilter (float) : Enter the position only if the account requirement is met. Default is 0(inactive)
secret (string)
comment (string) : Comment. Add a string into the order’s comment section. Default is "Symbol+Timeframe"
sellLimit(licenseId, symbol, pending, risk, sl, tp, beTrigger, beOffset, trailTrig, trailDist, trailStep, atrTimeframe, atrTrigger, atrPeriod, atrMultiplier, atrShift, spread, accFilter, secret, comment)
Create a sell limit order message
Parameters:
licenseId (string) : License Id. This is a unique identifier found in the Pineconnector Licensing Dashboard.
symbol (string) : Symbol. Default is syminfo.ticker
pending (float) : Computing pending order entry price. EA Options: Pips, Specified Price, Percentage
risk (float) : Risk. Function depends on the “Volume Type” selected in the EA
sl (float) : StopLoss. Place stop-loss. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
tp (float) : TakeProfit. Place take-profit. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
beTrigger (float) : Breakeven will be activated after the position gains this number of pips. Ensure > 0
beOffset (float) : Offset from entry price. 0 means the SL will be placed exactly at entry price. 1 means 1 pip above the entry price for buy trades and 1 pip below for sell trades.
trailTrig (int) : Trailing stop-loss will be activated after a trade gains this number of pips. Default is 0(inactive)
trailDist (int) : SL will be opened at traildist after trailtrig is met, even if you do not have a SL placed.. Default is 0(inactive)
trailStep (int) : Moves trailing stop-loss once price moves to favourable by a specified number of pips. Default is 0(inactive)
atrTimeframe (string) : ATR Trailing Stop will be based on the specified timeframe in minutes and will only update once per bar close. Default is Timeframe.Period
atrTrigger (float) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default is 0(inactive)
atrPeriod (int) : ATR averaging period. Default is 0
atrMultiplier (float) : Multiple of ATR to utilise in the new SL computation. Default is 1
atrShift (float) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default is 0
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips. Default is 0(inactive)
accFilter (float) : Enter the position only if the account requirement is met. Default is 0(inactive)
secret (string)
comment (string) : Comment. Add a string into the order’s comment section. Default is "Symbol+Timeframe"
sellStop(licenseId, symbol, pending, risk, sl, tp, beTrigger, beOffset, trailTrig, trailDist, trailStep, atrTimeframe, atrTrigger, atrPeriod, atrMultiplier, atrShift, spread, accFilter, secret, comment)
Create a sell stop order message
Parameters:
licenseId (string) : License Id. This is a unique identifier found in the Pineconnector Licensing Dashboard.
symbol (string) : Symbol. Default is syminfo.ticker
pending (float) : Computing pending order entry price. EA Options: Pips, Specified Price, Percentage
risk (float) : Risk. Function depends on the “Volume Type” selected in the EA
sl (float) : StopLoss. Place stop-loss. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
tp (float) : TakeProfit. Place take-profit. Computation is based on the Target Type selected in the EA. Default is 0(inactive)
beTrigger (float) : Breakeven will be activated after the position gains this number of pips. Ensure > 0
beOffset (float) : Offset from entry price. 0 means the SL will be placed exactly at entry price. 1 means 1 pip above the entry price for buy trades and 1 pip below for sell trades.
trailTrig (int) : Trailing stop-loss will be activated after a trade gains this number of pips. Default is 0(inactive)
trailDist (int) : SL will be opened at traildist after trailtrig is met, even if you do not have a SL placed.. Default is 0(inactive)
trailStep (int) : Moves trailing stop-loss once price moves to favourable by a specified number of pips. Default is 0(inactive)
atrTimeframe (string) : ATR Trailing Stop will be based on the specified timeframe in minutes and will only update once per bar close. Default is Timeframe.Period
atrTrigger (float) : Activate the trigger of ATR Trailing after market moves favourably by a number of pips. Default is 0(inactive)
atrPeriod (int) : ATR averaging period. Default is 0
atrMultiplier (float) : Multiple of ATR to utilise in the new SL computation. Default is 1
atrShift (float) : Relative shift of price information, 0 uses latest candle, 1 uses second last, etc. Default is 0
spread (float) : Enter the position only if the spread is equal or less than the specified value in pips. Default is 0(inactive)
accFilter (float) : Enter the position only if the account requirement is met. Default is 0(inactive)
secret (string)
comment (string) : Comment. Add a string into the order’s comment section. Default is "Symbol+Timeframe"
Trading IQ - ICT LibraryLibrary "ICTlibrary"
Used to calculate various ICT related price levels and strategies. An ongoing project.
Hello Coders!
This library is meant for sourcing ICT related concepts. While some functions might generate more output than you require, you can specify "Lite Mode" as "true" in applicable functions to slim down necessary inputs.
isLastBar(userTF)
Identifies the last bar on the chart before a timeframe change
Parameters:
userTF (simple int) : the timeframe you wish to calculate the last bar for, must be converted to integer using 'timeframe.in_seconds()'
Returns: bool true if bar on chart is last bar of higher TF, dalse if bar on chart is not last bar of higher TF
necessaryData(atrTF)
returns necessaryData UDT for historical data access
Parameters:
atrTF (float) : user-selected timeframe ATR value.
Returns: logZ. log return Z score, used for calculating order blocks.
method gradBoxes(gradientBoxes, idColor, timeStart, bottom, top, rightCoordinate)
creates neon like effect for box drawings
Namespace types: array
Parameters:
gradientBoxes (array) : an array.new() to store the gradient boxes
idColor (color)
timeStart (int) : left point of box
bottom (float) : bottom of box price point
top (float) : top of box price point
rightCoordinate (int) : right point of box
Returns: void
checkIfTraded(tradeName)
checks if recent trade is of specific name
Parameters:
tradeName (string)
Returns: bool true if recent trade id matches target name, false otherwise
checkIfClosed(tradeName)
checks if recent closed trade is of specific name
Parameters:
tradeName (string)
Returns: bool true if recent closed trade id matches target name, false otherwise
IQZZ(atrMult, finalTF)
custom ZZ to quickly determine market direction.
Parameters:
atrMult (float) : an atr multiplier used to determine the required price move for a ZZ direction change
finalTF (string) : the timeframe used for the atr calcuation
Returns: dir market direction. Up => 1, down => -1
method drawBos(id, startPoint, getKeyPointTime, getKeyPointPrice, col, showBOS, isUp)
calculates and draws Break Of Structure
Namespace types: array
Parameters:
id (array)
startPoint (chart.point)
getKeyPointTime (int) : the actual time of startPoint, simplystartPoint.time
getKeyPointPrice (float) : the actual time of startPoint, simplystartPoint.price
col (color) : color of the BoS line / label
showBOS (bool) : whether to show label/line. This function still calculates internally for other ICT related concepts even if not drawn.
isUp (bool) : whether BoS happened during price increase or price decrease.
Returns: void
method drawMSS(id, startPoint, getKeyPointTime, getKeyPointPrice, col, showMSS, isUp, upRejections, dnRejections, highArr, lowArr, timeArr, closeArr, openArr, atrTFarr, upRejectionsPrices, dnRejectionsPrices)
calculates and draws Market Structure Shift. This data is also used to calculate Rejection Blocks.
Namespace types: array
Parameters:
id (array)
startPoint (chart.point)
getKeyPointTime (int) : the actual time of startPoint, simplystartPoint.time
getKeyPointPrice (float) : the actual time of startPoint, simplystartPoint.price
col (color) : color of the MSS line / label
showMSS (bool) : whether to show label/line. This function still calculates internally for other ICT related concepts even if not drawn.
isUp (bool) : whether MSS happened during price increase or price decrease.
upRejections (array)
dnRejections (array)
highArr (array) : array containing historical highs, should be taken from the UDT "necessaryData" defined above
lowArr (array) : array containing historical lows, should be taken from the UDT "necessaryData" defined above
timeArr (array) : array containing historical times, should be taken from the UDT "necessaryData" defined above
closeArr (array) : array containing historical closes, should be taken from the UDT "necessaryData" defined above
openArr (array) : array containing historical opens, should be taken from the UDT "necessaryData" defined above
atrTFarr (array) : array containing historical atr values (of user-selected TF), should be taken from the UDT "necessaryData" defined above
upRejectionsPrices (array) : array containing up rejections prices. Is sorted and used to determine selective looping for invalidations.
dnRejectionsPrices (array) : array containing down rejections prices. Is sorted and used to determine selective looping for invalidations.
Returns: void
method getTime(id, compare, timeArr)
gets time of inputted price (compare) in an array of data
this is useful when the user-selected timeframe for ICT concepts is greater than the chart's timeframe
Namespace types: array
Parameters:
id (array) : the array of data to search through, to find which index has the same value as "compare"
compare (float) : the target data point to find in the array
timeArr (array) : array of historical times
Returns: the time that the data point in the array was recorded
method OB(id, highArr, signArr, lowArr, timeArr, sign)
store bullish orderblock data
Namespace types: array
Parameters:
id (array)
highArr (array) : array of historical highs
signArr (array) : array of historical price direction "math.sign(close - open)"
lowArr (array) : array of historical lows
timeArr (array) : array of historical times
sign (int) : orderblock direction, -1 => bullish, 1 => bearish
Returns: void
OTEstrat(OTEstart, future, closeArr, highArr, lowArr, timeArr, longOTEPT, longOTESL, longOTElevel, shortOTEPT, shortOTESL, shortOTElevel, structureDirection, oteLongs, atrTF, oteShorts)
executes the OTE strategy
Parameters:
OTEstart (chart.point)
future (int) : future time point for drawings
closeArr (array) : array of historical closes
highArr (array) : array of historical highs
lowArr (array) : array of historical lows
timeArr (array) : array of historical times
longOTEPT (string) : user-selected long OTE profit target, please create an input.string() for this using the example below
longOTESL (int) : user-selected long OTE stop loss, please create an input.string() for this using the example below
longOTElevel (float) : long entry price of selected retracement ratio for OTE
shortOTEPT (string) : user-selected short OTE profit target, please create an input.string() for this using the example below
shortOTESL (int) : user-selected short OTE stop loss, please create an input.string() for this using the example below
shortOTElevel (float) : short entry price of selected retracement ratio for OTE
structureDirection (string) : current market structure direction, this should be "Up" or "Down". This is used to cancel pending orders if market structure changes
oteLongs (bool) : input.bool() for whether OTE longs can be executed
atrTF (float) : atr of the user-seleceted TF
oteShorts (bool) : input.bool() for whether OTE shorts can be executed
@exampleInputs
oteLongs = input.bool(defval = false, title = "OTE Longs", group = "Optimal Trade Entry")
longOTElevel = input.float(defval = 0.79, title = "Long Entry Retracement Level", options = , group = "Optimal Trade Entry")
longOTEPT = input.string(defval = "-0.5", title = "Long TP", options = , group = "Optimal Trade Entry")
longOTESL = input.int(defval = 0, title = "How Many Ticks Below Swing Low For Stop Loss", group = "Optimal Trade Entry")
oteShorts = input.bool(defval = false, title = "OTE Shorts", group = "Optimal Trade Entry")
shortOTElevel = input.float(defval = 0.79, title = "Short Entry Retracement Level", options = , group = "Optimal Trade Entry")
shortOTEPT = input.string(defval = "-0.5", title = "Short TP", options = , group = "Optimal Trade Entry")
shortOTESL = input.int(defval = 0, title = "How Many Ticks Above Swing Low For Stop Loss", group = "Optimal Trade Entry")
Returns: void (0)
displacement(logZ, atrTFreg, highArr, timeArr, lowArr, upDispShow, dnDispShow, masterCoords, labelLevels, dispUpcol, rightCoordinate, dispDncol, noBorders)
calculates and draws dispacements
Parameters:
logZ (float) : log return of current price, used to determine a "significant price move" for a displacement
atrTFreg (float) : atr of user-seleceted timeframe
highArr (array) : array of historical highs
timeArr (array) : array of historical times
lowArr (array) : array of historical lows
upDispShow (int) : amount of historical upside displacements to show
dnDispShow (int) : amount of historical downside displacements to show
masterCoords (map) : a map to push the most recent displacement prices into, useful for having key levels in one data structure
labelLevels (string) : used to determine label placement for the displacement, can be inside box, outside box, or none, example below
dispUpcol (color) : upside displacement color
rightCoordinate (int) : future time for displacement drawing, best is "last_bar_time"
dispDncol (color) : downside displacement color
noBorders (bool) : input.bool() to remove box borders, example below
@exampleInputs
labelLevels = input.string(defval = "Inside" , title = "Box Label Placement", options = )
noBorders = input.bool(defval = false, title = "No Borders On Levels")
Returns: void
method getStrongLow(id, startIndex, timeArr, lowArr, strongLowPoints)
unshift strong low data to array id
Namespace types: array
Parameters:
id (array)
startIndex (int) : the starting index for the timeArr array of the UDT "necessaryData".
this point should start from at least 1 pivot prior to find the low before an upside BoS
timeArr (array) : array of historical times
lowArr (array) : array of historical lows
strongLowPoints (array) : array of strong low prices. Used to retrieve highest strong low price and see if need for
removal of invalidated strong lows
Returns: void
method getStrongHigh(id, startIndex, timeArr, highArr, strongHighPoints)
unshift strong high data to array id
Namespace types: array
Parameters:
id (array)
startIndex (int) : the starting index for the timeArr array of the UDT "necessaryData".
this point should start from at least 1 pivot prior to find the high before a downside BoS
timeArr (array) : array of historical times
highArr (array) : array of historical highs
strongHighPoints (array)
Returns: void
equalLevels(highArr, lowArr, timeArr, rightCoordinate, equalHighsCol, equalLowsCol, liteMode)
used to calculate recent equal highs or equal lows
Parameters:
highArr (array) : array of historical highs
lowArr (array) : array of historical lows
timeArr (array) : array of historical times
rightCoordinate (int) : a future time (right for boxes, x2 for lines)
equalHighsCol (color) : user-selected color for equal highs drawings
equalLowsCol (color) : user-selected color for equal lows drawings
liteMode (bool) : optional for a lite mode version of an ICT strategy. For more control over drawings leave as "True", "False" will apply neon effects
Returns: void
quickTime(timeString)
used to quickly determine if a user-inputted time range is currently active in NYT time
Parameters:
timeString (string) : a time range
Returns: true if session is active, false if session is inactive
macros(showMacros, noBorders)
used to calculate and draw session macros
Parameters:
showMacros (bool) : an input.bool() or simple bool to determine whether to activate the function
noBorders (bool) : an input.bool() to determine whether the box anchored to the session should have borders
Returns: void
po3(tf, left, right, show)
use to calculate HTF po3 candle
@tip only call this function on "barstate.islast"
Parameters:
tf (simple string)
left (int) : the left point of the candle, calculated as bar_index + left,
right (int) : :the right point of the candle, calculated as bar_index + right,
show (bool) : input.bool() whether to show the po3 candle or not
Returns: void
silverBullet(silverBulletStratLong, silverBulletStratShort, future, userTF, H, L, H2, L2, noBorders, silverBulletLongTP, historicalPoints, historicalData, silverBulletLongSL, silverBulletShortTP, silverBulletShortSL)
used to execute the Silver Bullet Strategy
Parameters:
silverBulletStratLong (simple bool)
silverBulletStratShort (simple bool)
future (int) : a future time, used for drawings, example "last_bar_time"
userTF (simple int)
H (float) : the high price of the user-selected TF
L (float) : the low price of the user-selected TF
H2 (float) : the high price of the user-selected TF
L2 (float) : the low price of the user-selected TF
noBorders (bool) : an input.bool() used to remove the borders from box drawings
silverBulletLongTP (series silverBulletLevels)
historicalPoints (array)
historicalData (necessaryData)
silverBulletLongSL (series silverBulletLevels)
silverBulletShortTP (series silverBulletLevels)
silverBulletShortSL (series silverBulletLevels)
Returns: void
method invalidFVGcheck(FVGarr, upFVGpricesSorted, dnFVGpricesSorted)
check if existing FVGs are still valid
Namespace types: array
Parameters:
FVGarr (array)
upFVGpricesSorted (array) : an array of bullish FVG prices, used to selective search through FVG array to remove invalidated levels
dnFVGpricesSorted (array) : an array of bearish FVG prices, used to selective search through FVG array to remove invalidated levels
Returns: void (0)
method drawFVG(counter, FVGshow, FVGname, FVGcol, data, masterCoords, labelLevels, borderTransp, liteMode, rightCoordinate)
draws FVGs on last bar
Namespace types: map
Parameters:
counter (map) : a counter, as map, keeping count of the number of FVGs drawn, makes sure that there aren't more FVGs drawn
than int FVGshow
FVGshow (int) : the number of FVGs to show. There should be a bullish FVG show and bearish FVG show. This function "drawFVG" is used separately
for bearish FVG and bullish FVG.
FVGname (string) : the name of the FVG, "FVG Up" or "FVG Down"
FVGcol (color) : desired FVG color
data (FVG)
masterCoords (map) : a map containing the names and price points of key levels. Used to define price ranges.
labelLevels (string) : an input.string with options "Inside", "Outside", "Remove". Determines whether FVG labels should be inside box, outside,
or na.
borderTransp (int)
liteMode (bool)
rightCoordinate (int) : the right coordinate of any drawings. Must be a time point.
Returns: void
invalidBlockCheck(bullishOBbox, bearishOBbox, userTF)
check if existing order blocks are still valid
Parameters:
bullishOBbox (array) : an array declared using the UDT orderBlock that contains bullish order block related data
bearishOBbox (array) : an array declared using the UDT orderBlock that contains bearish order block related data
userTF (simple int)
Returns: void (0)
method lastBarRejections(id, rejectionColor, idShow, rejectionString, labelLevels, borderTransp, liteMode, rightCoordinate, masterCoords)
draws rejectionBlocks on last bar
Namespace types: array
Parameters:
id (array) : the array, an array of rejection block data declared using the UDT rejection block
rejectionColor (color) : the desired color of the rejection box
idShow (int)
rejectionString (string) : the desired name of the rejection blocks
labelLevels (string) : an input.string() to determine if labels for the block should be inside the box, outside, or none.
borderTransp (int)
liteMode (bool) : an input.bool(). True = neon effect, false = no neon.
rightCoordinate (int) : atime for the right coordinate of the box
masterCoords (map) : a map that stores the price of key levels and assigns them a name, used to determine price ranges
Returns: void
method OBdraw(id, OBshow, BBshow, OBcol, BBcol, bullishString, bearishString, isBullish, labelLevels, borderTransp, liteMode, rightCoordinate, masterCoords)
draws orderblocks and breaker blocks for data stored in UDT array()
Namespace types: array
Parameters:
id (array) : the array, an array of order block data declared using the UDT orderblock
OBshow (int) : the number of order blocks to show
BBshow (int) : the number of breaker blocks to show
OBcol (color) : color of order blocks
BBcol (color) : color of breaker blocks
bullishString (string) : the title of bullish blocks, which is a regular bullish orderblock or a bearish orderblock that's converted to breakerblock
bearishString (string) : the title of bearish blocks, which is a regular bearish orderblock or a bullish orderblock that's converted to breakerblock
isBullish (bool) : whether the array contains bullish orderblocks or bearish orderblocks. If bullish orderblocks,
the array will naturally contain bearish BB, and if bearish OB, the array will naturally contain bullish BB
labelLevels (string) : an input.string() to determine if labels for the block should be inside the box, outside, or none.
borderTransp (int)
liteMode (bool) : an input.bool(). True = neon effect, false = no neon.
rightCoordinate (int) : atime for the right coordinate of the box
masterCoords (map) : a map that stores the price of key levels and assigns them a name, used to determine price ranges
Returns: void
FVG
UDT for FVG calcualtions
Fields:
H (series float) : high price of user-selected timeframe
L (series float) : low price of user-selected timeframe
direction (series string) : FVG direction => "Up" or "Down"
T (series int) : => time of bar on user-selected timeframe where FVG was created
fvgLabel (series label) : optional label for FVG
fvgLineTop (series line) : optional line for top of FVG
fvgLineBot (series line) : optional line for bottom of FVG
fvgBox (series box) : optional box for FVG
labelLine
quickly pair a line and label together as UDT
Fields:
lin (series line) : Line you wish to pair with label
lab (series label) : Label you wish to pair with line
orderBlock
UDT for order block calculations
Fields:
orderBlockData (array) : array containing order block x and y points
orderBlockBox (series box) : optional order block box
vioCount (series int) : = 0 violation count of the order block. 0 = Order Block, 1 = Breaker Block
traded (series bool)
status (series string) : = "OB" status == "OB" => Level is order block. status == "BB" => Level is breaker block.
orderBlockLab (series label) : options label for the order block / breaker block.
strongPoints
UDT for strong highs and strong lows
Fields:
price (series float) : price of the strong high or strong low
timeAtprice (series int) : time of the strong high or strong low
strongPointLabel (series label) : optional label for strong point
strongPointLine (series line) : optional line for strong point
overlayLine (series line) : optional lines for strong point to enhance visibility
overlayLine2 (series line) : optional lines for strong point to enhance visibility
displacement
UDT for dispacements
Fields:
highPrice (series float) : high price of displacement
lowPrice (series float) : low price of displacement
timeAtPrice (series int) : time of bar where displacement occurred
displacementBox (series box) : optional box to draw displacement
displacementLab (series label) : optional label for displacement
po3data
UDT for po3 calculations
Fields:
dHigh (series float) : higher timeframe high price
dLow (series float) : higher timeframe low price
dOpen (series float) : higher timeframe open price
dClose (series float) : higher timeframe close price
po3box (series box) : box to draw po3 candle body
po3line (array) : line array to draw po3 wicks
po3Labels (array) : label array to label price points of po3 candle
macros
UDT for session macros
Fields:
sessions (array) : Array of sessions, you can populate this array using the "quickTime" function located above "export macros".
prices (matrix) : Matrix of session data -> open, high, low, close, time
sessionTimes (array) : Array of session names. Pairs with array sessions.
sessionLines (matrix) : Optional array for sesion drawings.
OTEtimes
UDT for data storage and drawings associated with OTE strategy
Fields:
upTimes (array) : time of highest point before trade is taken
dnTimes (array) : time of lowest point before trade is taken
tpLineLong (series line) : line to mark tp level long
tpLabelLong (series label) : label to mark tp level long
slLineLong (series line) : line to mark sl level long
slLabelLong (series label) : label to mark sl level long
tpLineShort (series line) : line to mark tp level short
tpLabelShort (series label) : label to mark tp level short
slLineShort (series line) : line to mark sl level short
slLabelShort (series label) : label to mark sl level short
sweeps
UDT for data storage and drawings associated with liquidity sweeps
Fields:
upSweeps (matrix) : matrix containing liquidity sweep price points and time points for up sweeps
dnSweeps (matrix) : matrix containing liquidity sweep price points and time points for down sweeps
upSweepDrawings (array) : optional up sweep box array. Pair the size of this array with the rows or columns,
dnSweepDrawings (array) : optional up sweep box array. Pair the size of this array with the rows or columns,
raidExitDrawings
UDT for drawings associated with the Liquidity Raid Strategy
Fields:
tpLine (series line) : tp line for the liquidity raid entry
tpLabel (series label) : tp label for the liquidity raid entry
slLine (series line) : sl line for the liquidity raid entry
slLabel (series label) : sl label for the liquidity raid entry
m2022
UDT for data storage and drawings associated with the Model 2022 Strategy
Fields:
mTime (series int) : time of the FVG where entry limit order is placed
mIndex (series int) : array index of FVG where entry limit order is placed. This requires an array of FVG data, which is defined above.
mEntryDistance (series float) : the distance of the FVG to the 50% range. M2022 looks for the fvg closest to 50% mark of range.
mEntry (series float) : the entry price for the most eligible fvg
fvgHigh (series float) : the high point of the eligible fvg
fvgLow (series float) : the low point of the eligible fvg
longFVGentryBox (series box) : long FVG box, used to draw the eligible FVG
shortFVGentryBox (series box) : short FVG box, used to draw the eligible FVG
line50P (series line) : line used to mark 50% of the range
line100P (series line) : line used to mark 100% (top) of the range
line0P (series line) : line used to mark 0% (bottom) of the range
label50P (series label) : label used to mark 50% of the range
label100P (series label) : label used to mark 100% (top) of the range
label0P (series label) : label used to mark 0% (bottom) of the range
sweepData (array)
silverBullet
UDT for data storage and drawings associated with the Silver Bullet Strategy
Fields:
session (series bool)
sessionStr (series string) : name of the session for silver bullet
sessionBias (series string)
sessionHigh (series float) : = high high of session // use math.max(silverBullet.sessionHigh, high)
sessionLow (series float) : = low low of session // use math.min(silverBullet.sessionLow, low)
sessionFVG (series float) : if applicable, the FVG created during the session
sessionFVGdraw (series box) : if applicable, draw the FVG created during the session
traded (series bool)
tp (series float) : tp of trade entered at the session FVG
sl (series float) : sl of trade entered at the session FVG
sessionDraw (series box) : optional draw session with box
sessionDrawLabel (series label) : optional label session with label
silverBulletDrawings
UDT for trade exit drawings associated with the Silver Bullet Strategy
Fields:
tpLine (series line) : tp line drawing for strategy
tpLabel (series label) : tp label drawing for strategy
slLine (series line) : sl line drawing for strategy
slLabel (series label) : sl label drawing for strategy
unicornModel
UDT for data storage and drawings associated with the Unicorn Model Strategy
Fields:
hPoint (chart.point)
hPoint2 (chart.point)
hPoint3 (chart.point)
breakerBlock (series box) : used to draw the breaker block required for the Unicorn Model
FVG (series box) : used to draw the FVG required for the Unicorn model
topBlock (series float) : price of top of breaker block, can be used to detail trade entry
botBlock (series float) : price of bottom of breaker block, can be used to detail trade entry
startBlock (series int) : start time of the breaker block, used to set the "left = " param for the box
includes (array) : used to store the time of the breaker block, or FVG, or the chart point sequence that setup the Unicorn Model.
entry (series float) : // eligible entry price, for longs"math.max(topBlock, FVG.get_top())",
tpLine (series line) : optional line to mark PT
tpLabel (series label) : optional label to mark PT
slLine (series line) : optional line to mark SL
slLabel (series label) : optional label to mark SL
rejectionBlocks
UDT for data storage and drawings associated with rejection blocks
Fields:
rejectionPoint (chart.point)
bodyPrice (series float) : candle body price closest to the rejection point, for "Up" rejections => math.max(open, close),
rejectionBox (series box) : optional box drawing of the rejection block
rejectionLabel (series label) : optional label for the rejection block
equalLevelsDraw
UDT for data storage and drawings associated with equal highs / equal lows
Fields:
connector (series line) : single line placed at the first high or low, y = avgerage of distinguished equal highs/lows
connectorLab (series label) : optional label to be placed at the highs or lows
levels (array) : array containing the equal highs or lows prices
times (array) : array containing the equal highs or lows individual times
startTime (series int) : the time of the first high or low that forms a sequence of equal highs or lows
radiate (array) : options label to "radiate" the label in connector lab. Can be used for anything
necessaryData
UDT for data storage of historical price points.
Fields:
highArr (array) : array containing historical high points
lowArr (array) : array containing historical low points
timeArr (array) : array containing historical time points
logArr (array) : array containing historical log returns
signArr (array) : array containing historical price directions
closeArr (array) : array containing historical close points
binaryTimeArr (array) : array containing historical time points, uses "push" instead of "unshift" to allow for binary search
binaryCloseArr (array) : array containing historical close points, uses "push" instead of "unshift" to allow the correct
binaryOpenArr (array) : array containing historical optn points, uses "push" instead of "unshift" to allow the correct
atrTFarr (array) : array containing historical user-selected TF atr points
openArr (array) : array containing historical open points
ICT Unicorn | Flux Charts💎 GENERAL OVERVIEW
Introducing our new ICT Unicorn Indicator! This indicator is built around the ICT's "Unicorn" strategy. The strategy uses Breaker Blocks and Fair Value Gaps for entry confirmation. For more information about the process, check the "HOW DOES IT WORK" section.
Features of the new ICT Unicorn Indicator :
Implementation of ICT's Unicorn Strategy
Toggleable Retracement Entry Method
3 Different TP / SL Methods
Customizable Execution Settings
Customizable Backtesting Dashboard
Alerts for Buy, Sell, TP & SL Signals
📌 HOW DOES IT WORK ?
The ICT Unicorn entry model merges the concepts of Breaker Blocks and Fair Value Gaps (FVGs), offering a distinct method for identifying trade opportunities. By integrating these two elements, we can have a position entry with stop-loss and take-profit targets on the potential support & resistance zones. This model is particularly reliable for trade entry, as it combines two powerful entry techniques.
An ICT Unicorn Model consists of a FVG which is overlapping with a Breaker Block of the same type. Here is an example :
When a FVG overlaps with a Breaker Block of the same type, the indicator gives a Buy or Sell signal depending on the FVG type (Bullish & Bearish). If the "Require Retracement" option is enabled in the settings, the signals are not given immediately. Instead, the current price of the ticker will need to touch the FVG once more before the signals are given.
After the Buy or Sell signal, the indicator immediately draws the take-profit (TP) and stop-loss (SL) targets. The indicator has three different TP & SL modes, explained in the "Settings" section of this write-up.
You can set up alerts for entry and TP & SL signals, and also check the current performance of the indicator and adjust the settings accordingly to the current ticker using the backtesting dashboard.
🚩 UNIQUENESS
This indicator is an all-in-one suit for the ICT's Unicorn concept. It's capable of plotting the strategy, giving signals, a backtesting dashboard and alerts feature. Different and customizable algorithm modes will help the trader fine-tune the indicator for the asset they are currently trading. Three different TP / SL modes are available to suit your needs. The backtesting dashboard allows you to see how your settings perform in the current ticker. You can also set up alerts to get informed when the strategy is executable for different tickers.
⚙️ SETTINGS
1. General Configuration
FVG Detection Sensitivity -> You may select between Low, Normal, High or Extreme FVG detection sensitivity. This will essentially determine the size of the spotted FVGs, with lower sensitivies resulting in spotting bigger FVGs, and higher sensitivies resulting in spotting all sizes of FVGs.
Swing Length -> Swing length is used when finding order block formations. Smaller values will result in finding smaller order & breaker blocks.
Require Retracement ->
a) Disabled : The entry signal is given immediately once a FVG overlaps with a Breaker Block of the same type.
b) Enabled : The current price of the ticker will need to touch the FVG once more before the entry signal is given.
2. TP / SL
TP / SL Method ->
a) Unicorn : This is the default option. The SL will be set to the lowest low of the last 100 bars with an extra offset in a Buy signal. For Sell signals, the SL will be set to the highest high of the last 100 bars with an extra offset. The TP is then set to a value using the SL value and maintaining a risk-reward ratio.
b) Dynamic: The TP / SL zones will be auto-determined by the algorithm based on the Average True Range (ATR) of the current ticker.
c) Fixed : You can adjust the exact TP / SL ratios from the settings below.
Dynamic Risk -> The risk you're willing to take if "Dynamic" TP / SL Method is selected. Higher risk usually means a better winrate at the cost of losing more if the strategy fails. This setting is has a crucial effect on the performance of the indicator, as different tickers may have different volatility so the indicator may have increased performance when this setting is correctly adjusted.
Breakout Range Signal with Quality Analysis [Dova Lazarus]📌 Breakout Range Signal with Quality Analysis
🎓 Training-focused indicator for breakout logic, SL & TP behavior and signal quality assessment
🔷 PURPOSE
This tool identifies breakout candles from a calculated channel range and visually simulates entries, stop losses, and take profits, providing live and historical performance metrics.
⚙️ MAIN SETTINGS
1️⃣ Channel Setup
channel_length = 10 → how many candles are averaged to form channel boundaries
channel_multiplier = 0.0 → adds expansion above/below the base channel
channel_smoothing_type = SMA → smoothing method for high/low averaging
📊 The channel consists of two moving averages: one from highs, the other from lows. When expanded (via multiplier), it creates a buffer range for breakout validation.
2️⃣ Signal Detection
Body > Channel % = 50 → a breakout candle's body must exceed 150% of the channel width
Signal Mode:
• Weak → every valid breakout candle is highlighted
• Strong → only the first signal in a sequence is shown (helps reduce noise)
🟦 Bullish signals (blue):
• Candle opens inside the channel
• Closes above the channel
• Body is large enough
• Optional: confirms with trend (if enabled)
🟨 Bearish signals (yellow):
• Candle opens inside the channel
• Closes below the channel
• Body is large enough
• Optional: confirms with trend
3️⃣ Trend Filter (optional)
Enabled via checkbox
Uses a higher timeframe MA to filter signals
Bullish signals are allowed only if price is below the trend MA
Bearish signals only if price is above it
⏱️ trend_timeframe = 1D (typically set higher than the chart's timeframe)
🟢 Trend line is plotted if enabled
🎯 ENTRY, STOP LOSS & TAKE PROFIT LOGIC
SL and TP are based on channel width, not fixed pip/tick size:
📍 Entry Price = close of the breakout candle
🛑 Stop Loss:
• Bullish → below the lower channel border (minus offset)
• Bearish → above the upper channel border (plus offset)
🎯 Take Profit:
• Bullish → entry + channel width × profit multiplier
• Bearish → entry − channel width × profit multiplier
You can control:
Profit Target Multiplier (e.g., 1.0 → TP = 1×channel width)
Stop Loss Target Multiplier (e.g., 0.5 → SL = 0.5×channel width)
Signals to Show = how many historical SL/TP setups to display
📈 Lines and labels ("TP", "SL") are drawn on the chart for clarity.
🧪 QUALITY ANALYSIS MODULE
If enabled, the indicator will:
Track each new signal (entry, SL, TP)
Analyze outcomes:
• Win = TP hit before SL
• Loss = SL hit before TP
• Expired = signal unresolved after N bars
Display statistics in a table (top-right corner):
📋 Table fields:
✅ Overall win rate
📈 Bullish win rate
📉 Bearish win rate
🔢 Total signals
🕓 Pending (still active trades)
Maximum bars to wait for outcome is customizable (max_bars_to_analyze).
📐 VISUALIZATION TOOLS
TP / SL lines per signal
Labels “TP” and “SL”
Optional channel lines and trendline for better context
Colored bars for valid signals (blue/yellow)
📌 BEST USE CASES
Understand how breakout signals are formed
Learn SL/TP logic based on dynamic range
Test how volatility affects trade outcomes
Use as a visual simulation of trade behavior over time
Random Coin Toss Strategy📌 Overview
This strategy is a probability-based trading simulation that randomly decides trade direction using a coin-toss mechanism and executes trades with a customizable risk-reward ratio. It's designed primarily for testing entry frequency and risk dynamics, not predictive accuracy.
🎯 Core Concept
Every N bars (configurable), the strategy performs a pseudo-random coin toss.
Based on the result:
If heads → Buy
If tails → Sell
Once a position is opened, it sets a Stop-Loss (SL) and Take-Profit (TP) based on a multiple of the current ATR (Average True Range) value.
⚙️ Configurable Inputs
ATR Length Period for ATR calculation, determines volatility basis.
SL Multiplier SL distance = ATR × multiplier (e.g., 1.0 means 1x ATR) .
TP Multiplier TP distance = ATR × multiplier (e.g., 2.0 = 2x ATR) .
Entry Frequency Bars to wait between each new coin toss decision.
Show TP/SL Zones Toggle on/off for drawing visual TP and SL zones.
Box Size Number of bars used to define the width of the TP/SL boxes.
🔁 Entry & Exit Logic
Entry:
Happens only when no current position exists and it's the correct bar interval.
Entry direction is randomly decided.
Exit:
Positions exit at either:
Take-Profit (TP) level
Stop-Loss (SL) level
Both are calculated using the configured ATR-based distances.
🖼️ Visual Features
TP and SL zones:
Rendered as shaded rectangles (boxes) only once per trade.
Green box for TP zone, red box for SL zone.
Automatically deleted and redrawn for each new trade to avoid chart clutter.
ATR Display Table:
A minimal info table at the top-right shows the current ATR value.
Updates every few bars for performance.
🧪 Use Cases
Ideal for risk-reward modeling, strategy prototyping, and understanding how volatility-based SL/TP behavior affects results.
Great for backtesting frequency, RR tweaks (e.g., 2:5 or 3:1), and execution structure in random conditions.
⚠️ Disclaimer
Since the trade direction is random, this script is not meant for predictive trading but serves as a powerful experiment framework for studying how SL, TP, and volatility interact with random chance in a controlled, repeatable system.
Smart FlexRange Breakout [The_lurker]The Smart FlexRange Breakout tool aims to identify trading opportunities based on price breakouts of dynamic levels (CALL, PUT) with a dotted centerline and the ability to select the applicable market. The tool relies on candlestick analysis over a specific time period (such as 3 hours). Candle data (searchHours) is collected to identify the most significant candle based on candlestick patterns and trading volume during the selected timeframe. Breakout levels and take-profit (TP) targets are then plotted, along with buy and sell signals, breakout notifications, and up/down trend lines based on Pivot Points.
The tool is run according to the selected timeframe.
Practical Use
1- Setup: Adjust the market, timeframe, number of hours, and time zone to suit the trader's needs.
2- Trading: Monitor signals (BUY/SELL) and TP levels to determine entry and exit points.
3- Trend Lines: Use them to understand the overall trend and confirm signals.
---
1. Objective: Identify trading opportunities based on price breakouts
- Trading opportunities: The indicator is designed to help traders identify moments when significant price movements are likely, allowing them to enter buy or sell trades based on market changes.
- Price breakouts: The indicator focuses on moments when prices break through key levels (resistance or support). A breakout occurs when the price exceeds a resistance level (up) or breaks a support level (down), indicating a potential continuation of the movement in the same direction.
- Dynamic: Resistance and support levels are not static; rather, they are calculated based on candlestick analysis over a specific period of time, making them adaptive to current market conditions.
---
2. Dynamic levels (resistance and support levels)
- Resistance levels: These represent prices that the price is difficult to break above, defined here as the high of the most significant candle during the specified period.
- Support levels: These represent prices below which the price is difficult to fall, defined as the low of the most significant candle.
- Dynamic: These levels are recalculated every new search period (searchHours), meaning they change based on the latest market data, unlike traditional static levels.
---
3. Adding a Dotted Center Line
- Center Line: A horizontal dotted line is drawn at the midpoint between the high and low of the most significant candle.
- Purpose:
- Provides a visual reference point for determining the current price position relative to support and resistance levels.
- Helps assess whether the price is moving toward a breakout (near resistance) or a breakout (near support).
- Dotted: The dotted pattern distinguishes it from the solid upper and lower lines, making it easier to distinguish visually.
---
4. Relying on candlestick analysis over a specific time period (searchHours)
- Candlestick Analysis: The indicator examines candlesticks to determine which ones have the most influence on price movement.
- Timeframe (searchHours):
- The user specifies the number of hours (1-6) for candle analysis, which determines the range of data the indicator relies on.
- Example: If searchHours = 3 and timeframe = 30 minutes, 6 candles are analyzed (3 hours ÷ 30 minutes).
- Flexibility: This period can be adjusted to suit different markets (such as volatile cryptocurrencies or more stable Forex).
---
5. Determining the Most Important Candle Based on Candle Patterns and Volume
- The most important candle: is the candle believed to have the greatest impact on price movement based on specific criteria.
- Candle Patterns:
- Candles are analyzed using a candlestick pattern library (such as Engulfing, Hammer, Doji).
- Reversal patterns (such as Morning Star, Shooting Star) are given a high importance score (100 points) because they indicate potential trend changes.
- Trading Volume:
- The trading volume of each candle is measured and compared to the maximum and minimum during the period.
- Volume is calculated as a percentage (0-100) and added to the pattern score to determine the most significant candle.
- Result: The candle with the highest score (patterns + volume) is used to determine support and resistance levels.
---
6. Timeframe
- Time interval: The user selects a time frame for the candles (15, 30, or 60 minutes).
- Importance:
- Determines the number of candles analyzed during the searchHours period.
- Affects the accuracy and speed of the signals (shorter timeframe = faster but less reliable signals; longer timeframe = slower but more reliable signals).
- Example: If the timeframe is 60 minutes and searchHours is 3, only 3 candles are analyzed.
---
7. Drawing Breakout Levels and Take Profit Targets (TP)
- Breakout Levels:
- Upper line (resistance): Drawn at the highest price of the most significant candle and is labeled "CALL".
- Lower line (support): Drawn at the lowest price of the most important candle and is called "PUT."
- These lines represent levels where a breakout is expected to lead to a strong price movement.
- Take Profit Targets (TP):
- Up to 8 bullish (above the upper line) and bearish (below the lower line) TP levels are calculated.
- They are calculated based on a percentage (tpPercentage) added or subtracted from the base lines.
- Example: If tpPercentage = 0.6% and the high price = 100, then bullish TP1 = 100.6, TP2 = 101.2, etc.
- Labels: Labels are drawn for each TP level indicating the value and level (TP1, TP2, etc.).
---
8. Buy and Sell Signals
- Buy (BUY) signal:
- Generated when the price breaks the upper line (ta.crossover).
- The "BUY" label is drawn with the redrawing of the TP levels.
- Sell signal (SELL):
- Generated when the price breaks the lower line (ta.crossunder).
- The "SELL" label is drawn with the redrawing of the TP levels.
- Purpose: To provide clear signals to the trader for making trade entry decisions.
=========================================================================
Thank you, n00btraders.
For using the import library: n00btraders/Timezone/1
For using the import library: The_lurker/AllCandlestickPatternsLibrary/1
========================================================================
Disclaimer:
The information and publications are not intended to be, nor do they constitute, financial, investment, trading, or other types of advice or recommendations provided or endorsed by TradingView.
تهدف أداة Smart FlexRange Breakout إلى تحديد فرص التداول بناءً على اختراقات الأسعار للمستويات الديناميكية (CALL، PUT) مع خط مركزي منقط، مع إمكانية اختيار السوق المناسب. تعتمد الأداة على تحليل الشموع اليابانية على مدى فترة زمنية محددة (مثل 3 ساعات). تُجمع بيانات الشموع (searchHours) لتحديد أهم شمعة بناءً على أنماط الشموع وحجم التداول خلال الإطار الزمني المحدد. ثم تُرسم مستويات الاختراق وأهداف جني الأرباح (TP)، بالإضافة إلى إشارات البيع والشراء، وإشعارات الاختراق، وخطوط الاتجاه الصعودي/الهبوطي بناءً على نقاط المحور.
يتم تشغيل الاداه حسب الفاصل المختار timeframe
الاستخدام العملي
1- الإعداد: اضبط السوق، والإطار الزمني، وعدد الساعات، والمنطقة الزمنية لتناسب احتياجات المتداول.
2- التداول: راقب إشارات (الشراء/البيع) ومستويات جني الأرباح لتحديد نقاط الدخول والخروج.
3- خطوط الاتجاه: استخدمها لفهم الاتجاه العام وتأكيد الإشارات.
1. الهدف: تحديد فرص التداول بناءً على اختراقات الأسعار
- فرص التداول: صُمم هذا المؤشر لمساعدة المتداولين على تحديد اللحظات التي يُحتمل فيها حدوث تحركات سعرية كبيرة، مما يسمح لهم بالدخول في صفقات شراء أو بيع بناءً على تغيرات السوق.
- اختراقات الأسعار: يُركز المؤشر على اللحظات التي تخترق فيها الأسعار مستويات رئيسية (مقاومة أو دعم). يحدث الاختراق عندما يتجاوز السعر مستوى مقاومة (صعودًا) أو يخترق مستوى دعم (هبوطًا)، مما يُشير إلى احتمال استمرار الحركة في نفس الاتجاه.
- ديناميكي: مستويات المقاومة والدعم ليست ثابتة؛ بل تُحسب بناءً على تحليل الشموع اليابانية على مدى فترة زمنية محددة، مما يجعلها مُكيفة مع ظروف السوق الحالية.
2. المستويات الديناميكية (مستويات المقاومة والدعم)
- مستويات المقاومة: تُمثل هذه الأسعار التي يصعب على السعر تجاوزها، وتُعرف هنا بأنها ارتفاع الشمعة الأكثر أهمية خلال الفترة المحددة.
- مستويات الدعم: تُمثل هذه الأسعار التي يصعب على السعر الانخفاض دونها، وتُعرف بأنها أدنى مستوى للشمعة الأكثر أهمية.
- ديناميكي: تُعاد حساب هذه المستويات مع كل فترة بحث جديدة (ساعات البحث)، مما يعني أنها تتغير بناءً على أحدث بيانات السوق، على عكس المستويات الثابتة التقليدية.
3. إضافة خط مركزي منقط
- خط المركز: يُرسم خط أفقي منقط عند نقطة المنتصف بين أعلى وأدنى شمعة ذات أهمية.
- الغرض:
- يوفر نقطة مرجعية بصرية لتحديد وضع السعر الحالي بالنسبة لمستويات الدعم والمقاومة.
- يساعد في تقييم ما إذا كان السعر يتحرك نحو اختراق (بالقرب من المقاومة) أو اختراق (بالقرب من الدعم).
- منقط: يُميزه النمط المنقط عن الخطوط العلوية والسفلية المتصلة، مما يُسهّل تمييزه بصريًا.
4. الاعتماد على تحليل الشموع اليابانية على مدى فترة زمنية محددة (ساعات البحث)
- تحليل الشموع اليابانية: يفحص المؤشر الشموع اليابانية لتحديد أيها الأكثر تأثيرًا على حركة السعر.
- الإطار الزمني (ساعات البحث):
- يُحدد المستخدم عدد الساعات (من 1 إلى 6) لتحليل الشموع، والذي يُحدد نطاق البيانات التي يعتمد عليها المؤشر.
- مثال: إذا كانت ساعات البحث = 3 والإطار الزمني = 30 دقيقة، فسيتم تحليل 6 شموع (3 ساعات ÷ 30 دقيقة).
- المرونة: يُمكن تعديل هذه الفترة لتناسب الأسواق المختلفة (مثل العملات المشفرة المتقلبة أو سوق الفوركس الأكثر استقرارًا).
5. تحديد الشمعة الأكثر أهمية بناءً على أنماط الشموع وحجم التداول
- الشمعة الأكثر أهمية: هي الشمعة التي يُعتقد أن لها التأثير الأكبر على حركة السعر بناءً على معايير محددة.
- أنماط الشموع:
- يتم تحليل الشموع باستخدام مكتبة أنماط الشموع (مثل شمعة الابتلاع، وشمعة المطرقة، وشمعة الدوجي).
- تُمنح أنماط الانعكاس (مثل نجمة الصباح، ونجم الشهاب) درجة أهمية عالية (100 نقطة) لأنها تُشير إلى تغيرات محتملة في الاتجاه.
- حجم التداول:
- يُقاس حجم تداول كل شمعة ويُقارن بالحد الأقصى والأدنى خلال الفترة.
- يُحسب الحجم كنسبة مئوية (0-100) ويُضاف إلى درجة النمط لتحديد الشمعة الأكثر أهمية.
- النتيجة: تُستخدم الشمعة ذات أعلى درجة (الأنماط + الحجم) لتحديد مستويات الدعم والمقاومة.
٦. الإطار الزمني
- الفاصل الزمني: يختار المستخدم إطارًا زمنيًا للشموع (١٥، ٣٠، أو ٦٠ دقيقة).
- الأهمية:
- يحدد عدد الشموع المُحللة خلال فترة ساعات البحث.
- يؤثر على دقة وسرعة الإشارات (الإطار الزمني الأقصر = إشارات أسرع ولكن أقل موثوقية؛ الإطار الزمني الأطول = إشارات أبطأ ولكن أكثر موثوقية).
- مثال: إذا كان الإطار الزمني ٦٠ دقيقة وساعات البحث ٣، فسيتم تحليل ٣ شموع فقط.
---
٧. رسم مستويات الاختراق وأهداف جني الأرباح (TP)
- مستويات الاختراق:
- الخط العلوي (المقاومة): يُرسم عند أعلى سعر للشمعة الأكثر أهمية ويُسمى "CALL".
- الخط السفلي (الدعم): يُرسم عند أدنى سعر للشمعة الأكثر أهمية ويُسمى "PUT".
- تمثل هذه الخطوط المستويات التي يُتوقع أن يؤدي فيها الاختراق إلى حركة سعرية قوية.
- أهداف جني الأرباح (TP):
- يتم حساب ما يصل إلى 8 مستويات جني أرباح صعودية (فوق الخط العلوي) وهبوطية (تحت الخط السفلي).
- يتم حسابها بناءً على نسبة مئوية (tpPercentage) تُضاف أو تُطرح من خطوط الأساس.
- مثال: إذا كانت نسبة جني الأرباح = 0.6% وكان أعلى سعر = 100، فإن هدف الربح الصعودي الأول = 100.6، وهدف الربح الثاني = 101.2، وهكذا.
- العلامات: تُرسم علامات لكل مستوى جني أرباح تشير إلى القيمة والمستوى (TP1، TP2، وهكذا).
---
8. إشارات الشراء والبيع
- إشارة الشراء (BUY):
- تُولّد عند اختراق السعر للخط العلوي (ta.crossover).
- تُرسم علامة "الشراء" مع إعادة رسم مستويات جني الأرباح.
- إشارة البيع (SELL):
- تُولّد عند اختراق السعر للخط السفلي (ta.crossunder). - يُرسم مؤشر "بيع" مع إعادة رسم مستويات جني الأرباح.
- الغرض: توفير إشارات واضحة للمتداول لاتخاذ قرارات دخول الصفقة.
==========================================================================
شكرًا لكم، أيها المتداولون الجدد.
لاستخدام مكتبة الاستيراد: n00btraders/Timezone/1
لاستخدام مكتبة الاستيراد: The_lurker/AllCandlestickPatternsLibrary/1
==============================================================================
إخلاء مسؤولية:
لا يُقصد بهذه المعلومات والمنشورات أن تكون، ولا تُشكل، نصائح أو توصيات مالية أو استثمارية أو تجارية أو أي نوع آخر من النصائح أو التوصيات المُقدمة من TradingView أو المُعتمدة منها.
Simple RSI stock Strategy [1D] The "Simple RSI Stock Strategy " is designed to long-term traders. Strategy uses a daily time frame to capitalize on signals generated by the Relative Strength Index (RSI) and the Simple Moving Average (SMA). This strategy is suitable for low-leverage trading environments and focuses on identifying potential buy opportunities when the market is oversold, while incorporating strong risk management with both dynamic and static Stop Loss mechanisms.
This strategy is recommended for use with a relatively small amount of capital and is best applied by diversifying across multiple stocks in a strong uptrend, particularly in the S&P 500 stock market. It is specifically designed for equities, and may not perform well in other markets such as commodities, forex, or cryptocurrencies, where different market dynamics and volatility patterns apply.
Indicators Used in the Strategy:
1. RSI (Relative Strength Index):
- The RSI is a momentum oscillator used to identify overbought and oversold conditions in the market.
- This strategy enters long positions when the RSI drops below the oversold level (default: 30), indicating a potential buying opportunity.
- It focuses on oversold conditions but uses a filter (SMA 200) to ensure trades are only made in the context of an overall uptrend.
2. SMA 200 (Simple Moving Average):
- The 200-period SMA serves as a trend filter, ensuring that trades are only executed when the price is above the SMA, signaling a bullish market.
- This filter helps to avoid entering trades in a downtrend, thereby reducing the risk of holding positions in a declining market.
3. ATR (Average True Range):
- The ATR is used to measure market volatility and is instrumental in setting the Stop Loss.
- By multiplying the ATR value by a custom multiplier (default: 1.5), the strategy dynamically adjusts the Stop Loss level based on market volatility, allowing for flexibility in risk management.
How the Strategy Works:
Entry Signals:
The strategy opens long positions when RSI indicates that the market is oversold (below 30), and the price is above the 200-period SMA. This ensures that the strategy buys into potential market bottoms within the context of a long-term uptrend.
Take Profit Levels:
The strategy defines three distinct Take Profit (TP) levels:
TP 1: A 5% from the entry price.
TP 2: A 10% from the entry price.
TP 3: A 15% from the entry price.
As each TP level is reached, the strategy closes portions of the position to secure profits: 33% of the position is closed at TP 1, 66% at TP 2, and 100% at TP 3.
Visualizing Target Points:
The strategy provides visual feedback by plotting plotshapes at each Take Profit level (TP 1, TP 2, TP 3). This allows traders to easily see the target profit levels on the chart, making it easier to monitor and manage positions as they approach key profit-taking areas.
Stop Loss Mechanism:
The strategy uses a dual Stop Loss system to effectively manage risk:
ATR Trailing Stop: This dynamic Stop Loss adjusts based on the ATR value and trails the price as the position moves in the trader’s favor. If a price reversal occurs and the market begins to trend downward, the trailing stop closes the position, locking in gains or minimizing losses.
Basic Stop Loss: Additionally, a fixed Stop Loss is set at 25%, limiting potential losses. This basic Stop Loss serves as a safeguard, automatically closing the position if the price drops 25% from the entry point. This higher Stop Loss is designed specifically for low-leverage trading, allowing more room for market fluctuations without prematurely closing positions.
to determine the level of stop loss and target point I used a piece of code by RafaelZioni, here is the script from which a piece of code was taken
Together, these mechanisms ensure that the strategy dynamically manages risk while offering robust protection against significant losses in case of sharp market downturns.
The position size has been estimated by me at 75% of the total capital. For optimal capital allocation, a recommended value based on the Kelly Criterion, which is calculated to be 59.13% of the total capital per trade, can also be considered.
Enjoy !
ICT Judas Swing | Flux Charts💎 GENERAL OVERVIEW
Introducing our new ICT Judas Swing Indicator! This indicator is built around the ICT's "Judas Swing" strategy. The strategy looks for a liquidity grab around NY 9:30 session and a Fair Value Gap for entry confirmation. For more information about the process, check the "HOW DOES IT WORK" section.
Features of the new ICT Judas Swing :
Implementation of ICT's Judas Swing Strategy
2 Different TP / SL Methods
Customizable Execution Settings
Customizable Backtesting Dashboard
Alerts for Buy, Sell, TP & SL Signals
📌 HOW DOES IT WORK ?
The strategy begins by identifying the New York session from 9:30 to 9:45 and marking recent liquidity zones. These liquidity zones are determined by locating high and low pivot points: buyside liquidity zones are identified using high pivots that haven't been invalidated, while sellside liquidity zones are found using low pivots. A break of either buyside or sellside liquidity must occur during the 9:30-9:45 session, which is interpreted as a liquidity grab by smart money. The strategy assumes that after this liquidity grab, the price will reverse and move in the opposite direction. For entry confirmation, a fair value gap (FVG) in the opposite direction of the liquidity grab is required. A buyside liquidity grab calls for a bearish FVG, while a sellside grab requires a bullish FVG. Based on the type of FVG—bullish for buys and bearish for sells—the indicator will then generate a Buy or Sell signal.
After the Buy or Sell signal, the indicator immediately draws the take-profit (TP) and stop-loss (SL) targets. The indicator has three different TP & SL modes, explained in the "Settings" section of this write-up.
You can set up alerts for entry and TP & SL signals, and also check the current performance of the indicator and adjust the settings accordingly to the current ticker using the backtesting dashboard.
🚩 UNIQUENESS
This indicator is an all-in-one suit for the ICT's Judas Swing concept. It's capable of plotting the strategy, giving signals, a backtesting dashboard and alerts feature. Different and customizable algorithm modes will help the trader fine-tune the indicator for the asset they are currently trading. Three different TP / SL modes are available to suit your needs. The backtesting dashboard allows you to see how your settings perform in the current ticker. You can also set up alerts to get informed when the strategy is executable for different tickers.
⚙️ SETTINGS
1. General Configuration
Swing Length -> The swing length for pivot detection. Higher settings will result in
FVG Detection Sensitivity -> You may select between Low, Normal, High or Extreme FVG detection sensitivity. This will essentially determine the size of the spotted FVGs, with lower sensitivies resulting in spotting bigger FVGs, and higher sensitivies resulting in spotting all sizes of FVGs.
2. TP / SL
TP / SL Method ->
a) Dynamic: The TP / SL zones will be auto-determined by the algorithm based on the Average True Range (ATR) of the current ticker.
b) Fixed : You can adjust the exact TP / SL ratios from the settings below.
Dynamic Risk -> The risk you're willing to take if "Dynamic" TP / SL Method is selected. Higher risk usually means a better winrate at the cost of losing more if the strategy fails. This setting is has a crucial effect on the performance of the indicator, as different tickers may have different volatility so the indicator may have increased performance when this setting is correctly adjusted.
X48 - Indicator | Midnight Hunter | V.1Thanks For Ogirinal Source Script From mladen for Engulfing Script and @KP_House, @JusInNovel, @jdehorty for Dashboard
and Indicator Original From X4815162342 MA TYPE Cross Edit For Forex Engulfing and HH LL Trading Style
Let's Me Explain About This Indicator
LightGreen Diamond "3Engulfing" is Bullish Confrim Engulfing 3 Candle
LightRed Diamond "3Engulfing" is Bearish Confrim Engulfing 3 Candle
Yellow ArrowUp is Normal Bullish Engulfing Candle
White ArrowDown is Normal Bearish Engulfing Candle
UpperBandLine, MiddleBandLine, LowerBandLine is Range Of Swing Price
Little Green Triangle is Signal To Buy
Little Red Triangle is Signal To Sell
How To Use Indicator For Trading
1. Confrim Signal Step
1.1) Bullish Trend
1.1.1) If Close Price < LowerBandLine
1.1.2) Must Have LightGreen Diamond "3Engulfing"
1.1.3) Direction Of BandLine are Up like this (↗)
1.1.4) Have a Cluster of Green Triangle
1.1.5) Sto Background Color is Green
**1.1.6) It's Good If Have a Yellow Direction Arrow Up (↗) but If Not Have a Yellow Direction Arrow Up (↗) No Problem
1.2) Bearish Trend
1.2.1) If Close Price > UpperBandLine
1.2.2) Must Have LightRed Diamond "3Engulfing"
1.2.3) Direction Of BandLine are Down like this (↘)
1.2.4) Have a Cluster of Red Triangle
1.1.5) Sto Background Color is Red
**1.2.6) It's Good If Have a White Direction Arrow Down (↘) but If Not Have a White Direction Arrow Down (↘) No Problem
2. Trend Following for Short-Term/Mid-Term
2.1) Bullish Follow
2.1.1) Have a Cluster of Green Triangle
2.1.2) Have a Yellow Direction Arrow Up (↗) >>(or)<< LightGreen Diamond "3Engulfing"
2.2) Bearish Follow
2.2.1) Have a Cluster of Red Triangle
2.2.2) Have a White Direction Arrow Down (↘) >>(or)<< LightRed Diamond "3Engulfing"
3. TP and SL - If You Following Trend or Confirm Signal
3.1) Bullish TP/SL
3.1.1) TakeProfit (TP)
3.1.1.1) Can TP IF Close > MiddleBandLine or CrossingUp (Sometime Not Large But More Time for TP From Intraday)
3.1.1.2) Can TP If Price Candle Breake UpperBandLine and Have a LightGreen Diamond "3Engulfing" or Have a Invert Arrow Direction
3.1.2) StopLoss (SL)
3.1.2.1) Can SL After Your Open Long/Buy Position by SwingLowLine
3.2) Bearish TP/SL
3.2.1) TakeProfit (TP)
3.2.1.1) Can TP If Close < MiddleBandLine or CrossingDown (Sometime Not Large But More Time for TP From Intraday)
3.2.1.2) Can TP If Price Candle Breake LowerBandLine and Have a LightRed Diamond "3Engulfing" or Have a Invert Arrow Direction
3.1.2) StopLoss (SL)
3.1.2.1) Can SL After Your Open Short/Sell Position by SwingHighLine
EMA_VTX
Abbreviations:
EMA - Exponential Moving Average
SMA - Simple Moving Average
WMA - Weighted Moving Average
VWMA - Volume-Weighted Moving Average
TP - TimePeriod (1m,2m,5m,1h....)
TP Steps - 1m,3m,12m,1h,5h,D (This steps i use)
Use-case:
Moving Average Exponential is a good indicator of Support and Resistance Level. Giving us average price level in particular moment.
This script calculates and plots Moving Average with minute precision, even if you want to see 21 EMA level from 1H chart.
So you can accommodate all important information on one chart with best precision.
Made for Intraday Perioads.
Best used for DayTrading, when you need to make quick and efficient decisions.
EMA_VTX = Preferred resolution * Length / Present resolution.
In addition to plotting EMA , you can quickly switch between SMA, WMA, VWMA .
Settings:
Resolution - Most used TP included, plus some exclusive paid plans (1m, 2m, 3m, 5m, 12m, 15m, 1h, 4h, 5h, Daily). Default set to 1h
Use - Bonus function for EMA indicator. You can quickly switch type from EMA to SMA, WMA,VWMA
Length - standard function. Default set to 144
Offset - standard function. Default set to 0
Source - standard function. Default set to hlc3
Why to use it ?
Yes, i know that variable TP is standard now in TradingView. But there are some limitations, especially for DayTraders.
Problem:
Imagine you are trading/scalping on 1m.. 5m.. 15.. charts and you want to see where are your Higher TP MAs.
-- You can change to 1h and check it, but you will loose the picture from smaller TP.
-- You can use Standard EMA TP function, but your MAs data will update every 15m, 1h (depends on TP)
Solution:
This script help to solve this problem, by breaking information down to 1m and building from there.
So whatever Intraday TP you choose to trade, your MAs will be updated with minute precision.
Limitations:
Sadly nothing without limitations.
1. You can experience "Reference too many candles in history" around 5K - This means that too many candles are used to plot MAs.
-- Quick fix: Reduce "Length" or Step down TP (best experience when projecting MAs 1-2 TP Steps up)
2. For Best performance use only Higher TP dividable By Yours (ex. You use 3m chart, then you can plot 12m, 15m, 1h / You use 5m chart, then you can plot 15m, 1h. 12m will already have 3m of information lost using 5m Chart )
TradeVision Pro - Multi-Factor Analysis System═══════════════════════════════════════════════════════════════════
TRADEVISION PRO - MULTI-FACTOR ANALYSIS SYSTEM
Created by Zakaria Safri
═══════════════════════════════════════════════════════════════════
A comprehensive technical analysis tool combining multiple factors for
signal generation, trend analysis, and dynamic risk management visualization.
Designed for educational purposes to study multi-factor convergence trading
strategies across all markets and timeframes.
⚠️ IMPORTANT DISCLAIMER:
This indicator is provided for EDUCATIONAL and INFORMATIONAL purposes only.
It does NOT constitute financial advice, investment advice, or trading advice.
Past performance does not guarantee future results. Trading involves
substantial risk of loss. Always do your own research and consult a
financial advisor before making trading decisions.
🎯 KEY FEATURES
═══════════════════════════════════════════════════════════════════
✅ MULTI-FACTOR SIGNAL GENERATION
• Price Volume Trend (PVT) analysis
• Rate of Change (ROC) momentum confirmation
• Volume-Weighted Moving Average (VWMA) trend filter
• Simple Moving Average (SMA) price smoothing
• Signals only when all factors align
✅ DYNAMIC RISK VISUALIZATION (Educational Only)
• ATR-based stop loss calculation
• Risk-reward based take profit levels (1-5 targets)
• Visual lines and labels showing entry, SL, and TPs
• Automatically adapts to market volatility
• ⚠️ VISUAL REFERENCE ONLY - Does not execute trades
✅ SUPPORT & RESISTANCE DETECTION
• Automatic pivot-based level identification
• Red dashed lines for resistance zones
• Green dashed lines for support areas
• Helps identify key price levels
✅ VWMA TREND BANDS
• Volume-weighted moving average with standard deviation
• Color-changing bands (Green = Uptrend, Red = Downtrend)
• Filled band area for easy visualization
• Volume-confirmed trend strength
✅ TREND DETECTION SYSTEM
• Counting-based trend confirmation
• Three states: Up Trend, Down Trend, Ranging
• Requires threshold of consecutive bars
• Independent trend validation
✅ PRICE RANGE VISUALIZATION
• High/Low range lines showing market structure
• Filled area highlighting price volatility
• Helps identify breakout zones
✅ COMPREHENSIVE INFO TABLE
• Real-time trend status
• Last signal type (BUY/SELL)
• Entry price display
• Stop loss level
• All active take profit levels
• Clean, professional layout
✅ OPTIONAL FEATURES
• Bar coloring by trend direction
• Customizable alert notifications
• Toggle visibility for all components
• Fully configurable parameters
📊 HOW IT WORKS
═══════════════════════════════════════════════════════════════════
SIGNAL METHODOLOGY:
BUY SIGNAL generates when ALL conditions are met:
• Smoothed price > Moving Average (upward price trend)
• PVT > PVT Average (volume supporting uptrend)
• ROC > 0 (positive momentum)
• Close > VWMA (above volume-weighted average)
SELL SIGNAL generates when ALL conditions are met:
• Smoothed price < Moving Average (downward price trend)
• PVT < PVT Average (volume supporting downtrend)
• ROC < 0 (negative momentum)
• Close < VWMA (below volume-weighted average)
This multi-factor approach filters out weak signals and waits for
strong convergence before generating alerts.
RISK CALCULATION:
Stop Loss = Entry ± (ATR × SL Multiplier)
• Uses Average True Range for volatility measurement
• Automatically adjusts to market conditions
Take Profit Levels = Entry ± (Risk Distance × TP Multiplier × Level)
• Risk Distance = |Entry - Stop Loss|
• Creates risk-reward based targets
• Example: TP Multiplier 1.0 = 1:1, 2:2, 3:3 risk-reward
⚠️ NOTE: All risk levels are VISUAL REFERENCES for educational study.
They do not execute trades automatically.
⚙️ SETTINGS GUIDE
═══════════════════════════════════════════════════════════════════
SIGNAL SETTINGS:
• Signal Length (14): Main calculation period for averages
• Smooth Length (8): Price data smoothing period
• PVT Length (14): Price Volume Trend calculation period
• ROC Length (9): Rate of Change momentum period
RISK MANAGEMENT (Visual Only):
• ATR Length (14): Volatility measurement lookback
• SL Multiplier (2.2): Stop loss distance (× ATR)
• TP Multiplier (1.0): Risk-reward ratio per TP level
• TP Levels (1-5): Number of take profit targets to display
• Show TP/SL Lines: Toggle visual reference lines
SUPPORT & RESISTANCE:
• Pivot Lookback (10): Sensitivity for S/R detection
• Show SR: Toggle support/resistance lines
VWMA BANDS:
• VWMA Length (20): Volume-weighted average period
• Show Bands: Toggle band visibility
TREND DETECTION:
• Trend Threshold (5): Consecutive bars required for trend
PRICE LINES:
• Period (20): High/low calculation lookback
• Show: Toggle price range visualization
DISPLAY OPTIONS:
• Signals: Show/hide BUY/SELL labels
• Table: Show/hide information panel
• Color Bars: Enable trend-based bar coloring
ALERTS:
• Enable: Activate alert notifications for signals
💡 USAGE INSTRUCTIONS
═══════════════════════════════════════════════════════════════════
RECOMMENDED APPROACH:
• Works on all timeframes (1m to Monthly)
• Suitable for all markets (Stocks, Forex, Crypto, etc.)
• Best used with additional analysis and confirmation
• Always practice proper risk management
ENTRY STRATEGY:
1. Wait for BUY or SELL signal to appear
2. Check trend table for trend confirmation
3. Verify VWMA band color matches signal direction
4. Look for nearby support/resistance confluence
5. Consider entering on next candle open
6. Use visual SL level for risk management
EXIT STRATEGY:
1. Use TP levels as potential exit zones
2. Consider scaling out at multiple TP levels
3. Exit on opposite signal
4. Adjust stops as trade progresses
5. Account for spread and slippage
TREND TRADING:
• "Up Trend" → Focus on BUY signals
• "Down Trend" → Focus on SELL signals
• "Ranging" → Wait for clear trend or use range strategies
🎨 VISUAL ELEMENTS
═══════════════════════════════════════════════════════════════════
• GREEN VWMA BANDS → Bullish trend indication
• RED VWMA BANDS → Bearish trend indication
• ORANGE DASHED LINE → Entry price reference
• RED SOLID LINE → Stop loss level
• GREEN DOTTED LINES → Take profit targets
• RED DASHED LINES → Resistance levels
• GREEN DASHED LINES → Support levels
• GREY FILLED AREA → Price high/low range
• GREEN BUY LABEL → Long signal
• RED SELL LABEL → Short signal
• BLUE INFO TABLE → Current trade details
• GREEN/RED BARS → Trend direction (optional)
⚠️ IMPORTANT NOTES
═══════════════════════════════════════════════════════════════════
RISK WARNING:
• Trading involves substantial risk of loss
• You can lose more than your initial investment
• Past performance does not guarantee future results
• No indicator is 100% accurate
• Always use proper position sizing
• Never risk more than you can afford to lose
EDUCATIONAL PURPOSE:
• This tool is for learning and research
• Not a complete trading system
• Should be combined with other analysis
• Requires interpretation and context
• Test thoroughly before live use
• Consider consulting a financial advisor
TECHNICAL LIMITATIONS:
• Signals lag price action (all indicators lag)
• False signals occur in choppy markets
• Works better in trending conditions
• Support/resistance levels are approximate
• TP/SL levels are suggestions, not guarantees
📚 METHODOLOGY
═══════════════════════════════════════════════════════════════════
This indicator combines established technical analysis concepts:
• Price Volume Trend (PVT): Volume-weighted price momentum
• Rate of Change (ROC): Momentum measurement
• Volume-Weighted Moving Average (VWMA): Trend identification
• Average True Range (ATR): Volatility measurement (J. Welles Wilder)
• Pivot Points: Support/resistance detection
All methods are based on publicly available technical analysis
principles. No proprietary or "secret" algorithms are used.
⚖️ FULL DISCLAIMER
═══════════════════════════════════════════════════════════════════
LIABILITY:
The creator (Zakaria Safri) assumes NO liability for:
• Trading losses or damages of any kind
• Loss of capital or profits
• Incorrect signal interpretation
• Technical issues, bugs, or errors
• Any consequences of using this tool
USER RESPONSIBILITY:
By using this indicator, you acknowledge that:
• You are solely responsible for your trading decisions
• You understand the substantial risks involved
• You will not hold the creator liable for losses
• You will conduct your own research and analysis
• You may consult a licensed financial professional
• You are using this tool entirely at your own risk
AS-IS PROVISION:
This indicator is provided "AS IS" without warranty of any kind,
express or implied, including but not limited to warranties of
merchantability, fitness for a particular purpose, or non-infringement.
The creator is not a registered investment advisor, financial planner,
or broker-dealer. This tool is not approved or endorsed by any
financial authority.
📞 ABOUT THE CREATOR
═══════════════════════════════════════════════════════════════════
Created by: Zakaria Safri
Specialization: Technical analysis indicator development
Focus: Multi-factor analysis, risk visualization, trend detection
This is an educational tool designed to demonstrate technical
analysis concepts and multi-factor signal generation methods.
📋 VERSION INFO
═══════════════════════════════════════════════════════════════════
Version: 1.0
Platform: TradingView Pine Script v5
License: Mozilla Public License 2.0
Creator: Zakaria Safri
Year: 2024
═══════════════════════════════════════════════════════════════════
Study Carefully, Trade Wisely, Manage Risk Properly
TradeVision Pro - Educational Trading Tool
Created by Zakaria Safri
═══════════════════════════════════════════════════════════════════
IU Trade ManagementDESCRIPTION
IU Trade Management is a powerful utility tool designed to help traders manage their trades with precision and clarity. It provides automated Stop Loss, Take Profit, and Break Even calculations using multiple customizable methods. Along with clear SL/TP plotting on the chart, it also displays a detailed trade status table that tracks every important detail including entry price, SL/TP levels, break-even, PNL, and trade duration. This tool is perfect for traders who want to manage risk and rewards visually and systematically.
USER INPUTS :
-Entry Candle Time: Default 20 Jul 2021 00:00 +0300 (select the candle from which the trade begins)
- Entry Price: Default 2333 (define the price at which the trade is executed)
- Trade Direction: Default Long (choose between Long or Short)
- SL/TP Method: Default ATR (options: ATR, Points/Pips, Percentage %, Standard Deviation, Highest/Lowest, Previous High/Low)
- Risk to Reward: Default 3 (set custom risk-to-reward ratio)
- Use Break Even: Default false (option to enable break-even)
- Plot Break Even Line: Default false (option to display BE line)
- RTR of Break Even Point: Default 2 (factor used for BE calculation)
SL/TP Method Specific Inputs:
- ATR Length: Default 14
- ATR Factor: Default 2
- Points/Pips: Default 100
- Percentage: Default 1%
- Standard Deviation Length: Default 20
- Standard Deviation Factor: Default 2
- Highest/Lowest Length: Default 10
Trade Status Table Settings:
- Show Trade Status: Default true
- Table Size: Default small (options: normal, tiny, small, large)
- Table Position: Default top right
- Frame Width: Default 2
- Table Color: Default black
- Frame Color: Default gray
- Border Width: Default 2
- Border Color: Default gray
- Text Color: Default purple (RGB 212, 0, 255)
HOW TO USE THE INDICATOR:
1. Set the entry candle time and entry price manually.
2. Select whether the trade is Long or Short.
3. Choose the preferred SL/TP calculation method (ATR, Percentage, Points, STD, High/Low, Previous High/Low).
4. Define your risk-to-reward ratio and enable break-even if required.
5. The indicator will automatically plot your Entry, Stop Loss, Take Profit, and Break Even levels on the chart.
6. A detailed trade management table will appear, showing trade direction, SL, TP, PNL (points and %), SL/TP method, and total trade time.
WHY IT IS UNIQUE:
- Offers multiple methods to calculate SL and TP (ATR, Percentage, Points, Standard Deviation, High/Low, Previous High/Low)
- Built-in Break Even functionality for risk-free trade management
- Real-time PNL tracking in both points and percentage
- Trade status table for complete transparency on all trade details
- Visual plotting of SL, TP, and Entry with color-coded zones for clarity
HOW USER CAN BENEFIT FROM IT :
- Helps traders manage risk and reward with discipline
- Eliminates guesswork by automating SL and TP levels
- Provides clear visual guidance on trade exits and risk management
- Enhances decision-making with live trade tracking and performance statistics
- Suitable for manual traders as a trade manager and for strategy developers as a risk management reference
LANZ Strategy 7.0🔷 LANZ Strategy 7.0 — Multi-Session Breakout Logic with Midnight-Cross Support, Dynamic SL/TP, Multi-Account Lot Sizing & Real-Time Visual Tracking
LANZ Strategy 7.0 is a robust, visually-driven trading indicator designed to capture high-probability breakouts from a customizable market session.
It includes full support for sessions that cross midnight, dynamic calculation of Entry Price (EP), Stop Loss (SL) and Take Profit (TP) levels, and a multi-account lot sizing panel for precise risk management.
The system is built to only trigger one trade per day and manages the full trade lifecycle with automated visual cleanup and detailed alerts.
📌 This is an indicator, not a strategy — it does not place trades automatically, but provides exact entry setups, SL/TP levels, risk-based lot size guidance, and real-time alerts for execution.
🧠 Core Logic & Features
🚀 Entry Signal (BUY/SELL)
The trading day begins with a Decision Session (yellow box) where the high/low range is recorded.
Once the Operative Session starts (blue zone), the first touch of the session’s high triggers a BUY setup, and the first touch of the session’s low triggers a SELL setup.
Only one valid trade can be triggered per day — the system locks after the first signal.
⚙️ Dynamic Stop Loss & Take Profit
SL levels are derived from the Decision Session high/low using customizable Fibonacci multipliers (independent for BUY and SELL).
TP is dynamically calculated from the EP–SL distance using a user-defined Risk:Reward ratio (R:R).
All EP, SL, and TP levels are drawn as independent lines with customizable colors, label text size, and style.
⏳ Session & Midnight-Cross Support
Works with any custom Decision/Operative session hours, including sessions that start one day and end the next.
Properly tracks time zones using New York session time for consistency.
Includes Cutoff Time: after this limit, no new entries are allowed, and all visuals are auto-cleared if no trade was triggered.
💰 Multi-Account Risk-Based Lot Sizing
Supports up to 5 independent accounts.
Each account can have:
Own capital
Own risk percentage per trade
Lot size is auto-calculated based on:
SL distance (in pips or points)
Pip value (auto-detected for Forex or manually set for indices/commodities)
Results are displayed in a clean lot size info panel.
🖼️ Real-Time Visual Tracking
Dynamic updates to all levels during the Decision Session.
EP, SL, TP lines update if the session high/low changes before the Operative Session starts.
Trade result labels:
SL hit → “–1.00%” in red
TP hit → “+X.XX%” in green
Manual close at Operative End → shows actual % result in blue or purple.
🔔 Alerts for Every Key Event
Session start notification
EP entry triggered
SL or TP hit
Manual close at session end
Missed entry due to cutoff
🧭 Execution Flow
Decision Session (Yellow) — Capture high/low range.
Operative Session (Blue) — First touch of high = BUY setup; first touch of low = SELL setup.
Plot EP, SL, TP lines + calculate lot sizes for all active accounts.
Track trade until SL, TP, or Operative End.
If no entry triggered by Cutoff Time → clean all visuals and notify.
💡 Ideal For:
Traders who operate breakout logic on specific sessions (NY, London, Asian, or custom).
Those managing multiple accounts with strict risk per trade.
Anyone trading assets with sessions crossing midnight.
👨💻 Credits:
Developer: LANZ
Logic Design: LANZ
Built For: Multi-timeframe session breakouts with high precision.
Purpose: One-shot trade per day, risk consistency, and total visual clarity.
TEMA OBOS Strategy PakunTEMA OBOS Strategy
Overview
This strategy combines a trend-following approach using the Triple Exponential Moving Average (TEMA) with Overbought/Oversold (OBOS) indicator filtering.
By utilizing TEMA crossovers to determine trend direction and OBOS as a filter, it aims to improve entry precision.
This strategy can be applied to markets such as Forex, Stocks, and Crypto, and is particularly designed for mid-term timeframes (5-minute to 1-hour charts).
Strategy Objectives
Identify trend direction using TEMA
Use OBOS to filter out overbought/oversold conditions
Implement ATR-based dynamic risk management
Key Features
1. Trend Analysis Using TEMA
Uses crossover of short-term EMA (ema3) and long-term EMA (ema4) to determine entries.
ema4 acts as the primary trend filter.
2. Overbought/Oversold (OBOS) Filtering
Long Entry Condition: up > down (bullish trend confirmed)
Short Entry Condition: up < down (bearish trend confirmed)
Reduces unnecessary trades by filtering extreme market conditions.
3. ATR-Based Take Profit (TP) & Stop Loss (SL)
Adjustable ATR multiplier for TP/SL
Default settings:
TP = ATR × 5
SL = ATR × 2
Fully customizable risk parameters.
4. Customizable Parameters
TEMA Length (for trend calculation)
OBOS Length (for overbought/oversold detection)
Take Profit Multiplier
Stop Loss Multiplier
EMA Display (Enable/Disable TEMA lines)
Bar Color Change (Enable/Disable candle coloring)
Trading Rules
Long Entry (Buy Entry)
ema3 crosses above ema4 (Golden Cross)
OBOS indicator confirms up > down (bullish trend)
Execute a buy position
Short Entry (Sell Entry)
ema3 crosses below ema4 (Death Cross)
OBOS indicator confirms up < down (bearish trend)
Execute a sell position
Take Profit (TP)
Entry Price + (ATR × TP Multiplier) (Default: 5)
Stop Loss (SL)
Entry Price - (ATR × SL Multiplier) (Default: 2)
TP/SL settings are fully customizable to fine-tune risk management.
Risk Management Parameters
This strategy emphasizes proper position sizing and risk control to balance risk and return.
Trading Parameters & Considerations
Initial Account Balance: $7,000 (adjustable)
Base Currency: USD
Order Size: 10,000 USD
Pyramiding: 1
Trading Fees: $0.94 per trade
Long Position Margin: 50%
Short Position Margin: 50%
Total Trades (M5 Timeframe): 128
Deep Test Results (2024/11/01 - 2025/02/24)BTCUSD-5M
Total P&L:+1638.20USD
Max equity drawdown:694.78USD
Total trades:128
Profitable trades:44.53
Profit factor:1.45
These settings aim to protect capital while maintaining a balanced risk-reward approach.
Visual Support
TEMA Lines (Three EMAs)
Trend direction is indicated by color changes (Blue/Orange)
ema3 (short-term) and ema4 (long-term) crossover signals potential entries
OBOS Histogram
Green → Strong buying pressure
Red → Strong selling pressure
Blue → Possible trend reversal
Entry & Exit Markers
Blue Arrow → Long Entry Signal
Red Arrow → Short Entry Signal
Take Profit / Stop Loss levels displayed
Strategy Improvements & Uniqueness
This strategy is based on indicators developed by "l_lonthoff" and "jdmonto0", but has been significantly optimized for better entry accuracy, visual clarity, and risk management.
Enhanced Trend Identification with TEMA
Detects early trend reversals using ema3 & ema4 crossover
Reduces market noise for a smoother trend-following approach
Improved OBOS Filtering
Prevents excessive trading
Reduces unnecessary risk exposure
Dynamic Risk Management with ATR-Based TP/SL
Not a fixed value → TP/SL adjusts to market volatility
Fully customizable ATR multiplier settings
(Default: TP = ATR × 5, SL = ATR × 2)
Summary
The TEMA + OBOS Strategy is a simple yet powerful trading method that integrates trend analysis and oscillators.
TEMA for trend identification
OBOS for noise reduction & overbought/oversold filtering
ATR-based TP/SL settings for dynamic risk management
Before using this strategy, ensure thorough backtesting and demo trading to fine-tune parameters according to your trading style.
Calculator - AOC📊 Calculator - AOC Indicator 🚀
The Calculator - AOC indicator is a powerful and user-friendly tool designed for TradingView to help traders plan and visualize trades with precision. It calculates key trade metrics, displays entry, take-profit (TP), stop-loss (SL), and liquidation levels, and provides a clear overview of risk management and potential profits. Perfect for both novice and experienced traders! 💡
✨ Features
📈 Trade Planning: Input your Entry Price, Take Profit (TP), Stop Loss (SL), and Trade Direction (Long/Short) to visualize your trade setup on the chart.
💰 Risk Management: Set your Initial Capital and Risk per Trade (%) to calculate the optimal Position Size and Risk Amount for each trade.
⚖️ Leverage Support: Define your Leverage to compute the Required Margin and Liquidation Price, ensuring you stay aware of potential risks.
📊 Risk/Reward Ratio: Automatically calculates the Risk-to-Reward Ratio to evaluate trade profitability.
🎨 Visuals: Displays Entry, TP, SL, and Liquidation levels as lines and boxes on the chart, with customizable Line Width, Line Style, and Label Size.
✅ Trade Validation: Checks if your trade setup is valid (e.g., correct TP/SL placement) and highlights issues like potential liquidation risks with color-coded statuses (Correct ✅, Incorrect ❌, or Liquidation ⚠️).
📋 Summary Table: A clean, top-right table summarizes key metrics: Capital, Risk %, Risk Amount, Position Size, Potential Profit, Risk/Reward, Margin, Liquidation Price, Trade Status, and % to TP/SL.
🖌️ Customization: Adjust Line Extension (Bars) for how far lines extend, and choose from Solid, Dashed, or Dotted line styles for a personalized chart experience.
🛠️ How to Use
Add to Chart: Apply the indicator to your TradingView chart.
Configure Inputs:
Accountability: Set your Initial Capital and Risk per Trade (%).
Target: Enter Entry Price, TP, and SL prices.
Leverage: Specify your leverage (e.g., 10x).
Direction: Choose Long or Short.
Display Settings: Customize Line Width, Line Style, Label Size, and Line Extension.
Analyze: The indicator plots Entry, TP, SL, and Liquidation levels on the chart and displays a table with all trade metrics.
Validate: Check the Trade Status in the table to ensure your setup is valid or if adjustments are needed.
🎯 Why Use It?
Plan Smarter: Visualize your trade setup and understand your risk/reward profile instantly.
Stay Disciplined: Precise position sizing and risk calculations help you stick to your trading plan.
Avoid Mistakes: Clear validation warnings prevent costly errors like incorrect TP/SL placement or liquidation risks.
User-Friendly: Intuitive visuals and a summary table make trade analysis quick and easy.
📝 Notes
Ensure Entry, TP, and SL prices align with your trade direction to avoid "Incorrect" or "Liquidation" statuses.
The indicator updates dynamically on the latest bar, ensuring real-time visuals.
Best used with proper risk management to maximize trading success! 💪
Happy trading! 🚀📈
Dskyz (DAFE) Aurora Divergence – Quant Master Dskyz (DAFE) Aurora Divergence – Quant Master
Introducing the Dskyz (DAFE) Aurora Divergence – Quant Master , a strategy that’s your secret weapon for mastering futures markets like MNQ, NQ, MES, and ES. Born from the legendary Aurora Divergence indicator, this fully automated system transforms raw divergence signals into a quant-grade trading machine, blending precision, risk management, and cyberpunk DAFE visuals that make your charts glow like a neon skyline. Crafted with care and driven by community passion, this strategy stands out in a sea of generic scripts, offering traders a unique edge to outsmart institutional traps and navigate volatile markets.
The Aurora Divergence indicator was a cult favorite for spotting price-OBV divergences with its aqua and fuchsia orbs, but traders craved a system to act on those signals with discipline and automation. This strategy delivers, layering advanced filters (z-score, ATR, multi-timeframe, session), dynamic risk controls (kill switches, adaptive stops/TPs), and a real-time dashboard to turn insights into profits. Whether you’re a newbie dipping into futures or a pro hunting reversals, this strat’s got your back with a beginner guide, alerts, and visuals that make trading feel like a sci-fi mission. Let’s dive into every detail and see why this original DAFE creation is a must-have.
Why Traders Need This Strategy
Futures markets are a battlefield—fast-paced, volatile, and riddled with institutional games that can wipe out undisciplined traders. From the April 28, 2025 NQ 1k-point drop to sneaky ES slippage, the stakes are high. Meanwhile, platforms are flooded with unoriginal, low-effort scripts that promise the moon but deliver noise. The Aurora Divergence – Quant Master rises above, offering:
Unmatched Originality: A bespoke system built from the ground up, with custom divergence logic, DAFE visuals, and quant filters that set it apart from copycat clutter.
Automation with Precision: Executes trades on divergence signals, eliminating emotional slip-ups and ensuring consistency, even in chaotic sessions.
Quant-Grade Filters: Z-score, ATR, multi-timeframe, and session checks filter out noise, targeting high-probability reversals.
Robust Risk Management: Daily loss and rolling drawdown kill switches, plus ATR-based stops/TPs, protect your capital like a fortress.
Stunning DAFE Visuals: Aqua/fuchsia orbs, aurora bands, and a glowing dashboard make signals intuitive and charts a work of art.
Community-Driven: Evolved from trader feedback, this strat’s a labor of love, not a recycled knockoff.
Traders need this because it’s a complete, original system that blends accessibility, sophistication, and style. It’s your edge to trade smarter, not harder, in a market full of traps and imitators.
1. Divergence Detection (Core Signal Logic)
The strategy’s core is its ability to detect bullish and bearish divergences between price and On-Balance Volume (OBV), pinpointing reversals with surgical accuracy.
How It Works:
Price Slope: Uses linear regression over a lookback (default: 9 bars) to measure price momentum (priceSlope).
OBV Slope: OBV tracks volume flow (+volume if price rises, -volume if falls), with its slope calculated similarly (obvSlope).
Bullish Divergence: Price slope negative (falling), OBV slope positive (rising), and price above 50-bar SMA (trend_ma).
Bearish Divergence: Price slope positive (rising), OBV slope negative (falling), and price below 50-bar SMA.
Smoothing: Requires two consecutive divergence bars (bullDiv2, bearDiv2) to confirm signals, reducing false positives.
Strength: Divergence intensity (divStrength = |priceSlope * obvSlope| * sensitivity) is normalized (0–1, divStrengthNorm) for visuals.
Why It’s Brilliant:
- Divergences catch hidden momentum shifts, often exploited by institutions, giving you an edge on reversals.
- The 50-bar SMA filter aligns signals with the broader trend, avoiding choppy markets.
- Adjustable lookback (min: 3) and sensitivity (default: 1.0) let you tune for different instruments or timeframes.
2. Filters for Precision
Four advanced filters ensure signals are high-probability and market-aligned, cutting through the noise of volatile futures.
Z-Score Filter:
Logic: Calculates z-score ((close - SMA) / stdev) over a lookback (default: 50 bars). Blocks entries if |z-score| > threshold (default: 1.5) unless disabled (useZFilter = false).
Impact: Avoids trades during extreme price moves (e.g., blow-off tops), keeping you in statistically safe zones.
ATR Percentile Volatility Filter:
Logic: Tracks 14-bar ATR in a 100-bar window (default). Requires current ATR > 80th percentile (percATR) to trade (tradeOk).
Impact: Ensures sufficient volatility for meaningful moves, filtering out low-volume chop.
Multi-Timeframe (HTF) Trend Filter:
Logic: Uses a 50-bar SMA on a higher timeframe (default: 60min). Longs require price > HTF MA (bullTrendOK), shorts < HTF MA (bearTrendOK).
Impact: Aligns trades with the bigger trend, reducing counter-trend losses.
US Session Filter:
Logic: Restricts trading to 9:30am–4:00pm ET (default: enabled, useSession = true) using America/New_York timezone.
Impact: Focuses on high-liquidity hours, avoiding overnight spreads and erratic moves.
Evolution:
- These filters create a robust signal pipeline, ensuring trades are timed for optimal conditions.
- Customizable inputs (e.g., zThreshold, atrPercentile) let traders adapt to their style without compromising quality.
3. Risk Management
The strategy’s risk controls are a masterclass in balancing aggression and safety, protecting capital in volatile markets.
Daily Loss Kill Switch:
Logic: Tracks daily loss (dayStartEquity - strategy.equity). Halts trading if loss ≥ $300 (default) and enabled (killSwitch = true, killSwitchActive).
Impact: Caps daily downside, crucial during events like April 27, 2025 ES slippage.
Rolling Drawdown Kill Switch:
Logic: Monitors drawdown (rollingPeak - strategy.equity) over 100 bars (default). Stops trading if > $1000 (rollingKill).
Impact: Prevents prolonged losing streaks, preserving capital for better setups.
Dynamic Stop-Loss and Take-Profit:
Logic: Stops = entry ± ATR * multiplier (default: 1.0x, stopDist). TPs = entry ± ATR * 1.5x (profitDist). Longs: stop below, TP above; shorts: vice versa.
Impact: Adapts to volatility, keeping stops tight but realistic, with TPs targeting 1.5:1 reward/risk.
Max Bars in Trade:
Logic: Closes trades after 8 bars (default) if not already exited.
Impact: Frees capital from stagnant trades, maintaining efficiency.
Kill Switch Buffer Dashboard:
Logic: Shows smallest buffer ($300 - daily loss or $1000 - rolling DD). Displays 0 (red) if kill switch active, else buffer (green).
Impact: Real-time risk visibility, letting traders adjust dynamically.
Why It’s Brilliant:
- Kill switches and ATR-based exits create a safety net, rare in generic scripts.
- Customizable risk inputs (maxDailyLoss, dynamicStopMult) suit different account sizes.
- Buffer metric empowers disciplined trading, a DAFE signature.
4. Trade Entry and Exit Logic
The entry/exit rules are precise, filtered, and adaptive, ensuring trades are deliberate and profitable.
Entry Conditions:
Long Entry: bullDiv2, cooldown passed (canSignal), ATR filter passed (tradeOk), in US session (inSession), no kill switches (not killSwitchActive, not rollingKill), z-score OK (zOk), HTF trend bullish (bullTrendOK), no existing long (lastDirection != 1, position_size <= 0). Closes shorts first.
Short Entry: Same, but for bearDiv2, bearTrendOK, no long (lastDirection != -1, position_size >= 0). Closes longs first.
Adaptive Cooldown: Default 2 bars (cooldownBars). Doubles (up to 10) after a losing trade, resets after wins (dynamicCooldown).
Exit Conditions:
Stop-Loss/Take-Profit: Set per trade (ATR-based). Exits on stop/TP hits.
Other Exits: Closes if maxBarsInTrade reached, ATR filter fails, or kill switch activates.
Position Management: Ensures no conflicting positions, closing opposites before new entries.
Built To Be Reliable and Consistent:
- Multi-filtered entries minimize false signals, a stark contrast to basic scripts.
- Adaptive cooldown prevents overtrading, especially after losses.
- Clean position handling ensures smooth execution, even in fast markets.
5. DAFE Visuals
The visuals are a DAFE hallmark, blending function with clean flair to make signals intuitive and charts stunning.
Aurora Bands:
Display: Bands around price during divergences (bullish: below low, bearish: above high), sized by ATR * bandwidth (default: 0.5).
Colors: Aqua (bullish), fuchsia (bearish), with transparency tied to divStrengthNorm.
Purpose: Highlights divergence zones with a glowing, futuristic vibe.
Divergence Orbs:
Display: Large/small circles (aqua below for bullish, fuchsia above for bearish) when bullDiv2/bearDiv2 and canSignal. Labels show strength (0–1).
Purpose: Pinpoints entries with eye-catching clarity.
Gradient Background:
Display: Green (bullish), red (bearish), or gray (neutral), 90–95% transparent.
Purpose: Sets the market mood without clutter.
Strategy Plots:
- Stop/TP Lines: Red (stops), green (TPs) for active trades.
- HTF MA: Yellow line for trend context.
- Z-Score: Blue step-line (if enabled).
- Kill Switch Warning: Red background flash when active.
What Makes This Next-Level?:
- Visuals make complex signals (divergences, filters) instantly clear, even for beginners.
- DAFE’s unique aesthetic (orbs, bands) sets it apart from generic scripts, reinforcing originality.
- Functional plots (stops, TPs) enhance trade management.
6. Metrics Dashboard
The top-right dashboard (2x8 table) is your command center, delivering real-time insights.
Metrics:
Daily Loss ($): Current loss vs. day’s start, red if > $300.
Rolling DD ($): Drawdown vs. 100-bar peak, red if > $1000.
ATR Threshold: Current percATR, green if ATR exceeds, red if not.
Z-Score: Current value, green if within threshold, red if not.
Signal: “Bullish Div” (aqua), “Bearish Div” (fuchsia), or “None” (gray).
Action: “Consider Buying”/“Consider Selling” (signal color) or “Wait” (gray).
Kill Switch Buffer ($): Smallest buffer to kill switch, green if > 0, red if 0.
Why This Is Important?:
- Consolidates critical data, making decisions effortless.
- Color-coded metrics guide beginners (e.g., green action = go).
- Buffer metric adds transparency, rare in off-the-shelf scripts.
7. Beginner Guide
Beginner Guide: Middle-right table (shown once on chart load), explains aqua orbs (bullish, buy) and fuchsia orbs (bearish, sell).
Key Features:
Futures-Optimized: Tailored for MNQ, NQ, MES, ES with point-value adjustments.
Highly Customizable: Inputs for lookback, sensitivity, filters, and risk settings.
Real-Time Insights: Dashboard and visuals update every bar.
Backtest-Ready: Fixed qty and tick calc for accurate historical testing.
User-Friendly: Guide, visuals, and dashboard make it accessible yet powerful.
Original Design: DAFE’s unique logic and visuals stand out from generic scripts.
How to Use
Add to Chart: Load on a 5min MNQ/ES chart in TradingView.
Configure Inputs: Adjust instrument, filters, or risk (defaults optimized for MNQ).
Monitor Dashboard: Watch signals, actions, and risk metrics (top-right).
Backtest: Run in strategy tester to evaluate performance.
Live Trade: Connect to a broker (e.g., Tradovate) for automation. Watch for slippage (e.g., April 27, 2025 ES issues).
Replay Test: Use bar replay (e.g., April 28, 2025 NQ drop) to test volatility handling.
Disclaimer
Trading futures involves significant risk of loss and is not suitable for all investors. Past performance is not indicative of future results. Backtest results may not reflect live trading due to slippage, fees, or market conditions. Use this strategy at your own risk, and consult a financial advisor before trading. Dskyz (DAFE) Trading Systems is not responsible for any losses incurred.
Backtesting:
Frame: 2023-09-20 - 2025-04-29
Fee Typical Range (per side, per contract)
CME Exchange $1.14 – $1.20
Clearing $0.10 – $0.30
NFA Regulatory $0.02
Firm/Broker Commis. $0.25 – $0.80 (retail prop)
TOTAL $1.60 – $2.30 per side
Round Turn: (enter+exit) = $3.20 – $4.60 per contract
Final Notes
The Dskyz (DAFE) Aurora Divergence – Quant Master isn’t just a strategy—it’s a movement. Crafted with originality and driven by community passion, it rises above the flood of generic scripts to deliver a system that’s as powerful as it is beautiful. With its quant-grade logic, DAFE visuals, and robust risk controls, it empowers traders to tackle futures with confidence and style. Join the DAFE crew, light up your charts, and let’s outsmart the markets together!
(This publishing will most likely be taken down do to some miscellaneous rule about properly displaying charting symbols, or whatever. Once I've identified what part of the publishing they want to pick on, I'll adjust and repost.)
Use it with discipline. Use it with clarity. Trade smarter.
**I will continue to release incredible strategies and indicators until I turn this into a brand or until someone offers me a contract.
Created by Dskyz, powered by DAFE Trading Systems. Trade fast, trade bold.
Cumulative Volume Delta Strategy | Flux Charts💎 GENERAL OVERVIEW
Introducing the Cumulative Volume Delta Strategy (CVDS) Indicator, an advanced tool designed to enhance trading strategies by identifying potential trend reversals through volume dynamics. This script features integrated order block detection, Fair Value Gaps (FVGs), and a dynamic take-profit (TP) and stop-loss (SL) system. For an in-depth understanding of the strategy, refer to the "HOW DOES IT WORK?" section below.
Features of the new Cumulative Volume Delta Strategy (CVDS) Indicator :
Cumulative Volume Delta-based Strategy
Order Block and Fair Value Gap (FVG) Entry Methods
Dynamic TP/SL System
Customizable Risk Management Settings
Alerts for Buy, Sell, TP, and SL Signals
📌 HOW DOES IT WORK ?
The CVDS indicator operates by tracking the net volume difference between buyers and sellers to identify divergences that could indicate potential trend reversals. A cumulative volume delta (CVD) calculation is employed to measure the intensity of these divergences in relation to price movements. The net volume sum is reset every trading day (can be changed from the settings using the anchor period option), and divergences are detected when the cumulative volume crosses the 0-line over or under.
Once a significant divergence is detected, the indicator identifies breakout points, confirmed by either Fair Value Gaps (FVGs) or Order Blocks (OBs). Depending on your chosen entry mode, the indicator will trigger a buy or sell entry when the confirmation signal aligns with the breakout direction. Alerts for Buy, Sell, Take-Profit, and Stop-Loss are available.
Note that the indicator cannot run on 1-minute and 1-second charts, as it needs to get data from a lower timeframe. 1-minutes & 1-second timeframes are the minimum timeframes in their ranges respectively.
🚩 UNIQUENESS
What sets this indicator apart is the combination of volume divergence analysis with advanced price action tools like Fair Value Gaps (FVGs) and Order Blocks (OBs). The ability to choose between these methods, along with a dynamic TP/SL system that adapts based on volatility, provides flexibility for traders in any market condition. The backtesting dashboard provides metrics about the performance of the indicator. You can use it to tune the settings for best use in the current ticker. The CVD-based strategy ensures that trades are initiated only when meaningful divergences between volume and price occur, filtering out noise and increasing the likelihood of profitable trades.
⚙️ SETTINGS
1. General Configuration
Anchor Period: Time anchor period used in CVD calculation. This is essentially the period that the volume delta sum will be reset. Lower timeframes may result in more entries at the cost of less reliable results.
Entry Mode: Choose between FVGs or OBs to trigger your entries based on the confirmation signals.
Retracement Requirement: Enable to confirm the entry after a retracement toward the FVG or OB.
2. Fair Value Gaps
FVG Sensitivity: Modify the sensitivity of FVG detection, allowing for more or fewer gaps to be considered valid.
3. Order Blocks (OB)
Swing Length: Define the swing length to identify OB formations. Shorter lengths find smaller OBs, while longer lengths detect larger structures.
4. TP / SL
TP / SL Method:
a) Dynamic: The TP / SL zones will be auto-determined by the algorithm based on the Average True Range (ATR) of the current ticker.
b) Fixed : You can adjust the exact TP / SL ratios from the settings below.
Dynamic Risk: The risk you're willing to take if "Dynamic" TP / SL Method is selected. Higher risk usually means a better winrate at the cost of losing more if the strategy fails. This setting is has a crucial effect on the performance of the indicator, as different tickers may have different volatility so the indicator may have increased performance when this setting is correctly adjusted.
Candle Range Theory | Flux Charts💎 GENERAL OVERVIEW
Introducing our new Candle Range Theory Indicator! This powerful tool offers a strategy built around the Candle Range Theory, which analyzes market movements through the relative size and structure of price candles. For more information about the process, check the "HOW DOES IT WORK" section.
Features of the new Candle Range Theory Indicator :
Implementation of the Candle Range Theory
FVG & Order Block Entry Methods
2 Different TP / SL Methods
Customizable Execution Settings
Customizable Backtesting Dashboard
Alerts for Buy, Sell, TP & SL Signals
📌 HOW DOES IT WORK ?
The Candle Range Theory (CRT) indicator operates by identifying significant price movements through the relative size and structure of candlesticks. A key part of the strategy is determining large candles based on their range compared to the Average True Range (ATR) in a higher timeframe. Once identified, a breakout of either the high wick or the low wick of the large candle is required. This breakout is considered a liquidity grab. After that, the indicator waits for confirmation through Fair Value Gaps (FVGs) or Order Blocks (OBs). The confirmation structure must be the opposite direction of the breakout, for example if the high wick is broken, a bearish FVG is required for the short entry. After a confirmation signal is received, the indicator will trigger entry points based on your chosen entry method (FVG or OB), and exit points will be calculated using either a dynamic ATR-based TP/SL method or fixed percentages. Alerts for Buy, Sell, Take-Proft, and Stop-Loss are available.
🚩 UNIQUENESS
This indicator stands out because it combines two highly effective entry methods: Fair Value Gaps (FVGs) and Order Blocks (OBs). You can choose between these strategies depending on market conditions. Additionally, the dynamic TP/SL system uses the ticker's volatility to automatically calculate stop-loss and take-profit targets. The backtesting dashboard provides metrics about the performance of the indicator. You can use it to tune the settings for best use in the current tiker. The Candle Range Theory approach offers more flexibility compared to traditional indicators, allowing for better customization and control based on your risk tolerance.
⚙️ SETTINGS
1. General Configuration
Higher Timeframe: Customize the higher timeframe for analysis. Recommended combinations include M15 -> H4, H4 -> Daily, Daily -> Weekly, and Weekly -> Monthly.
HTF Candle Size: Define the size of the higher timeframe candles as Big, Normal, or Small to filter valid setups based on their range relative to ATR.
Entry Mode: Choose between FVGs and Order Blocks for your entry triggers.
Require Retracement: Enable this option if you want a retracement to the FVG or OB for entry confirmation.
Show HTF Candle Lines: Toggle to display the higher timeframe candle lines for better visual clarity.
2. Fair Value Gaps
FVG Sensitivity: You may select between Low, Normal, High or Extreme FVG detection sensitivity. This will essentially determine the size of the spotted FVGs, with lower sensitivities resulting in spotting bigger FVGs, and higher sensitivities resulting in spotting all sizes of FVGs.
3. Order Blocks
Swing Length: Swing length is used when finding order block formations. Smaller values will result in finding smaller order blocks.
4. TP / SL
TP / SL Method:
a) Dynamic: The TP / SL zones will be auto-determined by the algorithm based on the Average True Range (ATR) of the current ticker.
b) Fixed : You can adjust the exact TP / SL ratios from the settings below.
Dynamic Risk: The risk you're willing to take if "Dynamic" TP / SL Method is selected. Higher risk usually means a better winrate at the cost of losing more if the strategy fails. This setting is has a crucial effect on the performance of the indicator, as different tickers may have different volatility so the indicator may have increased performance when this setting is correctly adjusted.
Uptrick: Imbalance MA Trailing System
### **Overview**
The "Uptrick: Imbalance MA Trailing System" is a complex trading indicator designed to help traders identify potential bullish and bearish imbalances in the market, coupled with a trailing stop mechanism to manage trades. The indicator uses a combination of moving averages, Average True Range (ATR), and custom logic to detect trading signals and plot various levels on the chart to assist traders in making informed decisions.
### **Key Components and Functionality**
#### 1. **Inputs and Configuration**
- **Imbalance Filter (`imbalanceFilter`)**: This input sets the filter for detecting imbalances based on the difference between two price points. The value is a float and can be adjusted to fine-tune the sensitivity of imbalance detection. The default value is `0.0`, with a step size of `0.1`.
- **Moving Average Settings (`maLength1`, `maLength2`, `maColor1`, `maColor2`)**:
- `maLength1` and `maLength2` define the lengths of the two moving averages used in the indicator. By default, they are set to `50` and `200` periods, respectively.
- `maColor1` and `maColor2` specify the colors of these moving averages on the chart. The first MA is colored blue, and the second is red.
- **Take Profit and Stop Loss Settings (`displayTP`, `tpMultiplier`, `tpColor`, `displaySL`, `slMultiplier`, `slColor`)**:
- `displayTP` and `displaySL` are boolean inputs that control whether the TP and SL areas are displayed on the chart.
- `tpMultiplier` and `slMultiplier` are multipliers used to calculate the TP and SL levels relative to the detected imbalance level using the ATR value.
- `tpColor` and `slColor` define the colors of these areas. The TP area is green (with a transparency of 50), and the SL area is red (with a transparency of 50).
- **Trailing Stop Settings (`trailMultiplier`)**: This setting determines the multiplier used to calculate the trailing stop level based on the ATR value. The default multiplier is `2.5`.
- **Style Settings (`bullishColor`, `bearishColor`)**:
- `bullishColor` and `bearishColor` set the colors for bullish and bearish zones created when an imbalance is detected. The bullish zone is green, and the bearish zone is red.
- **Signal Label Size (`labelSizeOption`)**: The size of the signal labels displayed on the chart can be adjusted. The options include `Tiny`, `Small`, `Normal`, `Large`, and `Huge`. The selected size affects the visual prominence of the labels.
#### 2. **ATR Calculation (`atrValue`)**
- The ATR value is calculated using a period of 14, which is a standard setting for measuring market volatility. This value is used extensively throughout the indicator to calculate TP, SL, and trailing stop levels.
#### 3. **Imbalance Detection and Zone Creation**
- The indicator detects potential imbalances in the market by comparing certain price points, using a custom function (`imbalanceCondition`).
- **Bullish Imbalance Detection (`bullishSignal`)**:
- A bullish imbalance is detected when the low of three bars ago is higher than the high of one bar ago, and the current close is above the low of three bars ago.
- Additional conditions include checking that the current close is above the calculated average of the two moving averages (`ma1` and `ma2`), and that the imbalance exceeds the threshold set by the `imbalanceFilter`.
- **Bearish Imbalance Detection (`bearishSignal`)**:
- A bearish imbalance is detected under conditions where the low of one bar ago is higher than the high of three bars ago, and the current close is below the high of three bars ago.
- Like the bullish signal, the close must also be below the average of the two moving averages, and the imbalance must exceed the `imbalanceFilter` threshold.
- Upon detection of an imbalance (either bullish or bearish), the indicator creates a zone using `box.new` that highlights the price range of the imbalance. The box color corresponds to the bullish or bearish nature of the signal.
- The center of the imbalance range is marked with a dashed line, and a corresponding label (`🔴` for bearish and `🟢` for bullish) is placed on the chart to indicate the detected signal.
#### 4. **Take Profit and Stop Loss Calculation (`calculateTPSL`)**
- When an imbalance is detected, the indicator calculates potential TP and SL levels based on the ATR value and the respective multipliers.
- If the TP or SL areas are enabled, the indicator plots these areas as colored boxes on the chart.
- The function also tracks whether these levels are hit by subsequent price action, updating the status (`reached`) as appropriate.
#### 5. **Trailing Stop Logic (`applyTrailingStop`)**
- The trailing stop feature is a dynamic mechanism that adjusts the stop level as the price moves in the trader's favor.
- The trailing stop is calculated using the ATR value multiplied by the `trailMultiplier`.
- If the trailing stop is triggered (i.e., the price crosses the trailing stop level), the indicator marks the trade as stopped out.
#### 6. **Plotting and Visualization**
- The indicator plots the two moving averages on the chart with the specified colors and line width.
- If a trailing stop is active, it plots the trailing stop level on the chart, updating as the stop moves.
- The bar color changes based on the status of the current signal and whether the trailing stop or TP/SL levels have been hit.
### **Detailed Execution Flow**
1. **Initialization**: The indicator initializes several variables, including lines, boxes, and the current signal state. This setup ensures that the script can dynamically update these elements as new price data comes in.
2. **Moving Average Calculation**: The moving averages (`ma1` and `ma2`) are calculated using simple moving average (SMA) functions, which are foundational for many of the indicator's conditions.
3. **Imbalance Detection**: The script evaluates price action to detect potential bullish or bearish imbalances, applying filters based on the user-defined `imbalanceFilter`.
4. **Zone Creation and Labeling**: Upon detecting an imbalance, the script creates visual zones on the chart using the `box.new` function and labels the zones for easy identification.
5. **Take Profit and Stop Loss Logic**: The TP and SL areas are calculated and plotted if the relevant settings are enabled. The script continuously checks if these levels are reached as new bars form.
6. **Trailing Stop Calculation**: The script dynamically adjusts the trailing stop level based on the price movement and ATR value. The trailing stop helps lock in profits as the trade progresses.
7. **Plotting**: The moving averages, trailing stop levels, and bar colors are plotted on the chart, providing a visual representation of the indicator's signals and trade management levels.
8. **Final Checks and Updates**: The script concludes each bar's processing by updating the status of various elements, such as whether levels have been reached or if the trailing stop has been triggered.
### **Conclusion**
The "Uptrick: Imbalance MA Trailing System" is a highly versatile indicator designed for traders who want to identify market imbalances and manage their trades effectively using a combination of moving averages, ATR-based calculations, and custom logic. The indicator offers a wide range of customization options, allowing traders to adjust the sensitivity of imbalance detection, the size of the signal labels, and the visibility of various trade management levels (TP, SL, and trailing stop).
The combination of these features makes it a powerful tool for both novice and experienced traders, providing clear visual cues and robust trade management capabilities directly on the chart.
RSI & Backed-Weighted MA StrategyRSI & MA Strategy :
INTRODUCTION :
This strategy is based on two well-known indicators that work best together: the Relative Strength Index (RSI) and the Moving Average (MA). We're going to use the RSI as a trend-follower indicator, rather than a reversal indicator as most are used to. To the signals sent by the RSI, we'll add a condition on the chart's MA, filtering out irrelevant signals and considerably increasing our winning rate. This is a medium/long-term strategy. There's also a money management method enabling us to reinvest part of the profits or reduce the size of orders in the event of substantial losses.
RSI :
The RSI is one of the best-known and most widely used indicators in trading. Its purpose is to warn traders when an asset is overbought or oversold. It was designed to send reversal signals, but we're going to use it as a trend indicator by increasing its length to 20. The RSI formula is as follows :
RSI (n) = 100 - (100 / (1 + (H (n)/L (n))))
With n the length of the RSI, H(n) the average of days closing above the open and L(n) the average of days closing below the open.
MA :
The Moving Average is also widely used in technical analysis, to smooth out variations in an asset. The SMA formula is as follows :
SMA (n) = (P1 + P2 + ... + Pn) / n
where n is the length of the MA.
However, an SMA does not weight any of its terms, which means that the price 10 days ago has the same importance as the price 2 days ago or today's price... That's why in this strategy we use a RWMA, i.e. a back-weighted moving average. It weights old prices more heavily than new ones. This will enable us to limit the impact of short-term variations and focus on the trend that was dominating. The RWMA used weights :
The 4 most recent terms by : 100 / (4+(n-4)*1.30)
The other oldest terms by : weight_4_first_term*1.30
So the older terms are weighted 1.30 more than the more recent ones. The moving average thus traces a trend that accentuates past values and limits the noise of short-term variations.
PARAMETERS :
RSI Length : Lenght of RSI. Default is 20.
MA Type : Choice between a SMA or a RWMA which permits to minimize the impact of short term reversal. Default is RWMA.
MA Length : Length of the selected MA. Default is 19.
RSI Long Signal : Minimum value of RSI to send a LONG signal. Default is 60.
RSI Short signal : Maximum value of RSI to send a SHORT signal. Default is 40.
ROC MA Long Signal : Maximum value of Rate of Change MA to send a LONG signal. Default is 0.
ROC MA Short signal : Minimum value of Rate of Change MA to send a SHORT signal. Default is 0.
TP activation in multiple of ATR : Threshold value to trigger trailing stop Take Profit. This threshold is calculated as multiple of the ATR (Average True Range). Default value is 5 meaning that to trigger the trailing TP the price need to move 5*ATR in the right direction.
Trailing TP in percentage : Percentage value of trailing Take Profit. This Trailing TP follows the profit if it increases, remaining selected percentage below it, but stops if the profit decreases. Default is 3%.
Fixed Ratio : This is the amount of gain or loss at which the order quantity is changed. Default is 400, which means that for each $400 gain or loss, the order size is increased or decreased by a user-selected amount.
Increasing Order Amount : This is the amount to be added to or subtracted from orders when the fixed ratio is reached. The default is $200, which means that for every $400 gain, $200 is reinvested in the strategy. On the other hand, for every $400 loss, the order size is reduced by $200.
Initial capital : $1000
Fees : Interactive Broker fees apply to this strategy. They are set at 0.18% of the trade value.
Slippage : 3 ticks or $0.03 per trade. Corresponds to the latency time between the moment the signal is received and the moment the order is executed by the broker.
Important : A bot has been used to test the different parameters and determine which ones maximize return while limiting drawdown. This strategy is the most optimal on BITSTAMP:ETHUSD with a timeframe set to 6h. Parameters are set as follows :
MA type: RWMA
MA Length: 19
RSI Long Signal: >60
RSI Short Signal : <40
ROC MA Long Signal : <0
ROC MA Short Signal : >0
TP Activation in multiple ATR : 5
Trailing TP in percentage : 3
ENTER RULES :
The principle is very simple:
If the asset is overbought after a bear market, we are LONG.
If the asset is oversold after a bull market, we are SHORT.
We have defined a bear market as follows : Rate of Change (20) RWMA < 0
We have defined a bull market as follows : Rate of Change (20) RWMA > 0
The Rate of Change is calculated using this formula : (RWMA/RWMA(20) - 1)*100
Overbought is defined as follows : RSI > 60
Oversold is defined as follows : RSI < 40
LONG CONDITION :
RSI > 60 and (RWMA/RWMA(20) - 1)*100 < -1
SHORT CONDITION :
RSI < 40 and (RWMA/RWMA(20) - 1)*100 > 1
EXIT RULES FOR WINNING TRADE :
We have a trailing TP allowing us to exit once the price has reached the "TP Activation in multiple ATR" parameter, i.e. 5*ATR by default in the profit direction. TP trailing is triggered at this point, not limiting our gains, and securing our profits at 3% below this trigger threshold.
Remember that the True Range is : maximum(H-L, H-C(1), C-L(1))
with C : Close, H : High, L : Low
The Average True Range is therefore the average of these TRs over a length defined by default in the strategy, i.e. 20.
RISK MANAGEMENT :
This strategy may incur losses. The method for limiting losses is to set a Stop Loss equal to 3*ATR. This means that if the price moves against our position and reaches three times the ATR, we exit with a loss.
Sometimes the ATR can result in a SL set below 10% of the trade value, which is not acceptable. In this case, we set the SL at 10%, limiting losses to a maximum of 10%.
MONEY MANAGEMENT :
The fixed ratio method was used to manage our gains and losses. For each gain of an amount equal to the value of the fixed ratio, we increase the order size by a value defined by the user in the "Increasing order amount" parameter. Similarly, each time we lose an amount equal to the value of the fixed ratio, we decrease the order size by the same user-defined value. This strategy increases both performance and drawdown.
Enjoy the strategy and don't forget to take the trade :)






















