🎯Trade Visualization

Automatic Trade Arrow System

BananaEA v4.4.6+ automatically draws colored arrows on your chart showing every trade entry point with full signal classification. This visual feedback system helps you understand pattern distribution, validate signal detection, and review performance without analyzing logs.


🎨 ShowTradeArrows Parameter

What It Does

Controls whether BananaEA draws visual arrows on the chart at trade entry points. Each arrow is color-coded by signal type and labeled with the pattern name (Bu1, Be2, etc.).

Configuration

ShowTradeArrows = true      // Enable automatic arrow visualization
ShowTradeArrows = false     // Disable arrows (cleaner chart)

Default Value

  • Setting: true (arrows enabled)

  • Why: Visual feedback is valuable for learning and performance analysis

  • Recommendation: Enable during backtesting/demo, optionally disable for live trading


πŸ” 8 Arrow Types & Color Coding

BananaEA displays these arrow types:

Arrow
Signal Type
Default Color
Pattern Description

↑ Bu1

Banana Buy #1

Blue

Primary bullish momentum pattern

↑ Bu2

Banana Buy #2

Light Blue

Secondary bullish pattern

↑ Bu3

Banana Buy #3

Cyan

Tertiary bullish pattern

↓ Be1

Banana Sell #1

Red

Primary bearish momentum pattern

↓ Be2

Banana Sell #2

Orange

Secondary bearish pattern

↓ Be3

Banana Sell #3

Pink

Tertiary bearish pattern

⬆ Ext

External Signal

Purple

From custom indicator

⬆ Man

Manual Trade

Gray

Trade Management Mode


πŸ“ TradeArrowSize Parameter

What It Does

Controls the visual size of arrows drawn on the chart.

Configuration

Default Value

  • Setting: 2 (medium size)

  • Why: Provides clear visibility without overwhelming the chart

  • Recommendation: Use size 3 during learning phase, size 1 for live trading


🎨 CustomArrowColor Parameter

What It Does

Allows overriding the default color scheme with a single custom color for all arrows.

Configuration

Default Value

  • Setting: clrNONE (default color scheme)

  • Why: Color-coded arrows help distinguish signal types instantly

  • Recommendation: Keep default unless you have visual accessibility needs


πŸ“Š MaxBarsToPlot Parameter

What It Does

Controls how many historical bars are scanned for signals when EA is first attached to chart. Signals are plotted automatically on chart load.

Configuration

Default Value

  • Setting: 100 bars

  • Why: Provides sufficient historical context without slowing chart attach

  • Recommendation:

    • Learning/Analysis: 500-1000 bars

    • Live Trading: 100 bars

    • Backtesting: 0 bars (reduces processing overhead)


🎯 Practical Applications

1. Pattern Recognition & Learning

Setup: ShowTradeArrows = true, MaxBarsToPlot = 500

Use Case: Understanding where each pattern type (Bu1, Be2, etc.) occurs on chart

Benefits:

  • See pattern distribution across market structure

  • Identify which patterns occur at support/resistance

  • Learn pattern frequency and timing

  • Understand EA signal detection logic


2. Performance Review

Setup: ShowTradeArrows = true, TradeArrowSize = 3, MaxBarsToPlot = 1000

Use Case: Visual backtesting analysis and trade location review

Benefits:

  • Quickly identify winning vs. losing entry points

  • See if signals cluster at good or bad locations

  • Validate EA is trading optimal zones

  • Compare manual entries vs. EA entries


3. Signal Clustering Analysis

Setup: ShowTradeArrows = true, MaxBarsToPlot = 500

Use Case: Identifying overtrading or signal concentration

Benefits:

  • Detect if EA is overtrading specific sessions

  • See if too many signals during low-volatility periods

  • Identify optimal trading hours visually

  • Understand signal frequency patterns


4. Live Trading (Clean Chart)

Setup: ShowTradeArrows = false, MaxBarsToPlot = 0

Use Case: Minimalist chart for focused price action analysis

Benefits:

  • Reduced visual clutter during live trading

  • Faster chart rendering (no historical scan)

  • Focus on current price action only

  • Professional appearance for screenshots/recording


πŸ”§ Advanced Configuration Strategies

Strategy 1: Learning Mode

Goal: Maximum visibility for pattern learning When: First 1-2 months using EA, backtesting analysis Result: Clear understanding of signal behavior


Strategy 2: Live Trading (Balanced)

