
.\.venv\Scripts\Activate.ps1
python .\scripts\poc\poc_line_break_generator.py
Transclude of poc_line_break_chart
Transclude of poc_line_break_generator.py
Contesto
Similmente ai grafici Kagi, i grafici “Three Line Break” sono una tecnica di charting giapponese che filtra il rumore di mercato e aiuta a identificare i trend in modo più chiaro. Le regole per la loro costruzione sono uniche e non sono comunemente supportate dalle librerie di charting standard.
Per integrare questa potente tecnica di analisi in FIRE, era necessario verificare la nostra capacità di:
- Implementare la Logica: Sviluppare un algoritmo custom che, partendo da dati OHLC, potesse calcolare correttamente la sequenza di “linee” (blocchi bianchi/neri o verdi/rossi) secondo le regole del Three Line Break.
- Scegliere una Visualizzazione Adeguata: Trovare un modo efficace per rappresentare le “linee” generate, che sono simili a candele senza ombre, utilizzando una libreria come Plotly.
Decisione
Abbiamo sviluppato uno script di Proof of Concept (poc_line_break_generator.py) che implementa l’algoritmo per il calcolo dei dati Three Line Break e ne genera una visualizzazione interattiva.
Le decisioni tecniche chiave implementate nello script sono:
- Algoritmo Custom (
calculate_line_break): È stato scritto un algoritmo da zero che itera sui prezzi di chiusura e costruisce una sequenza di “linee”. La logica implementa correttamente la regola fondamentale: una nuova linea viene disegnata solo se il prezzo di chiusura supera il massimo o il minimo delle tre linee precedenti. - Integrazione con il
DataManager: Lo script si collega ai moduli core di FIRE per il caricamento dei dati, dimostrando la compatibilità dell’algoritmo con l’architettura esistente. - Visualizzazione Intelligente con
go.Candlestick: Invece di disegnare manualmente le linee, si è brillantemente deciso di riadattare l’oggettogo.Candlestickdi Plotly. Il DataFrame generato dall’algoritmo ha le colonneopen,high,low,closenecessarie, permettendo di usare un componente già esistente, potente e ben ottimizzato per la visualizzazione. - Output Autonomo: Lo script produce un file HTML completo (
poc_line_break_chart.html) che contiene il grafico interattivo, facilitando la revisione e la validazione del risultato.
Conseguenze
Positive
- Validazione dell’Algoritmo: Il POC ha confermato che la logica, anche se complessa, può essere implementata internamente, garantendo pieno controllo e assenza di dipendenze esterne per questa funzionalità.
- Soluzione di Visualizzazione Elegante: L’utilizzo dell’oggetto
go.Candlesticksi è rivelata una soluzione molto intelligente ed efficiente, evitando la necessità di scrivere codice di plotting custom e complesso e sfruttando al contempo le performance e l’interattività di un componente nativo di Plotly. - Codice Riutilizzabile: L’algoritmo e la logica di plotting sviluppati nel POC sono direttamente trasferibili in un modulo di analisi o in un componente UI di FIRE con modifiche minime.
- Potenziale di Personalizzazione: Essendo il codice nostro, possiamo facilmente estenderlo per supportare varianti (es. Two Line Break) o per personalizzare le regole di calcolo.
Negative / Limitazioni
- Manutenzione Interna: La responsabilità della correttezza e della manutenzione dell’algoritmo è interamente a carico del team di sviluppo.
- Performance su Vasta Scala: L’implementazione attuale, basata su un ciclo
forin Python, è ideale per un POC ma potrebbe richiedere ottimizzazioni (es. vettorizzazione) se dovesse essere eseguita su serie storiche estremamente lunghe in contesti che richiedono alte prestazioni.