Skip to content
Algo Trade Analytics Docs

Signal Comparison Grid

The Signal Comparison Grid provides a detailed, row-by-row view of how each backtest trade pairs with alert signals. This is your primary tool for investigating specific mismatches and understanding pattern issues.


The comparison grid displays every backtest trade alongside its matched (or missing) alert signal. Each row represents a single comparison, with columns showing the backtest data, alert data, and calculated differences.


Each row is labeled with a match type indicator:

BadgeMeaningAction
🟢 MatchedBacktest trade found a corresponding alert within tolerancesNo action needed
🟡 MissingBacktest trade has no matching alert (missed alert)Investigate cause
🔴 UnmatchedAlert signal has no corresponding backtest trade (false alert)Investigate cause

ColumnDescription
Trade #Sequential trade number from your CSV
TypeEntry or Exit signal
DirectionLong or Short position
Backtest TimeTimestamp from TradingView export
Backtest PricePrice at signal time
SignalStrategy signal name (e.g., “Buy Signal”)
ColumnDescription
Alert TimeTimestamp when alert was received
Alert PricePrice reported in the alert
Alert SignalSignal name from webhook/CSV
SourceData source (Webhook or CSV)
ColumnDescriptionIdeal Value
Time DiffSeconds/minutes between backtest and alert< 60 seconds
Price DiffAbsolute price difference< 0.5%
Price Diff %Percentage price difference< 0.5%
Match ConfidenceAlgorithm’s confidence score> 90%

FilterPurpose
Show Only ProblemsHide matched rows, focus on mismatches
Match TypeFilter to Matched, Missing, or Unmatched
DirectionFilter to Long or Short signals
Signal TypeFilter to Entry or Exit signals

Click column headers to sort:

Sort ByUse Case
TimeChronological analysis
Time DiffFind largest timing gaps
Price DiffFind largest price discrepancies
Match TypeGroup similar issues together

A well-matched signal shows:

  • 🟢 Matched badge
  • Time difference under 60 seconds
  • Price difference under 0.5%
  • High confidence score (above 90%)

Example:

Backtest: Entry Long @ $245.50, 09:30:00
Alert: Entry Long @ $245.45, 09:30:15
Time Diff: 15 seconds | Price Diff: 0.02%
→ ✅ Excellent match

Missing alerts require investigation:

Pattern 1: Consistent Time Offset

Backtest: 09:30:00, 10:45:00, 14:15:00 (all missing)
Alerts: 09:25:00, 10:40:00, 14:10:00 (all 5 min early)
→ 🔧 Fix: Adjust timezone offset by -5 minutes

Pattern 2: Specific Signal Types

All Entry signals: Matched
All Exit signals: Missing
→ 🔧 Fix: Check TradingView alert covers exits

Pattern 3: Certain Time Periods

9:00-12:00: Matched
12:00-16:00: Missing
→ 🔧 Fix: Check if alerts were paused, webhook issues

False alerts indicate extra signals:

Pattern 1: Duplicate Alerts

Backtest: 1 Entry @ 09:30:00
Alerts: Entry @ 09:30:00 (matched)
Entry @ 09:30:05 (unmatched duplicate)
→ 🔧 Fix: Check TradingView alert trigger settings

Pattern 2: Repainting Signals

Alert at 09:30 for signal that backtest shows at 09:45
→ 🔧 Fix: Review strategy for calc_on_every_tick issues

When you find mismatches, follow this process:

  1. Filter the grid to show only Missing and Unmatched rows.

    • Are mismatches clustered in time?
    • Are specific signal types affected?
    • Is the time difference consistent?
  2. Open the Price Chart view. Look for the specific trades and see if you can visually identify what happened.

  3. Expand the “Raw Data Tables” section to see your original backtest trades and alert signals separately.

  4. If you identify a systematic issue (like timezone), go back to the workflow steps and adjust:

    • Timezone offset in Backtesting Upload
    • Time/price tolerances in Analysis Configuration
  5. After adjustments, click “Run Analysis” again to regenerate results.


Symptom: Every mismatch has the same time difference.

Cause: Timezone misconfiguration.

Solution: Adjust timezone offset in Backtesting Upload step.

Symptom: Entry signals match, exit signals are missing.

Cause: TradingView alert only configured for entries.

Solution: Add exit signal alerts in TradingView.

Symptom: Time-of-day pattern in mismatches.

Cause: Possible webhook timeout, TradingView plan limits, or market hours issues.

Solution: Check webhook logs, TradingView alert history.

Symptom: Mismatches cluster around high-volatility periods.

Cause: Price tolerance too tight for volatile conditions.

Solution: Increase price tolerance or accept these as expected variance.


Export the comparison grid for external analysis:

  1. CSV Export — Download all rows as CSV
  2. Filtered Export — Download only visible (filtered) rows
  3. Summary Export — Download aggregate statistics

Use exports for:

  • Detailed analysis in spreadsheets
  • Documentation for strategy development
  • Comparison across multiple analysis runs