Pine Script to NautilusTrader Migration Skill
Workflow di Conversione
Step 1: Analisi del Pine Script
Prima di convertire, analizzare il codice Pine per identificare:
- •Versione Pine Script (v4, v5, v6)
- •Indicatori built-in usati (ta.sma, ta.ema, ta.rsi, etc.)
- •Variabili series e loro dipendenze temporali
- •Input parameters e loro tipi
- •Output (plot, alertcondition, etc.)
Step 2: Mappatura Funzioni
Consultare references/pine_to_nautilus_mapping.md per la mappatura completa.
Funzioni comuni:
- •
ta.sma(src, len)→SimpleMovingAverage(period) - •
ta.ema(src, len)→ExponentialMovingAverage(period) - •
ta.rsi(src, len)→RelativeStrengthIndex(period) - •
ta.atr(len)→AverageTrueRange(period) - •
ta.crossover(a, b)→ logica customa > b and prev_a <= prev_b - •
ta.crossunder(a, b)→ logica customa < b and prev_a >= prev_b - •
nz(x, replacement)→x if x is not None else replacement - •
na(x)→x is None
Step 3: Scegliere il Target
Python (default): Per prototyping, strategie non-HFT
Cython: Per prestazioni migliori, stesso workflow di Python
Rust: Solo per indicatori critici in strategie HFT
Step 4: Generare il Codice
Usare i template in assets/templates/ come base.
Step 5: Generare Test di Validazione
Sempre generare test che confrontano output con valori attesi da TradingView.
Pattern Specifici Big Beluga
Gli indicatori di Big Beluga spesso usano:
- •Smoothing multiplo (doppio/triplo EMA)
- •Bande dinamiche basate su ATR
- •Colori condizionali (tradurre in segnali numerici)
- •Frecce/label (tradurre in enum di segnali)
Output Atteso
Per ogni conversione, produrre:
- •File indicatore (
.py,.pyx, o.rs) - •File di test (
test_<indicator>.py) - •Documentazione inline
- •Note su eventuali differenze di comportamento
Riferimenti
- •
references/pine_to_nautilus_mapping.md- Mappatura completa funzioni - •
references/nautilus_indicator_patterns.md- Pattern comuni Nautilus - •
references/big_beluga_patterns.md- Pattern specifici Big Beluga - •
assets/templates/- Template base per Python/Cython/Rust