EA_SCALPER_XAUUSD forge-nano

install
source · Clone the upstream repo
git clone https://github.com/francomascareloai/EA_SCALPER_XAUUSD
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/francomascareloai/EA_SCALPER_XAUUSD "$T" && mkdir -p ~/.claude/skills && cp -r "$T/.factory/skills/forge" ~/.claude/skills/francomascareloai-ea-scalper-xauusd-forge-nano && rm -rf "$T"
manifest: .factory/skills/forge/SKILL.md
source content

FORGE NANO v3.1 - Genius Compact Edition

Para sessoes multi-agente com contexto limitado.


Quick Reference

7 Checks (ANTES de entregar codigo)

□ 1. Error handling? (OrderSend, CopyBuffer verificados)
□ 2. Bounds & Null? (arrays, pointers, handles)
□ 3. Division by zero? (guards em todas divisoes)
□ 4. Resources? (delete, IndicatorRelease)
□ 5. FTMO? (DD check, position size)
□ 6. Regression? (grep por dependentes)
□ 7. Bug patterns? (BP-01 a BP-12)

SE FALHAR: Corrigir antes de mostrar
MARK: // ✓ FORGE v3.0: 7/7 checks

Top 10 Anti-Patterns

IDPatternFix Rapido
AP-01OrderSend sem check
if(!OrderSend(...)) handle()
AP-02CopyBuffer sem Series
ArraySetAsSeries(arr,true)
ANTES
AP-03Lot sem normalize
NormalizeLot(lot)
AP-04Divisao sem zero
(d!=0) ? a/d : 0
AP-05Array sem bounds
if(i < ArraySize(arr))
AP-06Handle invalido
if(handle == INVALID_HANDLE) return
AP-07New sem deleteSempre
delete
+
= NULL
AP-08Print em OnTickRate limit ou remover
AP-09DD com BalanceUsar EQUITY, nao Balance
AP-10Retry ausenteMax 3 retries com RefreshRates

Auto-Compile

# Compilar EA
Start-Process -FilePath "C:\Program Files\FTMO MetaTrader 5\metaeditor64.exe" `
  -ArgumentList '/compile:"C:\Users\Admin\Documents\EA_SCALPER_XAUUSD\MQL5\Experts\EA_SCALPER_XAUUSD.mq5"','/inc:"C:\Users\Admin\Documents\EA_SCALPER_XAUUSD\MQL5"','/inc:"C:\Program Files\FTMO MetaTrader 5\MQL5"','/log' `
  -Wait -NoNewWindow

# Verificar resultado
Get-Content "C:\Users\Admin\Documents\EA_SCALPER_XAUUSD\MQL5\Experts\EA_SCALPER_XAUUSD.log" -Encoding Unicode | Select-String "error|warning|Result"

REGRA: Compilar AUTOMATICAMENTE apos qualquer mudanca MQL5.


Handoffs

→ ORACLE (apos changes)

🔮 HANDOFF → ORACLE
RESUMO: [1 frase]
ARQUIVOS: [lista]
RISCO: [o que pode quebrar]
PEDIDO: Backtest rapido

→ SENTINEL (risk changes)

🛡️ HANDOFF → SENTINEL
RESUMO: [mudanca em risco]
VALORES: old → new
PEDIDO: Verificar FTMO

Modulos Criticos (NAO MODIFICAR SEM CUIDADO)

ModuloCriticidadeMotivo
Definitions.mqhMAXIMATodos dependem
FTMO_RiskManager.mqhMAXIMAFTMO compliance
CTradeManager.mqhALTAGerencia posicoes
TradeExecutor.mqhALTAExecuta ordens
CConfluenceScorer.mqhMEDIAAgrega sinais

Bug Patterns Criticos

IDModuloCuidado
BP-02VariosATR handle SEMPRE validar
BP-05RiskManagerDivision by zero em equity
BP-06TradeManagerSL/TP direcao
BP-07TradeExecutorSpread/freeze

FTMO Limites (HARDCODED)

Daily DD: 5% ($5,000) → Buffer: 4%
Total DD: 10% ($10,000) → Buffer: 8%
Risk/trade: 0.5-1% max
VIOLACAO = CONTA TERMINADA

Naming Quick Reference

class CMyClass { };      // Classes: CPascalCase
double m_memberVar;      // Membros: m_prefix
ENUM_MY_ENUM { };        // Enums: ENUM_ prefix
#define MY_CONST 100     // Constantes: UPPER_CASE

Performance Targets

OnTick total: < 50ms
ONNX inference: < 5ms
Indicator calc: < 10ms

Para capabilities completas: .factory/skills/forge/SKILL.md

// ✓ FORGE NANO v3.0 - Compact Mode