Goal: Visual feedback without clutter When: Active trading, monitoring multiple charts Result: Quick visual confirmation of signals


Strategy 3: Professional Clean Chart

Goal: Minimalist chart for focus When: Experienced traders, high-concentration sessions Result: Pure price action view


Strategy 4: Presentation/Teaching

Goal: High visibility for screenshots/videos When: Creating educational content, prop firm applications Result: Professional, visible arrow markers


🎨 Visual Customization Tips

Arrow Positioning

Arrows are automatically positioned at:

  • Buy arrows: Below the signal bar low (with buffer)

  • Sell arrows: Above the signal bar high (with buffer)

  • Buffer: OffsetPips_B1 = 3 pips (adjustable in Parameters.mqh)

Arrow Labels

Each arrow includes:

  • Signal Type: "Bu1", "Be2", "Ext", etc.

  • Entry Price: Hover over arrow to see exact price

  • Timestamp: Arrow appears at signal bar time

Arrow Persistence

  • Backtesting: Arrows remain on chart after backtest completes

  • Live Trading: Arrows stay until EA is removed or chart closed

  • Historical Scan: Arrows load automatically when EA attaches


πŸ” Troubleshooting

Problem: No Arrows Appearing on Chart

Possible Causes:

  1. ShowTradeArrows = false (disabled)

  2. MaxBarsToPlot = 0 (historical scan disabled)

  3. No signals detected in scan period

  4. EA not fully initialized

Solution:

  1. Verify ShowTradeArrows = true in EA inputs

  2. Set MaxBarsToPlot = 100 or higher

  3. Check EA logs for "Signal detected" messages

  4. Ensure EA shows "Initialized successfully" in Experts log


Problem: Too Many Arrows (Chart Cluttered)

Possible Causes:

  1. MaxBarsToPlot set too high (e.g., 5000 bars)

  2. EA detecting many signals (working correctly)

Solution:

  1. Reduce MaxBarsToPlot to 100-200 bars

  2. Use TradeArrowSize = 1 for smaller arrows

  3. Zoom out on chart to see broader pattern distribution

  4. Consider ShowTradeArrows = false if not needed


Problem: Arrows Wrong Color

Possible Causes:

  1. CustomArrowColor overriding default colors

  2. Theme system conflict (rare)

Solution:

  1. Set CustomArrowColor = clrNONE to restore defaults

  2. Restart EA after changing color settings

  3. Verify color in code: Blue=Buy, Red/Orange/Pink=Sell, Purple=External


Problem: Arrows Disappear After Chart Close

Expected Behavior: Arrows are drawn by EA and don't persist after:

  • EA is removed from chart

  • Chart is closed

  • MT4 is restarted

Solution (if you want permanent markers):

  • Use Trade History Visualizer feature (separate setting)

  • Take screenshots for record-keeping

  • Use MT4 "Save Chart" feature to preserve visual state


πŸ“ˆ Performance Considerations

Chart Attach Speed

MaxBarsToPlot
Attach Time
CPU Impact
Use Case

0

Instant

None

Live trading, backtests

100

< 1 second

Minimal

RECOMMENDED

500

2-3 seconds

Low

Analysis, learning

1000

5-8 seconds

Medium

Comprehensive review

5000

20-30 sec

High

Historical research only

Recommendation: Use MaxBarsToPlot = 100 for optimal balance between performance and visibility.


Visual Rendering Impact

  • Arrow Drawing: Minimal CPU impact (< 1% typical)

  • Label Rendering: Negligible impact

  • Memory Usage: ~10KB per 1000 arrows (negligible)

  • Chart Responsiveness: No noticeable degradation

Conclusion: Trade visualization has virtually no performance impact on modern systems.


πŸŽ“ Best Practices

βœ… DO:

  • Enable during backtesting for visual validation

  • Use color-coded scheme (default) for pattern recognition

  • Scan reasonable history (100-500 bars) for context

  • Take screenshots of interesting signal clusters for learning

  • Compare with manual analysis to validate EA logic

❌ DON'T:

  • Scan excessive history (5000 bars) unless researching

  • Override colors unnecessarily - default scheme is optimal

  • Leave enabled on all charts if running multiple EAs (visual clutter)

  • Rely solely on visuals - Always review EA logs for detailed info

  • Forget to adjust when switching demo β†’ live (consider cleaner chart)



πŸ“š Further Reading

Last updated