🎯 Trade Visualization Settings
Automatic Trade Arrow System
BananaEA v4.5.1+ 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
TradeArrowSize = 1 // Small arrows (subtle, minimal chart clutter)
TradeArrowSize = 2 // Medium arrows (DEFAULT - balanced visibility)
TradeArrowSize = 3 // Large arrows (maximum visibility, chart analysis)
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
CustomArrowColor = clrNONE // Use default color scheme (RECOMMENDED)
CustomArrowColor = clrBlue // Override all arrows to blue
CustomArrowColor = clrGold // Override all arrows to gold
CustomArrowColor = clrLime // Override all arrows to lime
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
MaxBarsToPlot = 0 // Real-time signals only (no historical plotting)
MaxBarsToPlot = 100 // Scan last 100 bars (RECOMMENDED)
MaxBarsToPlot = 500 // Scan last 500 bars (detailed analysis)
MaxBarsToPlot = 1000 // Scan last 1000 bars (comprehensive view)
MaxBarsToPlot = 5000 // Maximum - scan last 5000 bars (slow on attach)
Default Value
- Setting:
100bars - 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
- clear appearance for screenshots/recording
🔧 Advanced Configuration Strategies
Strategy 1: Learning Mode
ShowTradeArrows = true
TradeArrowSize = 3
MaxBarsToPlot = 1000
CustomArrowColor = clrNONE
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)
ShowTradeArrows = true
TradeArrowSize = 2
MaxBarsToPlot = 100
CustomArrowColor = clrNONE
Goal: Visual feedback without clutter
When: Active trading, monitoring multiple charts
Result: Quick visual confirmation of signals
Strategy 3: structured Clean Chart
ShowTradeArrows = false
TradeArrowSize = 2
MaxBarsToPlot = 0
CustomArrowColor = clrNONE
Goal: Minimalist chart for focus
When: Experienced traders, high-concentration sessions
Result: Pure price action view
Strategy 4: Presentation/Teaching
ShowTradeArrows = true
TradeArrowSize = 3
MaxBarsToPlot = 500
CustomArrowColor = clrGold
Goal: High visibility for screenshots/videos
When: Creating educational content, prop firm applications
Result: structured, 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 = 3pips (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:
ShowTradeArrows = false(disabled)MaxBarsToPlot = 0(historical scan disabled)- No signals detected in scan period
- EA not fully initialized
Solution:
- Verify
ShowTradeArrows = truein EA inputs - Set
MaxBarsToPlot = 100or higher - Check EA logs for "Signal detected" messages
- Ensure EA shows "Initialized successfully" in Experts log
Problem: Too Many Arrows (Chart Cluttered)
Possible Causes:
MaxBarsToPlotset too high (e.g., 5000 bars)- EA detecting many signals (working correctly)
Solution:
- Reduce
MaxBarsToPlotto 100-200 bars - Use
TradeArrowSize = 1for smaller arrows - Zoom out on chart to see broader pattern distribution
- Consider
ShowTradeArrows = falseif not needed
Problem: Arrows Wrong Color
Possible Causes:
CustomArrowColoroverriding default colors- Theme system conflict (rare)
Solution:
- Set
CustomArrowColor = clrNONEto restore defaults - Restart EA after changing color settings
- 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)
🔗 Related Settings
- Visual Customization - Dashboard colors, panel positioning, DPI scaling
- Advanced Features - Trade lines, SL/TP levels visualization
- Signal Configuration - Enable/disable specific patterns that create arrows
- General Settings - Magic number affects Trade Management Mode arrows
📚 Further Reading
- Visual Enhancements Guide - Deep dive into visualization system
- Trade History Visualization - Markers during Strategy Tester runs
- FAQ: Trade Visualization - Common visualization questions
- Backtesting Guide - Using arrows for backtest analysis