PROTECTED SOURCE SCRIPT
已更新 Signal Quality Validator - Lite

# Signal Quality Validator Lite - Technical Documentation
## Introduction
The Signal Quality Validator (SQV) Lite represents a comprehensive approach to technical signal validation, designed to evaluate trading opportunities through multi-dimensional market analysis. This indicator provides traders with objective quality assessments for their entry signals across various market conditions and timeframes.
## Core Architecture
### Component-Based Validation System
SQV Lite employs five fundamental market components, each contributing weighted scores to produce a final quality assessment. The system analyzes multiple market dimensions simultaneously to provide comprehensive signal validation.
Each component uses proprietary algorithms to evaluate specific market conditions:
- Directional bias and strength assessment
- Market participation and flow analysis
- Price acceleration patterns
- Key technical level identification
- Optimal volatility conditions
The final score represents a weighted combination of all components, with thresholds adjusted for different market conditions and timeframes.
## Scoring Methodology
### Quality Grades
- **Grade A+ (90-100)**: Exceptional setup quality with maximum component confluence
- **Grade A (80-89)**: High-quality signals suitable for full position sizing
- **Grade B (65-79)**: Acceptable signals meeting minimum validation criteria
- **Grade C (<65)**: Substandard conditions, signal rejected
### Timeframe Profiles
Pre-configured profiles optimize component weights and thresholds:
| Profile | Typical Use Case | Min/High/Perfect Scores |
|---------|------------------|------------------------|
| 1-5 min | Scalping | 60/75/85 |
| 15-30 min | Day Trading | 65/80/90 |
| 1H-4H | Intraday Swing | 70/85/95 |
| Daily+ | Position Trading | 75/88/95 |
| Custom | User Defined | Configurable |
## Integration Guide
### Standalone Usage
1. Add SQV Lite to your chart
2. Select appropriate timeframe profile
3. Monitor real-time quality grades on signal bars
4. Use dashboard for current market assessment
### Bidirectional Strategy Integration
SQV Lite supports complete two-way communication with your custom strategies, enabling sophisticated signal validation workflows.
#### Step 1: Setting Up Your Strategy to Send Signals
In your custom strategy/indicator, export your signals as plots:
```pinescript
//version=6
indicator("My Custom Strategy", overlay=true)
// Your signal logic
longSignal = ta.crossover(ema9, ema21) // Example
shortSignal = ta.crossunder(ema9, ema21) // Example
// CRITICAL: Export signals for SQV to read
// Use display=display.none to hide the plots
plot(longSignal ? 1 : 0, "Long Signal Output", display=display.none)
plot(shortSignal ? 1 : 0, "Short Signal Output", display=display.none)
```
#### Step 2: Configure SQV Lite to Receive Signals
1. Add SQV Lite to the same chart as your strategy
2. In SQV Lite settings, enable "Use External Signals"
3. Click on "External Long Signal Source" and select your strategy's "Long Signal Output"
4. Click on "External Short Signal Source" and select your strategy's "Short Signal Output"
#### Step 3: Import SQV Validation Back to Your Strategy
Complete the bidirectional flow by importing SQV's validation results:
```pinescript
//version=6
strategy("My Strategy with SQV Integration", overlay=true)
// Import SQV validation results
sqvScore = input.source(close, "SQV Score Source", group="SQV Integration")
sqvLongValid = input.source(close, "SQV Long Valid Source", group="SQV Integration")
sqvShortValid = input.source(close, "SQV Short Valid Source", group="SQV Integration")
sqvTradingMode = input.source(close, "SQV Trading Mode", group="SQV Integration")
// Your original signals
longSignal = ta.crossover(ema9, ema21)
shortSignal = ta.crossunder(ema9, ema21)
// Export for SQV
plot(longSignal ? 1 : 0, "Long Signal Output", display=display.none)
plot(shortSignal ? 1 : 0, "Short Signal Output", display=display.none)
// Use SQV validation in entry logic
if longSignal and sqvLongValid > 0
strategy.entry("Long", strategy.long)
// Optional: Use sqvScore for position sizing
if shortSignal and sqvShortValid > 0
strategy.entry("Short", strategy.short)
```
#### Step 4: Complete Integration Setup
After adding both scripts to your chart:
1. In your strategy settings → SQV Integration:
- Set "SQV Score Source" → Select SQV Lite: SQV Score
- Set "SQV Long Valid Source" → Select SQV Lite: SQV Long Valid
- Set "SQV Short Valid Source" → Select SQV Lite: SQV Short Valid
2. In SQV Lite settings → Signal Import:
- Enable "Use External Signals"
- Set "External Long Signal Source" → Select Your Strategy: Long Signal Output
- Set "External Short Signal Source" → Select Your Strategy: Short Signal Output
### Available Data Exports from SQV
```pinescript
// Core validation data
plot(currentTotalScore, "SQV Score", display=display.none) // 0-100
plot(sqvLongValid ? 1 : 0, "SQV Long Valid", display=display.none) // 0 or 1
plot(sqvShortValid ? 1 : 0, "SQV Short Valid", display=display.none) // 0 or 1
// Component scores for advanced usage
plot(currentTrendScore, "SQV Trend Score", display=display.none)
plot(currentVolumeScore, "SQV Volume Score", display=display.none)
plot(currentMomentumScore, "SQV Momentum Score", display=display.none)
plot(currentStructureScore, "SQV Structure Score", display=display.none)
plot(currentVolatilityScore, "SQV Volatility Score", display=display.none)
// Additional data
plot(orderFlowDelta, "SQV Order Flow Delta", display=display.none)
plot(tradingMode == "Long" ? 1 : tradingMode == "Short" ? -1 : 0, "SQV Trading Mode", display=display.none)
```
### Advanced Integration Examples
#### Example 1: Quality-Based Position Sizing
```pinescript
// In your strategy
sqvScore = input.source(close, "SQV Score Source", group="SQV Integration")
// Dynamic position sizing based on signal quality
positionSize = sqvScore >= 90 ? 3 : // A+ quality = 3 units
sqvScore >= 80 ? 2 : // A quality = 2 units
sqvScore >= 65 ? 1 : 0 // B quality = 1 unit
if longSignal and sqvLongValid > 0 and positionSize > 0
strategy.entry("Long", strategy.long, qty=positionSize)
```
#### Example 2: Filtering by Component Scores
```pinescript
// Import individual components
sqvTrend = input.source(close, "SQV Trend Score", group="SQV Integration")
sqvVolume = input.source(close, "SQV Volume Score", group="SQV Integration")
sqvMomentum = input.source(close, "SQV Momentum Score", group="SQV Integration")
// Custom filtering logic
strongTrend = sqvTrend > 80
goodVolume = sqvVolume > 70
strongSetup = strongTrend and goodVolume
if longSignal and sqvLongValid > 0 and strongSetup
strategy.entry("Strong Long", strategy.long)
```
#### Example 3: Order Flow Integration
```pinescript
// Import order flow data
sqvOrderFlow = input.source(close, "SQV Order Flow Delta", group="SQV Integration")
// Use order flow for additional confirmation
bullishFlow = sqvOrderFlow > 100 // Significant buying pressure
bearishFlow = sqvOrderFlow < -100 // Significant selling pressure
if longSignal and sqvLongValid > 0 and bullishFlow
strategy.entry("Long+Flow", strategy.long)
```
### Visual Feedback Configuration
#### Label Display Modes
1. **Autonomous Mode** (standalone testing):
- Enable "Show Labels Without Signals"
- Labels appear on every bar where score >= minimum threshold
- Useful for initial testing without strategy integration
2. **Signal Mode** (production use):
- Disable "Show Labels Without Signals"
- Enable "Use External Signals"
- Labels appear ONLY when your strategy generates signals
- Prevents chart clutter, shows validation exactly when needed
#### Troubleshooting Integration
**Common Issues:**
1. **Labels not appearing:**
- Verify "Use External Signals" is enabled
- Check signal sources are properly connected
- Ensure your strategy is actually generating signals (add visible plots temporarily)
2. **Wrong source selection:**
- Source dropdowns should show your indicator/strategy name
- Each output plot should be visible in the dropdown
- If not visible, check plot titles in your strategy
3. **Validation always failing:**
- Check Trading Mode matches your signal types
- Verify minimum score thresholds aren't too high
- Use Autonomous Mode to test if SQV is working properly
### Best Practices
1. **Always use `display=display.none`** for communication plots to keep charts clean
2. **Name your plots clearly** for easy identification in source dropdowns
3. **Test in Autonomous Mode first** to understand SQV behavior
4. **Use consistent signal logic** - ensure signals are binary (1 or 0)
5. **Consider adding a small delay** between signal and entry for validation processing
### Complete Integration Template
Here's a full template for a strategy with complete SQV integration:
```pinescript
//version=6
strategy("Complete SQV Integration Template", overlay=true)
// ========== SQV Integration Inputs ==========
sqvScore = input.source(close, "SQV Score Source", group="SQV Integration")
sqvLongValid = input.source(close, "SQV Long Valid Source", group="SQV Integration")
sqvShortValid = input.source(close, "SQV Short Valid Source", group="SQV Integration")
sqvOrderFlow = input.source(close, "SQV Order Flow Delta", group="SQV Integration")
// ========== Strategy Parameters ==========
emaFast = input.int(9, "Fast EMA")
emaSlow = input.int(21, "Slow EMA")
useQualitySizing = input.bool(true, "Use Quality-Based Sizing")
// ========== Indicators ==========
ema1 = ta.ema(close, emaFast)
ema2 = ta.ema(close, emaSlow)
// ========== Signal Logic ==========
longSignal = ta.crossover(ema1, ema2)
shortSignal = ta.crossunder(ema1, ema2)
// ========== Export Signals to SQV ==========
plot(longSignal ? 1 : 0, "Long Signal Output", display=display.none)
plot(shortSignal ? 1 : 0, "Short Signal Output", display=display.none)
// ========== Position Sizing ==========
baseSize = 1
qualityMultiplier = useQualitySizing ?
(sqvScore >= 90 ? 3 : sqvScore >= 80 ? 2 : 1) : 1
positionSize = baseSize * qualityMultiplier
// ========== Entry Logic with SQV Validation ==========
if longSignal and sqvLongValid > 0
strategy.entry("Long", strategy.long, qty=positionSize)
if shortSignal and sqvShortValid > 0
strategy.entry("Short", strategy.short, qty=positionSize)
// ========== Exit Logic ==========
if strategy.position_size > 0 and shortSignal
strategy.close("Long")
if strategy.position_size < 0 and longSignal
strategy.close("Short")
// ========== Visual Feedback ==========
plotshape(longSignal and sqvLongValid > 0, "Valid Long",
location=location.belowbar, color=color.green, style=shape.triangleup)
plotshape(shortSignal and sqvShortValid > 0, "Valid Short",
location=location.abovebar, color=color.red, style=shape.triangledown)
```
This template provides everything needed for professional bidirectional integration between your custom strategy and SQV Lite.
## Order Flow Analysis
The integrated Order Flow system automatically adapts to market conditions, providing intelligent analysis of buying and selling pressure. The system handles various market scenarios including low liquidity and minimal price movement conditions through advanced algorithms.
## Visual Interface
### Signal Labels
Displays three-line information blocks:
- Grade designation (A+, A, B, C)
- Numerical quality score
- Order flow direction and magnitude
### Dashboard Elements
- **Profile Display**: Active configuration and thresholds
- **Score Visualization**: Real-time quality assessment
- **Flow Indicator**: Directional bias representation
- **Status Monitor**: Ready/Wait signal state
### Customization Options
- Label distance adjustment (0.5-3.0x ATR)
- Profile selection and custom configuration
- Component weight modifications (Custom mode)
- Threshold adjustments for different market conditions
## Trading Mode Selection
Three operational modes accommodate different trading styles:
- **Long Only**: Validates bullish signals exclusively
- **Short Only**: Validates bearish signals exclusively
- **Both**: Bi-directional signal validation
## Performance Considerations
SQV Lite maintains computational efficiency through:
- Optimized calculation cycles
- Selective component updates
- Efficient data structure usage
- Minimal redundant processing
---
## Feature Comparison: SQV Lite vs Full Version
### Core Components
| Component | SQV Lite | SQV Full | Details |
|-----------|----------|----------|---------|
| **Trend Analysis** | ✅ Full | ✅ Full | Professional trend evaluation |
| **Volume Dynamics** | ✅ Full | ✅ Full | Advanced volume analysis |
| **Momentum Assessment** | ✅ Full | ✅ Full | Multi-factor momentum |
| **Market Structure** | ✅ Basic | ✅ Enhanced | Key level detection |
| **Volatility Filter** | ✅ Full | ✅ Full | Risk-adjusted filtering |
| **Performance Analytics** | ❌ | ✅ | Real-time performance tracking |
| **Impulse Detection** | ❌ | ✅ | Advanced signal filtering |
### Advanced Features
| Feature | SQV Lite | SQV Full | Benefits |
|---------|----------|----------|----------|
| **Multi-Timeframe Analysis** | ❌ | ✅ | Higher timeframe confirmation |
| **Dynamic Position Sizing** | ❌ | ✅ Automatic | Dynamic size optimization |
| **Auto Mode** | ❌ | ✅ | Self-optimizing system |
| **Advanced Profiling** | ❌ | ✅ | Market depth analysis |
| **Recovery Mode** | ❌ | ✅ | Adaptive drawdown handling |
| **Statistical Validation** | ❌ | ✅ | Confidence-based filtering |
### Profiles & Configuration
| Feature | SQV Lite | SQV Full |
|---------|----------|----------|
| **Timeframe Profiles** | 5 | 8 |
| **Available Profiles** | 1-5m, 15-30m, 1-4H, Daily+, Custom | All Lite + ES, NQ, Auto |
| **Custom Weights** | ✅ Manual | ✅ Manual + Auto-optimization |
| **Threshold Adjustment** | ✅ | ✅ Enhanced |
### Visual Interface
| Feature | SQV Lite | SQV Full |
|---------|----------|----------|
| **Dashboard Styles** | 1 (Standard) | 4 (Multiple layouts) |
| **Signal Labels** | ✅ Basic | ✅ Enhanced with sizing |
| **Advanced Visualizations** | ❌ | ✅ |
| **Component Breakdown** | ❌ | ✅ Detailed view |
| **Performance Display** | ❌ | ✅ Live statistics |
| **Debug Mode** | ❌ | ✅ |
### Integration Capabilities
| Feature | SQV Lite | SQV Full |
|---------|----------|----------|
| **Script Type** | Indicator | Strategy |
| **Signal Import** | ✅ | Via strategy conditions |
| **Data Export** | ✅ All via plots | Internal to strategy |
| **Bidirectional Flow** | ✅ Full support | One-way (strategy-based) |
### Risk Management
| Feature | SQV Lite | SQV Full |
|---------|----------|----------|
| **Position Sizing** | Manual | ✅ Automatic |
| **Quality-Based Sizing** | Via integration | ✅ Built-in |
| **Performance Adjustment** | ❌ | ✅ |
| **Risk Grade System** | ❌ | ✅ Risk grading system |
| **Statistical Filtering** | ❌ | ✅ |
### Market Analysis
| Feature | SQV Lite | SQV Full |
|---------|----------|----------|
| **Order Flow Analysis** | ✅ Automatic | ✅ Advanced |
| **Market Manipulation Detection** | ❌ | ✅ |
| **Multi-Timeframe Validation** | ❌ | ✅ |
| **Advanced Momentum Analysis** | Basic | ✅ Enhanced |
| **Market Regime Adaptation** | Basic | ✅ Full Auto Mode |
### Summary
| Aspect | SQV Lite | SQV Full |
|--------|----------|----------|
| **Best For** | Signal validation, integration with custom strategies | Complete trading system with built-in strategy |
| **Learning Curve** | Easy | Moderate |
| **Customization** | High (via integration) | Very High (all parameters) |
| **Price** | Free | $29/month |
---
## SQV Bridge System
### Overview
The SQV Bridge System allows you to connect any TradingView indicator or strategy with the Signal Quality Validator (SQV) system. This enables you to add professional-grade signal validation to your existing trading tools without modifying their code.
### System Components
1. **SQV Lite** (Required) - The core validation engine
2. **Bridge** (Choose one):
- **Indicator Bridge** - For visual signals and alerts
- **Strategy Bridge** - For automated backtesting and trading
3. **Your Trading Tool** - Any indicator or strategy that generates signals
---
## SQV Indicator Bridge
### //version=6
### indicator("SQV Indicator Bridge", overlay=true)
### Purpose
The Indicator Bridge displays validated entry signals on your chart. It receives signals from any indicator and validation from SQV Lite, showing only high-quality trade opportunities.
### Features
- Visual labels for validated signals
- Customizable appearance (size, color, position)
- Alert capabilities
- Hidden signal exports for other tools
### Setup Instructions
1. **Add Your Indicator**
- Apply your trading indicator to the chart
- Note which plots contain long/short signals
2. **Add SQV Lite**
- Add SQV Lite indicator to the same chart
- Configure SQV settings as needed
3. **Add Indicator Bridge**
- Add "SQV Indicator Bridge" to chart
- Connect the sources:
- Long Signal Source → Your indicator's long signal
- Short Signal Source → Your indicator's short signal
- SQV Long Valid → From SQV Lite
- SQV Short Valid → From SQV Lite
- SQV Score → From SQV Lite (for alerts)
### Configuration Options
#### Visual Settings
- **Show Labels**: Toggle signal labels on/off
- **Label Offset**: Distance from candles (0-5 ATR)
- **Label Size**: Tiny, Small, or Normal
- **Colors**: Customize long/short colors
#### Alerts
- Enable/disable alert notifications
- Alerts include SQV score in message
### Example Code (Add to Your Indicator)
```pinescript
// Export signals from your indicator
plot(longCondition ? 1 : 0, "Long Signal", display=display.none)
plot(shortCondition ? 1 : 0, "Short Signal", display=display.none)
```
### Complete Indicator Bridge Code
```pinescript
//version=6
indicator("SQV Indicator Bridge", overlay=true)
// ===================================================================
// SQV INDICATOR BRIDGE - CLEAN VERSION
// Version 1.0
//
// Simple bridge that shows validated entry signals.
// Receives signals from any indicator and validation from SQV Lite.
//
// SETUP:
// 1. Add your indicator to chart
// 2. Add SQV Lite to chart
// 3. Add this bridge
// 4. Connect sources in settings
// ===================================================================
// ===================================================================
// INPUT SOURCES
// ===================================================================
// From your indicator
longSignal = input.source(close, "Long Signal Source", group="Signal Sources",
tooltip="Select Long Signal from your indicator")
shortSignal = input.source(close, "Short Signal Source", group="Signal Sources",
tooltip="Select Short Signal from your indicator")
// From SQV Lite
sqvLongValid = input.source(close, "SQV Long Valid", group="SQV Sources",
tooltip="Select 'SQV Long Valid' from SQV Lite")
sqvShortValid = input.source(close, "SQV Short Valid", group="SQV Sources",
tooltip="Select 'SQV Short Valid' from SQV Lite")
sqvScore = input.source(close, "SQV Score", group="SQV Sources",
tooltip="Select 'SQV Score' from SQV Lite (for alerts)")
// ===================================================================
// SETTINGS
// ===================================================================
showLabels = input.bool(true, "Show Labels", group="Visual")
labelOffset = input.float(0.0, "Label Offset (ATR)", minval=0.0, maxval=5.0, step=0.5, group="Visual",
tooltip="0 = Labels at candle edges, higher = further away")
labelSize = input.string("small", "Label Size", options=["tiny", "small", "normal"], group="Visual")
longColor = input.color(color.green, "Long Color", group="Visual")
shortColor = input.color(color.red, "Short Color", group="Visual")
enableAlerts = input.bool(false, "Enable Alerts", group="Alerts")
// ===================================================================
// MAIN LOGIC
// ===================================================================
// Calculate offset
atr = ta.atr(14)
offset = labelOffset > 0 ? atr * labelOffset : 0
// Check for validated signals
hasValidLong = longSignal > 0 and sqvLongValid > 0 and barstate.isconfirmed
hasValidShort = shortSignal > 0 and sqvShortValid > 0 and barstate.isconfirmed
// Show labels
if showLabels
if hasValidLong
label.new(bar_index, low - offset, "LONG",
style=label.style_label_up,
color=longColor,
textcolor=color.white,
size=labelSize == "tiny" ? size.tiny :
labelSize == "small" ? size.small : size.normal)
if hasValidShort
label.new(bar_index, high + offset, "SHORT",
style=label.style_label_down,
color=shortColor,
textcolor=color.white,
size=labelSize == "tiny" ? size.tiny :
labelSize == "small" ? size.small : size.normal)
// Alerts
if enableAlerts
if hasValidLong
alert("Long Signal Validated | Score: " + str.tostring(sqvScore, "#"), alert.freq_once_per_bar_close)
if hasValidShort
alert("Short Signal Validated | Score: " + str.tostring(sqvScore, "#"), alert.freq_once_per_bar_close)
// Hidden exports
plot(hasValidLong ? 1 : 0, "Valid Long", display=display.none)
plot(hasValidShort ? 1 : 0, "Valid Short", display=display.none)
```
---
## SQV Strategy Bridge
### //version=6
### strategy("SQV Strategy Bridge", overlay=true, ...)
### Purpose
The Strategy Bridge executes trades with SQV validation, enabling backtesting and live trading with quality-filtered signals. It can receive position sizing, stop loss, and take profit levels from your strategy.
### Features
- Automated trade execution with SQV validation
- Dynamic position sizing support
- Stop loss and take profit integration
- Position status display
- Alert system for trade notifications
### Setup Instructions
1. **Prepare Your Strategy**
- Export required values as plots (see examples below)
- Ensure signals are clear (1 for entry, 0 for no signal)
2. **Add SQV Lite**
- Add SQV Lite indicator to the chart
- Configure validation parameters
3. **Add Strategy Bridge**
- Add "SQV Strategy Bridge" to chart
- Connect all required sources
### Source Connections
#### Required Sources
- **Long Signal Source** → Your strategy's long signal
- **Short Signal Source** → Your strategy's short signal
- **SQV Long Valid** → From SQV Lite
- **SQV Short Valid** → From SQV Lite
- **SQV Score** → From SQV Lite
#### Optional Sources (Advanced)
- **Position Size Source** → Dynamic position sizing
- **Long/Short Stop Loss** → Stop loss prices
- **Long/Short Take Profit** → Take profit prices
### Configuration Options
#### Position Management
- **Use Position Size from Strategy**: Enable dynamic sizing
- **Default Position Size %**: Fallback size (0.1-100%)
#### Risk Management
- **Use Stop Loss from Strategy**: Enable dynamic stops
- **Use Take Profit from Strategy**: Enable dynamic targets
### Example Code (Add to Your Strategy)
```pinescript
// Basic signal export
plot(buySignal ? 1 : 0, "Long Signal", display=display.none)
plot(sellSignal ? 1 : 0, "Short Signal", display=display.none)
// Advanced exports (optional)
// Position size (0.1 = 10% of equity)
plot(myPositionSize, "Position Size Output", display=display.none)
// Stop loss prices
plot(longStopPrice, "Long Stop Price", display=display.none)
plot(shortStopPrice, "Short Stop Price", display=display.none)
// Take profit prices
plot(longTPPrice, "Long TP Price", display=display.none)
plot(shortTPPrice, "Short TP Price", display=display.none)
```
### Complete Strategy Bridge Code
```pinescript
//version=6
strategy("SQV Strategy Bridge",
overlay=true,
initial_capital=10000,
default_qty_type=strategy.percent_of_equity,
default_qty_value=10,
commission_type=strategy.commission.percent,
commission_value=0.1)
// ===================================================================
// SQV STRATEGY BRIDGE - SIMPLE VERSION
// Version 1.0
//
// Receives everything from your strategy:
// - Signals (when to trade)
// - Position size (how much to trade)
// - Stop loss levels (optional)
// - Take profit levels (optional)
//
// Bridge only executes trades with SQV validation
// ===================================================================
// ===================================================================
// SIGNAL SOURCES
// ===================================================================
longSignal = input.source(close, "Long Signal Source", group="Signal Sources",
tooltip="Connect to Long Signal from your strategy")
shortSignal = input.source(close, "Short Signal Source", group="Signal Sources",
tooltip="Connect to Short Signal from your strategy")
// ===================================================================
// SQV SOURCES
// ===================================================================
sqvLongValid = input.source(close, "SQV Long Valid", group="SQV Sources")
sqvShortValid = input.source(close, "SQV Short Valid", group="SQV Sources")
sqvScore = input.source(close, "SQV Score", group="SQV Sources")
// ===================================================================
// POSITION SIZE SOURCES (FROM YOUR STRATEGY)
// ===================================================================
usePositionFromStrategy = input.bool(false, "Use Position Size from Strategy", group="Position")
positionSizeSource = input.source(close, "Position Size Source", group="Position",
tooltip="Your strategy should export position size (% or fixed quantity)")
defaultPositionSize = input.float(10, "Default Position Size %", minval=0.1, maxval=100, group="Position",
tooltip="Used if 'Use Position Size from Strategy' is disabled")
// ===================================================================
// STOP LOSS SOURCES (FROM YOUR STRATEGY)
// ===================================================================
useStopFromStrategy = input.bool(false, "Use Stop Loss from Strategy", group="Risk Management")
longStopSource = input.source(close, "Long Stop Loss Price", group="Risk Management",
tooltip="Your strategy should export exact stop price for longs")
shortStopSource = input.source(close, "Short Stop Loss Price", group="Risk Management",
tooltip="Your strategy should export exact stop price for shorts")
// ===================================================================
// TAKE PROFIT SOURCES (FROM YOUR STRATEGY)
// ===================================================================
useTakeProfitFromStrategy = input.bool(false, "Use Take Profit from Strategy", group="Risk Management")
longTakeProfitSource = input.source(close, "Long Take Profit Price", group="Risk Management",
tooltip="Your strategy should export exact TP price for longs")
shortTakeProfitSource = input.source(close, "Short Take Profit Price", group="Risk Management",
tooltip="Your strategy should export exact TP price for shorts")
// ===================================================================
// ALERTS
// ===================================================================
enableAlerts = input.bool(true, "Enable Alerts", group="Alerts")
// ===================================================================
// TRADING LOGIC
// ===================================================================
// Check signals with SQV validation
hasLongSignal = longSignal > 0 and sqvLongValid > 0 and barstate.isconfirmed
hasShortSignal = shortSignal > 0 and sqvShortValid > 0 and barstate.isconfirmed
// Position state
inLong = strategy.position_size > 0
inShort = strategy.position_size < 0
// Get position size
getPositionSize() =>
if usePositionFromStrategy and positionSizeSource > 0
positionSizeSource
else
defaultPositionSize / 100
// LONG ENTRY
if hasLongSignal and not inLong
if inShort
strategy.close("Short")
qty = getPositionSize()
strategy.entry("Long", strategy.long, qty=qty)
// Set exit orders if provided by strategy
if useStopFromStrategy or useTakeProfitFromStrategy
stopPrice = useStopFromStrategy and longStopSource > 0 ? longStopSource : na
tpPrice = useTakeProfitFromStrategy and longTakeProfitSource > 0 ? longTakeProfitSource : na
if not na(stopPrice) or not na(tpPrice)
strategy.exit("Long Exit", "Long", stop=stopPrice, limit=tpPrice)
if enableAlerts
alert("Long Entry | Score: " + str.tostring(sqvScore, "#"), alert.freq_once_per_bar_close)
// SHORT ENTRY
if hasShortSignal and not inShort
if inLong
strategy.close("Long")
qty = getPositionSize()
strategy.entry("Short", strategy.short, qty=qty)
// Set exit orders if provided by strategy
if useStopFromStrategy or useTakeProfitFromStrategy
stopPrice = useStopFromStrategy and shortStopSource > 0 ? shortStopSource : na
tpPrice = useTakeProfitFromStrategy and shortTakeProfitSource > 0 ? shortTakeProfitSource : na
if not na(stopPrice) or not na(tpPrice)
strategy.exit("Short Exit", "Short", stop=stopPrice, limit=tpPrice)
if enableAlerts
alert("Short Entry | Score: " + str.tostring(sqvScore, "#"), alert.freq_once_per_bar_close)
// ===================================================================
// POSITION INFO
// ===================================================================
var label infoLabel = label.new(bar_index, high, "", style=label.style_label_left)
if barstate.islast
posText = "Bridge Status\n"
posText := inLong ? posText + "Position: LONG\n" : inShort ? posText + "Position: SHORT\n" : posText + "Position: FLAT\n"
posText := "SQV Score: " + str.tostring(sqvScore, "#")
label.set_xy(infoLabel, bar_index + 1, high)
label.set_text(infoLabel, posText)
label.set_color(infoLabel, inLong ? color.new(color.green, 80) : inShort ? color.new(color.red, 80) : color.new(color.gray, 80))
label.set_textcolor(infoLabel, color.white)
// ===================================================================
// HOW TO EXPORT FROM YOUR STRATEGY:
//
// // In your strategy, export these values:
//
// // Position size (% as decimal: 0.1 = 10%, or fixed: 0.2 = 0.2 BTC)
// plot(myPositionSize, "Position Size Output", display=display.none)
//
// // Stop loss prices
// plot(longStopPrice, "Long Stop Price", display=display.none)
// plot(shortStopPrice, "Short Stop Price", display=display.none)
//
// // Take profit prices
// plot(longTPPrice, "Long TP Price", display=display.none)
// plot(shortTPPrice, "Short TP Price", display=display.none)
// ===================================================================
```
---
## Quick Start Guide
### For Indicators (Visual Signals)
1. Add these three indicators in order:
- Your trading indicator
- SQV Lite
- SQV Indicator Bridge
2. In Bridge settings, connect:
- Signal sources from your indicator
- Validation sources from SQV Lite
3. Adjust visual settings to preference
### For Strategies (Automated Trading)
1. Modify your strategy to export signals:
```pinescript
plot(longSignal ? 1 : 0, "Long Signal", display=display.none)
plot(shortSignal ? 1 : 0, "Short Signal", display=display.none)
```
2. Add to chart:
- Your modified strategy (as indicator)
- SQV Lite
- SQV Strategy Bridge
3. Connect all sources in Bridge settings
4. Run backtest or enable live trading
---
## Tips & Best Practices
### Signal Quality
- SQV validates signals based on 5 market components (7 in full version)
- Only signals with sufficient quality score pass validation
- Adjust SQV settings to match your trading style
### Position Sizing
- Default sizing uses percentage of equity
- Advanced users can export dynamic sizing from strategy
- Size based on signal quality or market conditions
### Risk Management
- Always use stop losses (manual or from strategy)
- Consider using SQV's quality score for position sizing
- Monitor win rate and Sharpe ratio in SQV dashboard (full version)
### Troubleshooting
- **No signals showing**: Check source connections
- **Too few signals**: Lower SQV minimum score
- **Too many signals**: Increase SQV requirements
- **Backtest issues**: Ensure strategy calculations match
---
## Example Setups
### Simple Moving Average Cross + SQV
```pinescript
// In your indicator
ma_fast = ta.sma(close, 20)
ma_slow = ta.sma(close, 50)
longSignal = ta.crossover(ma_fast, ma_slow)
shortSignal = ta.crossunder(ma_fast, ma_slow)
plot(longSignal ? 1 : 0, "Long Signal", display=display.none)
plot(shortSignal ? 1 : 0, "Short Signal", display=display.none)
```
### RSI Strategy with Dynamic Stops
```pinescript
// In your strategy
rsi = ta.rsi(close, 14)
longSignal = rsi < 30
shortSignal = rsi > 70
// Dynamic stops based on ATR
atr = ta.atr(14)
longStop = close - (atr * 2)
shortStop = close + (atr * 2)
// Export everything
plot(longSignal ? 1 : 0, "Long Signal", display=display.none)
plot(shortSignal ? 1 : 0, "Short Signal", display=display.none)
plot(longStop, "Long Stop Price", display=display.none)
plot(shortStop, "Short Stop Price", display=display.none)
```
---
## Advanced Features
### Multi-Timeframe Validation
SQV automatically checks higher timeframes for confluence, improving signal reliability (Full version only).
### Adaptive Profiles
Use "Auto" profile in SQV for dynamic parameter adjustment based on market conditions (Full version only).
### Performance Tracking
SQV tracks win rate, Sharpe ratio, and other metrics to ensure consistent performance (Full version only).
### Order Flow Analysis
Validates signals using volume delta and buying/selling pressure (included in Lite version).
---
## Upgrade to SQV Full Version
### Enhanced Capabilities in Full Version
The complete SQV system extends validation capabilities with advanced components:
#### 🎯 **Performance Analytics Component**
- Real-time Sharpe Ratio calculation
- Win rate tracking with confidence intervals
- Risk-adjusted performance metrics
- Adaptive threshold adjustments
#### ⚡ **Impulse Detection with Trap Analysis**
- Advanced momentum surge detection
- Market manipulation identification
- False breakout filtering
- Volume/price divergence analysis
#### 📊 **Multi-Timeframe Confluence**
- Three-timeframe trend alignment
- Higher timeframe confirmation requirements
- Confluence strength scoring
- Directional bias validation
#### 🎰 **Dynamic Position Sizing**
- Automatic position multipliers based on signal quality
- Grade A+ signals (90+) = Maximum multiplier
- Grade A signals (80-89) = Scaled multiplier
- Grade B signals (65-79) = Base position size
- Risk-adjusted position management
- Sharpe-influenced adjustments
#### 🔄 **Auto Mode**
- Market-adaptive parameter optimization
- Dynamic weight redistribution
- Volatility-based threshold adjustments
- Self-calibrating component settings
#### 📈 **Volume Profile Integration**
- Point of Control (POC) identification
- Value Area analysis (VAH/VAL)
- Profile-based support/resistance
- Volume distribution visualization
#### 🛡️ **Recovery Mode**
- Drawdown detection and adaptation
- Conservative validation during recovery
- Gradual threshold normalization
- Performance-based re-engagement
#### 📊 **Extended Visualizations**
- Multiple dashboard layouts
- Component breakdown displays
- Performance statistics panels
- Risk grade assessments
### Why Upgrade?
While SQV Lite provides robust signal validation, the Full Version transforms your trading with:
- **Automated risk management** through dynamic sizing
- **Superior signal filtering** via Impulse and MTF components
- **Performance optimization** with real-time analytics
- **Market adaptation** through Auto Mode
- **Additional dashboard layouts** for complete market insight
The Full Version includes everything in Lite plus seven additional premium components.
---
## 💰 **SQV Full Version Pricing**
### **Monthly Subscription: $29/month**
Get instant access to the complete Signal Quality Validator system with all premium features:
- ✅ All 7 additional advanced components
- ✅ Automatic position sizing optimization
- ✅ Performance analytics & Sharpe tracking
- ✅ Impulse detection with trap analysis
- ✅ Multi-timeframe confluence validation
- ✅ Auto Mode with self-optimization
- ✅ Recovery mode for drawdown management
- ✅ 4 dashboard layouts
- ✅ Lifetime updates included
- ✅ Priority support
**The automatic position sizing feature alone can pay for months of subscription with a single properly-sized winning trade.**
### 📩 **How to Subscribe**
To get access to SQV Full Version:
1. **Send me a DM** on TradingView
2. **Include your TradingView username/ID** in the message
3. Receive payment instructions and access upon confirmation
*Your TradingView ID is required to grant access to the private indicator.*
### 🔧 **Custom Integration Services**
**Need direct integration into your Pine Script strategy?**
For traders requiring seamless library-based integration without the 500-bar limitation:
- Full backtesting on complete price history
- Zero signal delay
- Custom parameter optimization
- Private library implementation
**📩 DM me for custom integration pricing and details**
---
## Support and Updates
- Both bridges are regularly updated
- SQV Lite receives regular maintenance updates
- For technical questions or feature requests, please reach out through TradingView's messaging system
- Check for new features and improvements in the script descriptions
## Disclaimer
Signal Quality Validator provides technical analysis assistance only. All trading decisions remain the sole responsibility of the user. Past performance does not guarantee future results. Trade responsibly and within your risk tolerance.
*Note: This system is designed for educational purposes. Always test thoroughly before live trading.*
## Introduction
The Signal Quality Validator (SQV) Lite represents a comprehensive approach to technical signal validation, designed to evaluate trading opportunities through multi-dimensional market analysis. This indicator provides traders with objective quality assessments for their entry signals across various market conditions and timeframes.
## Core Architecture
### Component-Based Validation System
SQV Lite employs five fundamental market components, each contributing weighted scores to produce a final quality assessment. The system analyzes multiple market dimensions simultaneously to provide comprehensive signal validation.
Each component uses proprietary algorithms to evaluate specific market conditions:
- Directional bias and strength assessment
- Market participation and flow analysis
- Price acceleration patterns
- Key technical level identification
- Optimal volatility conditions
The final score represents a weighted combination of all components, with thresholds adjusted for different market conditions and timeframes.
## Scoring Methodology
### Quality Grades
- **Grade A+ (90-100)**: Exceptional setup quality with maximum component confluence
- **Grade A (80-89)**: High-quality signals suitable for full position sizing
- **Grade B (65-79)**: Acceptable signals meeting minimum validation criteria
- **Grade C (<65)**: Substandard conditions, signal rejected
### Timeframe Profiles
Pre-configured profiles optimize component weights and thresholds:
| Profile | Typical Use Case | Min/High/Perfect Scores |
|---------|------------------|------------------------|
| 1-5 min | Scalping | 60/75/85 |
| 15-30 min | Day Trading | 65/80/90 |
| 1H-4H | Intraday Swing | 70/85/95 |
| Daily+ | Position Trading | 75/88/95 |
| Custom | User Defined | Configurable |
## Integration Guide
### Standalone Usage
1. Add SQV Lite to your chart
2. Select appropriate timeframe profile
3. Monitor real-time quality grades on signal bars
4. Use dashboard for current market assessment
### Bidirectional Strategy Integration
SQV Lite supports complete two-way communication with your custom strategies, enabling sophisticated signal validation workflows.
#### Step 1: Setting Up Your Strategy to Send Signals
In your custom strategy/indicator, export your signals as plots:
```pinescript
//version=6
indicator("My Custom Strategy", overlay=true)
// Your signal logic
longSignal = ta.crossover(ema9, ema21) // Example
shortSignal = ta.crossunder(ema9, ema21) // Example
// CRITICAL: Export signals for SQV to read
// Use display=display.none to hide the plots
plot(longSignal ? 1 : 0, "Long Signal Output", display=display.none)
plot(shortSignal ? 1 : 0, "Short Signal Output", display=display.none)
```
#### Step 2: Configure SQV Lite to Receive Signals
1. Add SQV Lite to the same chart as your strategy
2. In SQV Lite settings, enable "Use External Signals"
3. Click on "External Long Signal Source" and select your strategy's "Long Signal Output"
4. Click on "External Short Signal Source" and select your strategy's "Short Signal Output"
#### Step 3: Import SQV Validation Back to Your Strategy
Complete the bidirectional flow by importing SQV's validation results:
```pinescript
//version=6
strategy("My Strategy with SQV Integration", overlay=true)
// Import SQV validation results
sqvScore = input.source(close, "SQV Score Source", group="SQV Integration")
sqvLongValid = input.source(close, "SQV Long Valid Source", group="SQV Integration")
sqvShortValid = input.source(close, "SQV Short Valid Source", group="SQV Integration")
sqvTradingMode = input.source(close, "SQV Trading Mode", group="SQV Integration")
// Your original signals
longSignal = ta.crossover(ema9, ema21)
shortSignal = ta.crossunder(ema9, ema21)
// Export for SQV
plot(longSignal ? 1 : 0, "Long Signal Output", display=display.none)
plot(shortSignal ? 1 : 0, "Short Signal Output", display=display.none)
// Use SQV validation in entry logic
if longSignal and sqvLongValid > 0
strategy.entry("Long", strategy.long)
// Optional: Use sqvScore for position sizing
if shortSignal and sqvShortValid > 0
strategy.entry("Short", strategy.short)
```
#### Step 4: Complete Integration Setup
After adding both scripts to your chart:
1. In your strategy settings → SQV Integration:
- Set "SQV Score Source" → Select SQV Lite: SQV Score
- Set "SQV Long Valid Source" → Select SQV Lite: SQV Long Valid
- Set "SQV Short Valid Source" → Select SQV Lite: SQV Short Valid
2. In SQV Lite settings → Signal Import:
- Enable "Use External Signals"
- Set "External Long Signal Source" → Select Your Strategy: Long Signal Output
- Set "External Short Signal Source" → Select Your Strategy: Short Signal Output
### Available Data Exports from SQV
```pinescript
// Core validation data
plot(currentTotalScore, "SQV Score", display=display.none) // 0-100
plot(sqvLongValid ? 1 : 0, "SQV Long Valid", display=display.none) // 0 or 1
plot(sqvShortValid ? 1 : 0, "SQV Short Valid", display=display.none) // 0 or 1
// Component scores for advanced usage
plot(currentTrendScore, "SQV Trend Score", display=display.none)
plot(currentVolumeScore, "SQV Volume Score", display=display.none)
plot(currentMomentumScore, "SQV Momentum Score", display=display.none)
plot(currentStructureScore, "SQV Structure Score", display=display.none)
plot(currentVolatilityScore, "SQV Volatility Score", display=display.none)
// Additional data
plot(orderFlowDelta, "SQV Order Flow Delta", display=display.none)
plot(tradingMode == "Long" ? 1 : tradingMode == "Short" ? -1 : 0, "SQV Trading Mode", display=display.none)
```
### Advanced Integration Examples
#### Example 1: Quality-Based Position Sizing
```pinescript
// In your strategy
sqvScore = input.source(close, "SQV Score Source", group="SQV Integration")
// Dynamic position sizing based on signal quality
positionSize = sqvScore >= 90 ? 3 : // A+ quality = 3 units
sqvScore >= 80 ? 2 : // A quality = 2 units
sqvScore >= 65 ? 1 : 0 // B quality = 1 unit
if longSignal and sqvLongValid > 0 and positionSize > 0
strategy.entry("Long", strategy.long, qty=positionSize)
```
#### Example 2: Filtering by Component Scores
```pinescript
// Import individual components
sqvTrend = input.source(close, "SQV Trend Score", group="SQV Integration")
sqvVolume = input.source(close, "SQV Volume Score", group="SQV Integration")
sqvMomentum = input.source(close, "SQV Momentum Score", group="SQV Integration")
// Custom filtering logic
strongTrend = sqvTrend > 80
goodVolume = sqvVolume > 70
strongSetup = strongTrend and goodVolume
if longSignal and sqvLongValid > 0 and strongSetup
strategy.entry("Strong Long", strategy.long)
```
#### Example 3: Order Flow Integration
```pinescript
// Import order flow data
sqvOrderFlow = input.source(close, "SQV Order Flow Delta", group="SQV Integration")
// Use order flow for additional confirmation
bullishFlow = sqvOrderFlow > 100 // Significant buying pressure
bearishFlow = sqvOrderFlow < -100 // Significant selling pressure
if longSignal and sqvLongValid > 0 and bullishFlow
strategy.entry("Long+Flow", strategy.long)
```
### Visual Feedback Configuration
#### Label Display Modes
1. **Autonomous Mode** (standalone testing):
- Enable "Show Labels Without Signals"
- Labels appear on every bar where score >= minimum threshold
- Useful for initial testing without strategy integration
2. **Signal Mode** (production use):
- Disable "Show Labels Without Signals"
- Enable "Use External Signals"
- Labels appear ONLY when your strategy generates signals
- Prevents chart clutter, shows validation exactly when needed
#### Troubleshooting Integration
**Common Issues:**
1. **Labels not appearing:**
- Verify "Use External Signals" is enabled
- Check signal sources are properly connected
- Ensure your strategy is actually generating signals (add visible plots temporarily)
2. **Wrong source selection:**
- Source dropdowns should show your indicator/strategy name
- Each output plot should be visible in the dropdown
- If not visible, check plot titles in your strategy
3. **Validation always failing:**
- Check Trading Mode matches your signal types
- Verify minimum score thresholds aren't too high
- Use Autonomous Mode to test if SQV is working properly
### Best Practices
1. **Always use `display=display.none`** for communication plots to keep charts clean
2. **Name your plots clearly** for easy identification in source dropdowns
3. **Test in Autonomous Mode first** to understand SQV behavior
4. **Use consistent signal logic** - ensure signals are binary (1 or 0)
5. **Consider adding a small delay** between signal and entry for validation processing
### Complete Integration Template
Here's a full template for a strategy with complete SQV integration:
```pinescript
//version=6
strategy("Complete SQV Integration Template", overlay=true)
// ========== SQV Integration Inputs ==========
sqvScore = input.source(close, "SQV Score Source", group="SQV Integration")
sqvLongValid = input.source(close, "SQV Long Valid Source", group="SQV Integration")
sqvShortValid = input.source(close, "SQV Short Valid Source", group="SQV Integration")
sqvOrderFlow = input.source(close, "SQV Order Flow Delta", group="SQV Integration")
// ========== Strategy Parameters ==========
emaFast = input.int(9, "Fast EMA")
emaSlow = input.int(21, "Slow EMA")
useQualitySizing = input.bool(true, "Use Quality-Based Sizing")
// ========== Indicators ==========
ema1 = ta.ema(close, emaFast)
ema2 = ta.ema(close, emaSlow)
// ========== Signal Logic ==========
longSignal = ta.crossover(ema1, ema2)
shortSignal = ta.crossunder(ema1, ema2)
// ========== Export Signals to SQV ==========
plot(longSignal ? 1 : 0, "Long Signal Output", display=display.none)
plot(shortSignal ? 1 : 0, "Short Signal Output", display=display.none)
// ========== Position Sizing ==========
baseSize = 1
qualityMultiplier = useQualitySizing ?
(sqvScore >= 90 ? 3 : sqvScore >= 80 ? 2 : 1) : 1
positionSize = baseSize * qualityMultiplier
// ========== Entry Logic with SQV Validation ==========
if longSignal and sqvLongValid > 0
strategy.entry("Long", strategy.long, qty=positionSize)
if shortSignal and sqvShortValid > 0
strategy.entry("Short", strategy.short, qty=positionSize)
// ========== Exit Logic ==========
if strategy.position_size > 0 and shortSignal
strategy.close("Long")
if strategy.position_size < 0 and longSignal
strategy.close("Short")
// ========== Visual Feedback ==========
plotshape(longSignal and sqvLongValid > 0, "Valid Long",
location=location.belowbar, color=color.green, style=shape.triangleup)
plotshape(shortSignal and sqvShortValid > 0, "Valid Short",
location=location.abovebar, color=color.red, style=shape.triangledown)
```
This template provides everything needed for professional bidirectional integration between your custom strategy and SQV Lite.
## Order Flow Analysis
The integrated Order Flow system automatically adapts to market conditions, providing intelligent analysis of buying and selling pressure. The system handles various market scenarios including low liquidity and minimal price movement conditions through advanced algorithms.
## Visual Interface
### Signal Labels
Displays three-line information blocks:
- Grade designation (A+, A, B, C)
- Numerical quality score
- Order flow direction and magnitude
### Dashboard Elements
- **Profile Display**: Active configuration and thresholds
- **Score Visualization**: Real-time quality assessment
- **Flow Indicator**: Directional bias representation
- **Status Monitor**: Ready/Wait signal state
### Customization Options
- Label distance adjustment (0.5-3.0x ATR)
- Profile selection and custom configuration
- Component weight modifications (Custom mode)
- Threshold adjustments for different market conditions
## Trading Mode Selection
Three operational modes accommodate different trading styles:
- **Long Only**: Validates bullish signals exclusively
- **Short Only**: Validates bearish signals exclusively
- **Both**: Bi-directional signal validation
## Performance Considerations
SQV Lite maintains computational efficiency through:
- Optimized calculation cycles
- Selective component updates
- Efficient data structure usage
- Minimal redundant processing
---
## Feature Comparison: SQV Lite vs Full Version
### Core Components
| Component | SQV Lite | SQV Full | Details |
|-----------|----------|----------|---------|
| **Trend Analysis** | ✅ Full | ✅ Full | Professional trend evaluation |
| **Volume Dynamics** | ✅ Full | ✅ Full | Advanced volume analysis |
| **Momentum Assessment** | ✅ Full | ✅ Full | Multi-factor momentum |
| **Market Structure** | ✅ Basic | ✅ Enhanced | Key level detection |
| **Volatility Filter** | ✅ Full | ✅ Full | Risk-adjusted filtering |
| **Performance Analytics** | ❌ | ✅ | Real-time performance tracking |
| **Impulse Detection** | ❌ | ✅ | Advanced signal filtering |
### Advanced Features
| Feature | SQV Lite | SQV Full | Benefits |
|---------|----------|----------|----------|
| **Multi-Timeframe Analysis** | ❌ | ✅ | Higher timeframe confirmation |
| **Dynamic Position Sizing** | ❌ | ✅ Automatic | Dynamic size optimization |
| **Auto Mode** | ❌ | ✅ | Self-optimizing system |
| **Advanced Profiling** | ❌ | ✅ | Market depth analysis |
| **Recovery Mode** | ❌ | ✅ | Adaptive drawdown handling |
| **Statistical Validation** | ❌ | ✅ | Confidence-based filtering |
### Profiles & Configuration
| Feature | SQV Lite | SQV Full |
|---------|----------|----------|
| **Timeframe Profiles** | 5 | 8 |
| **Available Profiles** | 1-5m, 15-30m, 1-4H, Daily+, Custom | All Lite + ES, NQ, Auto |
| **Custom Weights** | ✅ Manual | ✅ Manual + Auto-optimization |
| **Threshold Adjustment** | ✅ | ✅ Enhanced |
### Visual Interface
| Feature | SQV Lite | SQV Full |
|---------|----------|----------|
| **Dashboard Styles** | 1 (Standard) | 4 (Multiple layouts) |
| **Signal Labels** | ✅ Basic | ✅ Enhanced with sizing |
| **Advanced Visualizations** | ❌ | ✅ |
| **Component Breakdown** | ❌ | ✅ Detailed view |
| **Performance Display** | ❌ | ✅ Live statistics |
| **Debug Mode** | ❌ | ✅ |
### Integration Capabilities
| Feature | SQV Lite | SQV Full |
|---------|----------|----------|
| **Script Type** | Indicator | Strategy |
| **Signal Import** | ✅ | Via strategy conditions |
| **Data Export** | ✅ All via plots | Internal to strategy |
| **Bidirectional Flow** | ✅ Full support | One-way (strategy-based) |
### Risk Management
| Feature | SQV Lite | SQV Full |
|---------|----------|----------|
| **Position Sizing** | Manual | ✅ Automatic |
| **Quality-Based Sizing** | Via integration | ✅ Built-in |
| **Performance Adjustment** | ❌ | ✅ |
| **Risk Grade System** | ❌ | ✅ Risk grading system |
| **Statistical Filtering** | ❌ | ✅ |
### Market Analysis
| Feature | SQV Lite | SQV Full |
|---------|----------|----------|
| **Order Flow Analysis** | ✅ Automatic | ✅ Advanced |
| **Market Manipulation Detection** | ❌ | ✅ |
| **Multi-Timeframe Validation** | ❌ | ✅ |
| **Advanced Momentum Analysis** | Basic | ✅ Enhanced |
| **Market Regime Adaptation** | Basic | ✅ Full Auto Mode |
### Summary
| Aspect | SQV Lite | SQV Full |
|--------|----------|----------|
| **Best For** | Signal validation, integration with custom strategies | Complete trading system with built-in strategy |
| **Learning Curve** | Easy | Moderate |
| **Customization** | High (via integration) | Very High (all parameters) |
| **Price** | Free | $29/month |
---
## SQV Bridge System
### Overview
The SQV Bridge System allows you to connect any TradingView indicator or strategy with the Signal Quality Validator (SQV) system. This enables you to add professional-grade signal validation to your existing trading tools without modifying their code.
### System Components
1. **SQV Lite** (Required) - The core validation engine
2. **Bridge** (Choose one):
- **Indicator Bridge** - For visual signals and alerts
- **Strategy Bridge** - For automated backtesting and trading
3. **Your Trading Tool** - Any indicator or strategy that generates signals
---
## SQV Indicator Bridge
### //version=6
### indicator("SQV Indicator Bridge", overlay=true)
### Purpose
The Indicator Bridge displays validated entry signals on your chart. It receives signals from any indicator and validation from SQV Lite, showing only high-quality trade opportunities.
### Features
- Visual labels for validated signals
- Customizable appearance (size, color, position)
- Alert capabilities
- Hidden signal exports for other tools
### Setup Instructions
1. **Add Your Indicator**
- Apply your trading indicator to the chart
- Note which plots contain long/short signals
2. **Add SQV Lite**
- Add SQV Lite indicator to the same chart
- Configure SQV settings as needed
3. **Add Indicator Bridge**
- Add "SQV Indicator Bridge" to chart
- Connect the sources:
- Long Signal Source → Your indicator's long signal
- Short Signal Source → Your indicator's short signal
- SQV Long Valid → From SQV Lite
- SQV Short Valid → From SQV Lite
- SQV Score → From SQV Lite (for alerts)
### Configuration Options
#### Visual Settings
- **Show Labels**: Toggle signal labels on/off
- **Label Offset**: Distance from candles (0-5 ATR)
- **Label Size**: Tiny, Small, or Normal
- **Colors**: Customize long/short colors
#### Alerts
- Enable/disable alert notifications
- Alerts include SQV score in message
### Example Code (Add to Your Indicator)
```pinescript
// Export signals from your indicator
plot(longCondition ? 1 : 0, "Long Signal", display=display.none)
plot(shortCondition ? 1 : 0, "Short Signal", display=display.none)
```
### Complete Indicator Bridge Code
```pinescript
//version=6
indicator("SQV Indicator Bridge", overlay=true)
// ===================================================================
// SQV INDICATOR BRIDGE - CLEAN VERSION
// Version 1.0
//
// Simple bridge that shows validated entry signals.
// Receives signals from any indicator and validation from SQV Lite.
//
// SETUP:
// 1. Add your indicator to chart
// 2. Add SQV Lite to chart
// 3. Add this bridge
// 4. Connect sources in settings
// ===================================================================
// ===================================================================
// INPUT SOURCES
// ===================================================================
// From your indicator
longSignal = input.source(close, "Long Signal Source", group="Signal Sources",
tooltip="Select Long Signal from your indicator")
shortSignal = input.source(close, "Short Signal Source", group="Signal Sources",
tooltip="Select Short Signal from your indicator")
// From SQV Lite
sqvLongValid = input.source(close, "SQV Long Valid", group="SQV Sources",
tooltip="Select 'SQV Long Valid' from SQV Lite")
sqvShortValid = input.source(close, "SQV Short Valid", group="SQV Sources",
tooltip="Select 'SQV Short Valid' from SQV Lite")
sqvScore = input.source(close, "SQV Score", group="SQV Sources",
tooltip="Select 'SQV Score' from SQV Lite (for alerts)")
// ===================================================================
// SETTINGS
// ===================================================================
showLabels = input.bool(true, "Show Labels", group="Visual")
labelOffset = input.float(0.0, "Label Offset (ATR)", minval=0.0, maxval=5.0, step=0.5, group="Visual",
tooltip="0 = Labels at candle edges, higher = further away")
labelSize = input.string("small", "Label Size", options=["tiny", "small", "normal"], group="Visual")
longColor = input.color(color.green, "Long Color", group="Visual")
shortColor = input.color(color.red, "Short Color", group="Visual")
enableAlerts = input.bool(false, "Enable Alerts", group="Alerts")
// ===================================================================
// MAIN LOGIC
// ===================================================================
// Calculate offset
atr = ta.atr(14)
offset = labelOffset > 0 ? atr * labelOffset : 0
// Check for validated signals
hasValidLong = longSignal > 0 and sqvLongValid > 0 and barstate.isconfirmed
hasValidShort = shortSignal > 0 and sqvShortValid > 0 and barstate.isconfirmed
// Show labels
if showLabels
if hasValidLong
label.new(bar_index, low - offset, "LONG",
style=label.style_label_up,
color=longColor,
textcolor=color.white,
size=labelSize == "tiny" ? size.tiny :
labelSize == "small" ? size.small : size.normal)
if hasValidShort
label.new(bar_index, high + offset, "SHORT",
style=label.style_label_down,
color=shortColor,
textcolor=color.white,
size=labelSize == "tiny" ? size.tiny :
labelSize == "small" ? size.small : size.normal)
// Alerts
if enableAlerts
if hasValidLong
alert("Long Signal Validated | Score: " + str.tostring(sqvScore, "#"), alert.freq_once_per_bar_close)
if hasValidShort
alert("Short Signal Validated | Score: " + str.tostring(sqvScore, "#"), alert.freq_once_per_bar_close)
// Hidden exports
plot(hasValidLong ? 1 : 0, "Valid Long", display=display.none)
plot(hasValidShort ? 1 : 0, "Valid Short", display=display.none)
```
---
## SQV Strategy Bridge
### //version=6
### strategy("SQV Strategy Bridge", overlay=true, ...)
### Purpose
The Strategy Bridge executes trades with SQV validation, enabling backtesting and live trading with quality-filtered signals. It can receive position sizing, stop loss, and take profit levels from your strategy.
### Features
- Automated trade execution with SQV validation
- Dynamic position sizing support
- Stop loss and take profit integration
- Position status display
- Alert system for trade notifications
### Setup Instructions
1. **Prepare Your Strategy**
- Export required values as plots (see examples below)
- Ensure signals are clear (1 for entry, 0 for no signal)
2. **Add SQV Lite**
- Add SQV Lite indicator to the chart
- Configure validation parameters
3. **Add Strategy Bridge**
- Add "SQV Strategy Bridge" to chart
- Connect all required sources
### Source Connections
#### Required Sources
- **Long Signal Source** → Your strategy's long signal
- **Short Signal Source** → Your strategy's short signal
- **SQV Long Valid** → From SQV Lite
- **SQV Short Valid** → From SQV Lite
- **SQV Score** → From SQV Lite
#### Optional Sources (Advanced)
- **Position Size Source** → Dynamic position sizing
- **Long/Short Stop Loss** → Stop loss prices
- **Long/Short Take Profit** → Take profit prices
### Configuration Options
#### Position Management
- **Use Position Size from Strategy**: Enable dynamic sizing
- **Default Position Size %**: Fallback size (0.1-100%)
#### Risk Management
- **Use Stop Loss from Strategy**: Enable dynamic stops
- **Use Take Profit from Strategy**: Enable dynamic targets
### Example Code (Add to Your Strategy)
```pinescript
// Basic signal export
plot(buySignal ? 1 : 0, "Long Signal", display=display.none)
plot(sellSignal ? 1 : 0, "Short Signal", display=display.none)
// Advanced exports (optional)
// Position size (0.1 = 10% of equity)
plot(myPositionSize, "Position Size Output", display=display.none)
// Stop loss prices
plot(longStopPrice, "Long Stop Price", display=display.none)
plot(shortStopPrice, "Short Stop Price", display=display.none)
// Take profit prices
plot(longTPPrice, "Long TP Price", display=display.none)
plot(shortTPPrice, "Short TP Price", display=display.none)
```
### Complete Strategy Bridge Code
```pinescript
//version=6
strategy("SQV Strategy Bridge",
overlay=true,
initial_capital=10000,
default_qty_type=strategy.percent_of_equity,
default_qty_value=10,
commission_type=strategy.commission.percent,
commission_value=0.1)
// ===================================================================
// SQV STRATEGY BRIDGE - SIMPLE VERSION
// Version 1.0
//
// Receives everything from your strategy:
// - Signals (when to trade)
// - Position size (how much to trade)
// - Stop loss levels (optional)
// - Take profit levels (optional)
//
// Bridge only executes trades with SQV validation
// ===================================================================
// ===================================================================
// SIGNAL SOURCES
// ===================================================================
longSignal = input.source(close, "Long Signal Source", group="Signal Sources",
tooltip="Connect to Long Signal from your strategy")
shortSignal = input.source(close, "Short Signal Source", group="Signal Sources",
tooltip="Connect to Short Signal from your strategy")
// ===================================================================
// SQV SOURCES
// ===================================================================
sqvLongValid = input.source(close, "SQV Long Valid", group="SQV Sources")
sqvShortValid = input.source(close, "SQV Short Valid", group="SQV Sources")
sqvScore = input.source(close, "SQV Score", group="SQV Sources")
// ===================================================================
// POSITION SIZE SOURCES (FROM YOUR STRATEGY)
// ===================================================================
usePositionFromStrategy = input.bool(false, "Use Position Size from Strategy", group="Position")
positionSizeSource = input.source(close, "Position Size Source", group="Position",
tooltip="Your strategy should export position size (% or fixed quantity)")
defaultPositionSize = input.float(10, "Default Position Size %", minval=0.1, maxval=100, group="Position",
tooltip="Used if 'Use Position Size from Strategy' is disabled")
// ===================================================================
// STOP LOSS SOURCES (FROM YOUR STRATEGY)
// ===================================================================
useStopFromStrategy = input.bool(false, "Use Stop Loss from Strategy", group="Risk Management")
longStopSource = input.source(close, "Long Stop Loss Price", group="Risk Management",
tooltip="Your strategy should export exact stop price for longs")
shortStopSource = input.source(close, "Short Stop Loss Price", group="Risk Management",
tooltip="Your strategy should export exact stop price for shorts")
// ===================================================================
// TAKE PROFIT SOURCES (FROM YOUR STRATEGY)
// ===================================================================
useTakeProfitFromStrategy = input.bool(false, "Use Take Profit from Strategy", group="Risk Management")
longTakeProfitSource = input.source(close, "Long Take Profit Price", group="Risk Management",
tooltip="Your strategy should export exact TP price for longs")
shortTakeProfitSource = input.source(close, "Short Take Profit Price", group="Risk Management",
tooltip="Your strategy should export exact TP price for shorts")
// ===================================================================
// ALERTS
// ===================================================================
enableAlerts = input.bool(true, "Enable Alerts", group="Alerts")
// ===================================================================
// TRADING LOGIC
// ===================================================================
// Check signals with SQV validation
hasLongSignal = longSignal > 0 and sqvLongValid > 0 and barstate.isconfirmed
hasShortSignal = shortSignal > 0 and sqvShortValid > 0 and barstate.isconfirmed
// Position state
inLong = strategy.position_size > 0
inShort = strategy.position_size < 0
// Get position size
getPositionSize() =>
if usePositionFromStrategy and positionSizeSource > 0
positionSizeSource
else
defaultPositionSize / 100
// LONG ENTRY
if hasLongSignal and not inLong
if inShort
strategy.close("Short")
qty = getPositionSize()
strategy.entry("Long", strategy.long, qty=qty)
// Set exit orders if provided by strategy
if useStopFromStrategy or useTakeProfitFromStrategy
stopPrice = useStopFromStrategy and longStopSource > 0 ? longStopSource : na
tpPrice = useTakeProfitFromStrategy and longTakeProfitSource > 0 ? longTakeProfitSource : na
if not na(stopPrice) or not na(tpPrice)
strategy.exit("Long Exit", "Long", stop=stopPrice, limit=tpPrice)
if enableAlerts
alert("Long Entry | Score: " + str.tostring(sqvScore, "#"), alert.freq_once_per_bar_close)
// SHORT ENTRY
if hasShortSignal and not inShort
if inLong
strategy.close("Long")
qty = getPositionSize()
strategy.entry("Short", strategy.short, qty=qty)
// Set exit orders if provided by strategy
if useStopFromStrategy or useTakeProfitFromStrategy
stopPrice = useStopFromStrategy and shortStopSource > 0 ? shortStopSource : na
tpPrice = useTakeProfitFromStrategy and shortTakeProfitSource > 0 ? shortTakeProfitSource : na
if not na(stopPrice) or not na(tpPrice)
strategy.exit("Short Exit", "Short", stop=stopPrice, limit=tpPrice)
if enableAlerts
alert("Short Entry | Score: " + str.tostring(sqvScore, "#"), alert.freq_once_per_bar_close)
// ===================================================================
// POSITION INFO
// ===================================================================
var label infoLabel = label.new(bar_index, high, "", style=label.style_label_left)
if barstate.islast
posText = "Bridge Status\n"
posText := inLong ? posText + "Position: LONG\n" : inShort ? posText + "Position: SHORT\n" : posText + "Position: FLAT\n"
posText := "SQV Score: " + str.tostring(sqvScore, "#")
label.set_xy(infoLabel, bar_index + 1, high)
label.set_text(infoLabel, posText)
label.set_color(infoLabel, inLong ? color.new(color.green, 80) : inShort ? color.new(color.red, 80) : color.new(color.gray, 80))
label.set_textcolor(infoLabel, color.white)
// ===================================================================
// HOW TO EXPORT FROM YOUR STRATEGY:
//
// // In your strategy, export these values:
//
// // Position size (% as decimal: 0.1 = 10%, or fixed: 0.2 = 0.2 BTC)
// plot(myPositionSize, "Position Size Output", display=display.none)
//
// // Stop loss prices
// plot(longStopPrice, "Long Stop Price", display=display.none)
// plot(shortStopPrice, "Short Stop Price", display=display.none)
//
// // Take profit prices
// plot(longTPPrice, "Long TP Price", display=display.none)
// plot(shortTPPrice, "Short TP Price", display=display.none)
// ===================================================================
```
---
## Quick Start Guide
### For Indicators (Visual Signals)
1. Add these three indicators in order:
- Your trading indicator
- SQV Lite
- SQV Indicator Bridge
2. In Bridge settings, connect:
- Signal sources from your indicator
- Validation sources from SQV Lite
3. Adjust visual settings to preference
### For Strategies (Automated Trading)
1. Modify your strategy to export signals:
```pinescript
plot(longSignal ? 1 : 0, "Long Signal", display=display.none)
plot(shortSignal ? 1 : 0, "Short Signal", display=display.none)
```
2. Add to chart:
- Your modified strategy (as indicator)
- SQV Lite
- SQV Strategy Bridge
3. Connect all sources in Bridge settings
4. Run backtest or enable live trading
---
## Tips & Best Practices
### Signal Quality
- SQV validates signals based on 5 market components (7 in full version)
- Only signals with sufficient quality score pass validation
- Adjust SQV settings to match your trading style
### Position Sizing
- Default sizing uses percentage of equity
- Advanced users can export dynamic sizing from strategy
- Size based on signal quality or market conditions
### Risk Management
- Always use stop losses (manual or from strategy)
- Consider using SQV's quality score for position sizing
- Monitor win rate and Sharpe ratio in SQV dashboard (full version)
### Troubleshooting
- **No signals showing**: Check source connections
- **Too few signals**: Lower SQV minimum score
- **Too many signals**: Increase SQV requirements
- **Backtest issues**: Ensure strategy calculations match
---
## Example Setups
### Simple Moving Average Cross + SQV
```pinescript
// In your indicator
ma_fast = ta.sma(close, 20)
ma_slow = ta.sma(close, 50)
longSignal = ta.crossover(ma_fast, ma_slow)
shortSignal = ta.crossunder(ma_fast, ma_slow)
plot(longSignal ? 1 : 0, "Long Signal", display=display.none)
plot(shortSignal ? 1 : 0, "Short Signal", display=display.none)
```
### RSI Strategy with Dynamic Stops
```pinescript
// In your strategy
rsi = ta.rsi(close, 14)
longSignal = rsi < 30
shortSignal = rsi > 70
// Dynamic stops based on ATR
atr = ta.atr(14)
longStop = close - (atr * 2)
shortStop = close + (atr * 2)
// Export everything
plot(longSignal ? 1 : 0, "Long Signal", display=display.none)
plot(shortSignal ? 1 : 0, "Short Signal", display=display.none)
plot(longStop, "Long Stop Price", display=display.none)
plot(shortStop, "Short Stop Price", display=display.none)
```
---
## Advanced Features
### Multi-Timeframe Validation
SQV automatically checks higher timeframes for confluence, improving signal reliability (Full version only).
### Adaptive Profiles
Use "Auto" profile in SQV for dynamic parameter adjustment based on market conditions (Full version only).
### Performance Tracking
SQV tracks win rate, Sharpe ratio, and other metrics to ensure consistent performance (Full version only).
### Order Flow Analysis
Validates signals using volume delta and buying/selling pressure (included in Lite version).
---
## Upgrade to SQV Full Version
### Enhanced Capabilities in Full Version
The complete SQV system extends validation capabilities with advanced components:
#### 🎯 **Performance Analytics Component**
- Real-time Sharpe Ratio calculation
- Win rate tracking with confidence intervals
- Risk-adjusted performance metrics
- Adaptive threshold adjustments
#### ⚡ **Impulse Detection with Trap Analysis**
- Advanced momentum surge detection
- Market manipulation identification
- False breakout filtering
- Volume/price divergence analysis
#### 📊 **Multi-Timeframe Confluence**
- Three-timeframe trend alignment
- Higher timeframe confirmation requirements
- Confluence strength scoring
- Directional bias validation
#### 🎰 **Dynamic Position Sizing**
- Automatic position multipliers based on signal quality
- Grade A+ signals (90+) = Maximum multiplier
- Grade A signals (80-89) = Scaled multiplier
- Grade B signals (65-79) = Base position size
- Risk-adjusted position management
- Sharpe-influenced adjustments
#### 🔄 **Auto Mode**
- Market-adaptive parameter optimization
- Dynamic weight redistribution
- Volatility-based threshold adjustments
- Self-calibrating component settings
#### 📈 **Volume Profile Integration**
- Point of Control (POC) identification
- Value Area analysis (VAH/VAL)
- Profile-based support/resistance
- Volume distribution visualization
#### 🛡️ **Recovery Mode**
- Drawdown detection and adaptation
- Conservative validation during recovery
- Gradual threshold normalization
- Performance-based re-engagement
#### 📊 **Extended Visualizations**
- Multiple dashboard layouts
- Component breakdown displays
- Performance statistics panels
- Risk grade assessments
### Why Upgrade?
While SQV Lite provides robust signal validation, the Full Version transforms your trading with:
- **Automated risk management** through dynamic sizing
- **Superior signal filtering** via Impulse and MTF components
- **Performance optimization** with real-time analytics
- **Market adaptation** through Auto Mode
- **Additional dashboard layouts** for complete market insight
The Full Version includes everything in Lite plus seven additional premium components.
---
## 💰 **SQV Full Version Pricing**
### **Monthly Subscription: $29/month**
Get instant access to the complete Signal Quality Validator system with all premium features:
- ✅ All 7 additional advanced components
- ✅ Automatic position sizing optimization
- ✅ Performance analytics & Sharpe tracking
- ✅ Impulse detection with trap analysis
- ✅ Multi-timeframe confluence validation
- ✅ Auto Mode with self-optimization
- ✅ Recovery mode for drawdown management
- ✅ 4 dashboard layouts
- ✅ Lifetime updates included
- ✅ Priority support
**The automatic position sizing feature alone can pay for months of subscription with a single properly-sized winning trade.**
### 📩 **How to Subscribe**
To get access to SQV Full Version:
1. **Send me a DM** on TradingView
2. **Include your TradingView username/ID** in the message
3. Receive payment instructions and access upon confirmation
*Your TradingView ID is required to grant access to the private indicator.*
### 🔧 **Custom Integration Services**
**Need direct integration into your Pine Script strategy?**
For traders requiring seamless library-based integration without the 500-bar limitation:
- Full backtesting on complete price history
- Zero signal delay
- Custom parameter optimization
- Private library implementation
**📩 DM me for custom integration pricing and details**
---
## Support and Updates
- Both bridges are regularly updated
- SQV Lite receives regular maintenance updates
- For technical questions or feature requests, please reach out through TradingView's messaging system
- Check for new features and improvements in the script descriptions
## Disclaimer
Signal Quality Validator provides technical analysis assistance only. All trading decisions remain the sole responsibility of the user. Past performance does not guarantee future results. Trade responsibly and within your risk tolerance.
*Note: This system is designed for educational purposes. Always test thoroughly before live trading.*
發行說明
# Signal Quality Validator Lite - Professional Trading Signal Validation## Overview
SQV Lite validates your trading signals using 5 advanced market components:
• **Trend Analysis** - Directional bias and strength
• **Volume Dynamics** - Market participation and flow
• **Momentum Assessment** - Price acceleration patterns
• **Market Structure** - Key support/resistance levels
• **Volatility Filter** - Optimal trading conditions
Produces quality grades: **A+ (90-100)**, **A (80-89)**, **B (65-79)**, **C (<65)**
## Features
• 5 Timeframe Profiles (1-5m, 15-30m, 1-4H, Daily+, Custom)
• Real-time Order Flow Analysis
• Visual signal labels with quality scores
• Dashboard with current market assessment
• Full integration support via Bridge System
## Quick Setup Guide
**IMPORTANT: You need a Bridge to connect your strategy with SQV!**
### Step 1: Prepare Your Strategy/Indicator
Update your existing strategy to export signals:
//@version=6
indicator("My Strategy", overlay=true) // or strategy()
// === Your existing logic ===
fast = ta.ema(close, 9)
slow = ta.ema(close, 21)
// Your original signals
longCondition = ta.crossover(fast, slow)
shortCondition = ta.crossunder(fast, slow)
// === ADD THESE LINES FOR SQV ===
plot(longCondition ? 1 : 0, "Long Signal Output", display=display.none)
plot(shortCondition ? 1 : 0, "Short Signal Output", display=display.none)
// Optional: Export additional data
positionSize = 0.1 // 10% of equity
longStopPrice = close - ta.atr(14) * 2
shortStopPrice = close + ta.atr(14) * 2
plot(positionSize, "Position Size Output", display=display.none)
plot(longStopPrice, "Long Stop Price", display=display.none)
plot(shortStopPrice, "Short Stop Price", display=display.none)
### Step 2: Add Components to Chart
Add in this exact order:
1. Your updated indicator/strategy
2. SQV Lite
3. SQV Bridge (use code below)
### Step 3: Connect Sources in Bridge Settings
In Bridge settings, connect:
• Long/Short Signal Source → Your indicator's signal outputs
• SQV Sources → From SQV Lite
## SQV Data Exports
// Available from SQV Lite:
plot(currentTotalScore, "SQV Score", display=display.none) // 0-100
plot(sqvLongValid ? 1 : 0, "SQV Long Valid", display=display.none)
plot(sqvShortValid ? 1 : 0, "SQV Short Valid", display=display.none)
plot(currentTrendScore, "SQV Trend Score", display=display.none)
plot(currentVolumeScore, "SQV Volume Score", display=display.none)
plot(currentMomentumScore, "SQV Momentum Score", display=display.none)
plot(currentStructureScore, "SQV Structure Score", display=display.none)
plot(currentVolatilityScore, "SQV Volatility Score", display=display.none)
plot(orderFlowDelta, "SQV Order Flow Delta", display=display.none)
---
## SQV Indicator Bridge (Visual Signals)
**Already published!** Search for **"SQV Indicator Bridge"** on TradingView and add it to your chart.
The Indicator Bridge shows validated entry signals with customizable labels and alerts.
---
## SQV Strategy Bridge (Automated Trading)
Basic connector template - add your own exit logic, position management, etc:
//@version=6
strategy("SQV Strategy Bridge", overlay=true, initial_capital=10000,
default_qty_type=strategy.percent_of_equity, default_qty_value=10)
// CONNECT SOURCES
longSignal = input.source(close, "Long Signal Source", group="Signals")
shortSignal = input.source(close, "Short Signal Source", group="Signals")
sqvLongValid = input.source(close, "SQV Long Valid", group="SQV")
sqvShortValid = input.source(close, "SQV Short Valid", group="SQV")
sqvScore = input.source(close, "SQV Score", group="SQV")
// POSITION SIZE
posSize = input.float(10, "Position Size %", minval=1, maxval=100) / 100
// VALIDATED SIGNALS
validLong = longSignal > 0 and sqvLongValid > 0 and barstate.isconfirmed
validShort = shortSignal > 0 and sqvShortValid > 0 and barstate.isconfirmed
// ENTRIES
if validLong
strategy.entry("Long", strategy.long, qty=posSize)
if validShort
strategy.entry("Short", strategy.short, qty=posSize)
// ADD YOUR OWN EXIT LOGIC HERE
// Example: Exit on opposite signal
if strategy.position_size > 0 and validShort
strategy.close("Long")
if strategy.position_size < 0 and validLong
strategy.close("Short")
// ALERTS
alertcondition(validLong, "SQV Long", "Long Signal Validated")
alertcondition(validShort, "SQV Short", "Short Signal Validated")
**Customize this template:**
• Add your own stop loss/take profit logic
• Implement position sizing based on SQV score
• Add trailing stops or other exit conditions
• Connect additional data from your strategy
---
## 💎 SQV Premium (Full Version)
### Additional Premium Components:
• **Performance Analytics** - Sharpe Ratio & Win Rate tracking
• **Impulse Detection** - Advanced momentum surge filtering
• **Multi-Timeframe Analysis** - 3-timeframe confluence
• **Dynamic Position Sizing** - Automatic size optimization
• **Auto Mode** - Self-optimizing parameters
• **Recovery Mode** - Drawdown management
• **Volume Profile** - POC & Value Area analysis
• **4 Dashboard Layouts** - Professional visualizations
### Premium Features:
• 8 Profiles (includes ES, NQ, Auto profiles)
• Statistical confidence filtering
• Market manipulation detection
• Risk grade system (A+ to F)
• Built-in strategy execution
• Performance-based adjustments
### 💰 Pricing: $29/month
✅ All premium components included
✅ Priority support
✅ Custom integration available
### 📩 How to Get Premium:
1. Send DM on TradingView
2. Include your username
3. Get instant access
---
## Support
Questions? DM on TradingView for help or custom integration services.
**Disclaimer:** Trading involves risk. Past performance doesn't guarantee future results.
發行說明
v1.1 ReleasedChangelog:
Performance fixes and other improvements
發行說明
Implemented Light/Dark theme auto-detection, now it adjusts dashboard colors accordingly發行說明
Minor bugfixes受保護腳本
此腳本以閉源形式發佈。 不過,您可以自由且不受任何限制地使用它 — 在此處了解更多資訊。
免責聲明
這些資訊和出版物並不意味著也不構成TradingView提供或認可的金融、投資、交易或其他類型的意見或建議。請在使用條款閱讀更多資訊。
受保護腳本
此腳本以閉源形式發佈。 不過,您可以自由且不受任何限制地使用它 — 在此處了解更多資訊。
免責聲明
這些資訊和出版物並不意味著也不構成TradingView提供或認可的金融、投資、交易或其他類型的意見或建議。請在使用條款閱讀更多資訊。