BJF TRADING GROUP · ECOSISTEMA SHARPTRADER
SharpTrader Optimizer — Backtester multi-core & ottimizzatore di strategie per arbitraggio di latenza, hedge, lock e altro…
Motore professionale di backtest e ottimizzazione dei parametri per le strategie di arbitraggio e non di arbitraggio di SharpTrader. Riproduce tick storici reali con un tempo di esecuzione degli ordini configurabile, distribuisce grandi griglie di parametri su tutti i core della CPU e calcola automaticamente uno slippage realistico su ogni ordine direttamente dal flusso di tick. Sviluppato dal team di SharpTrader Pro — stesso motore di esecuzione, stessi dialetti dei broker.
LICENZA UNA TANTUM
Cosa fa SharpTrader Optimizer?
SharpTrader Optimizer è un motore dedicato di backtest e ottimizzazione dei parametri per strategie di arbitraggio e non di arbitraggio basate sulla piattaforma SharpTrader. Riproduce i dati tick storici attraverso la logica della tua strategia, modella costi di esecuzione realistici (tempo di esecuzione configurabile, spread variabile per tick, slippage ricavato dai tick) ed esegue l’ottimizzazione a griglia su migliaia di combinazioni di parametri — utilizzando in parallelo tutti i core della CPU disponibili.
Lo strumento è progettato per i trader che utilizzano strategie di latenza, lock, hedge, pair trading, basate sulle notizie e trend-following e che devono trovare set di parametri robusti prima di rischiare capitale reale. A differenza dei backtester retail standard, SharpTrader Optimizer lavora su tick storici reali, ti permette di impostare il tempo di esecuzione per ordine in millisecondi e calcola lo slippage automaticamente dal flusso di tick — le tre variabili che decidono davvero se una strategia è profittevole in produzione.
Backtest di una singola configurazione
Esegui un set di parametri sui dati tick storici e analizza curva del PnL, drawdown, percentuale di operazioni vincenti e ripartizione per ora del giorno.
Ottimizza intervalli di parametri
Definisci min/max/passo per ogni parametro della strategia — il motore genera tutte le combinazioni e classifica i risultati per PnL o drawdown.
Distribuzione multi-core
Carico di lavoro suddiviso equamente su tutti i core della CPU. Un’esecuzione di 12 ore su un singolo thread termina in ~3 ore su una CPU a 4 core.
Tempo di esecuzione modellato
Imposta il tempo di esecuzione per ordine in millisecondi. Il motore avanza nel flusso di tick di quella latenza ed esegue al bid/ask risultante — producendo automaticamente uno slippage positivo o negativo realistico.
Strategie supportate
L’Optimizer include due tipi di strategie di arbitraggio pronti da testare fin dal primo giorno. Altre tre arriveranno nel Q2–Q3 2026 come aggiornamenti gratuiti del prodotto per i titolari di licenza.
Disponibili ora DISPONIBILE
Dalla release v1.0
- Latency Arbitrage — classica strategia feed veloce contro feed lento con diff-to-open configurabile e uscita trailing.
- DominionForce — variante proprietaria di arbitraggio a una gamba di SharpTrader con filtro adattivo dello spread.
- Phantom Drift — logica ibrida martingala & arbitraggio lock.
- Strategie Lock (intera famiglia) — lock classico, lock asimmetrico, lock multi-gamba.
- Arbitraggio hedge — apertura simultanea su due broker con parità di rischio.
Roadmap Q3–Q4 2026 PIANIFICATO
Aggiornamento gratuito per i titolari di licenza
- Pair Trading — mean reversion basata sulla cointegrazione tra simboli correlati.
- Arbitraggio triangolare (FX) — inefficienze nei cross a tre vie.
- Ottimizzazione di portafoglio multi-simbolo — in arrivo a fine 2026.
Modalità backtest e modalità ottimizzazione
L’Optimizer funziona in due modalità complementari. La maggior parte dei flussi di lavoro le usa entrambe: prima ottimizzi per trovare intervalli di parametri candidati, poi esegui il backtest dettagliato dei migliori candidati per verificare la forma della curva di equity e il profilo di drawdown.
Modalità backtest
Esegui un singolo set di parametri su un intervallo di date storico. Restituisce il grafico completo del PnL, la performance per ora del giorno, la ripartizione vincite/perdite per direzione e un registro per singola operazione.
- Visualizza la curva di equity operazione per operazione
- Esamina ogni ordine chiuso: ticket, ora, tipo, lotti, prezzo, P/L
- Filtra per giorno della settimana e ora del giorno
- Usala per: convalidare una singola configurazione, fare il debug della logica della strategia, generare report per clienti o partner
Modalità ottimizzazione
Esegui da migliaia a centinaia di migliaia di combinazioni di parametri come ricerca a griglia. Restituisce una tabella classificata per PnL, MaxDD o punteggio personalizzato.
- Definisci min/passo/max per ogni parametro della strategia; il motore genera la griglia completa
- Parallelizzazione multi-core (una combinazione per core contemporaneamente)
- Barra di avanzamento in tempo reale con contatore delle combinazioni completate e tempo stimato
- Usala per: trovare regioni di parametri robuste, analisi walk-forward, stress test su diversi scenari di tempo di esecuzione
Perché la parallelizzazione multi-core cambia le regole del gioco
La maggior parte dei backtester retail standard funziona su un singolo thread della CPU. Sulle moderne CPU da 4–16 core, questo spreca il 75–94% della potenza di calcolo disponibile. SharpTrader Optimizer è stato progettato fin dal primo giorno per distribuire il carico di ottimizzazione su tutti i core disponibili, con ogni core che elabora una combinazione di parametri indipendente.
In pratica, questo significa che puoi iterare sulle idee di strategia in una notte anziché in una settimana. Un tipico ciclo di ottimizzazione di medie dimensioni con passi ragionevoli produce 30.000–100.000 combinazioni su 1 settimana di dati tick — tranquillamente fattibile in una notte su una workstation a 4 core, o in poche ore su una macchina a 16 core.
Hardware consigliato per un’ottimizzazione seria
Per griglie da 100k+ combinazioni su dataset di tick di più mesi, consigliamo una CPU da 8–16 core (Intel i7/i9 di 12ª generazione o successive, AMD Ryzen 7/9 serie 5000 o successive). Minimo 32 GB di RAM se carichi uno storico di tick pluriennale. SSD fortemente consigliato per l’I/O dei dati tick.
Anche un hardware meno potente funziona — richiede solo più tempo. L’optimizer rileva automaticamente il numero di core e scala in modo lineare.
Parametri di ottimizzazione spiegati
Ogni strategia espone un proprio set di parametri ottimizzabili — la tabella seguente mostra, come esempio rappresentativo, i parametri disponibili per la strategia Latency Arbitrage. Le altre strategie (DominionForce, Phantom Drift, Lock, Hedge, Pair Trading) espongono set diversi. Ogni parametro è attivabile singolarmente: spunta la casella Opt? per includerlo nella griglia, oppure lasciala vuota per fissarlo a un unico valore. Il numero totale di combinazioni viene mostrato in tempo reale mentre regoli gli intervalli.
| Parametro | Cosa controlla | Intervallo tipico |
|---|---|---|
| StopLoss | Perdita massima in pip prima dell’uscita forzata. Fondamentale per il controllo del rischio nelle strategie lock e hedge. | 50–100, passo 10 |
| TakeProfit | Profitto obiettivo in pip. Un TP più basso aumenta la percentuale di successo; un TP più alto cattura movimenti più ampi. | 200–500, passo 50 |
| MinProfit | Soglia minima di profitto prima che si attivi il trailing stop. Filtra le micro-vincite. | 10–100, passo 10 |
| PipsForMinProfit | Pip di movimento del prezzo necessari per bloccare il MinProfit. Lavora insieme a MinProfit nella logica di trailing. | 0–100, passo 10 |
| TrailingStep | Ampiezza del passo del trailing stop. Passi più piccoli proteggono più profitto; passi più grandi evitano uscite anticipate dovute al rumore. | 10–100, passo 10 |
| DiffToOpen | Differenziale minimo tra i feed di prezzo (in punti) necessario per aprire una nuova posizione. Soglia di segnale centrale dell’arbitraggio di latenza. | 10–100, passo 10 |
| MaxSpreadSlow | Spread massimo consentito sul feed lento affinché un segnale sia valido. Filtra le fasi di allargamento dello spread. | 1–20, passo 5 |
| MaxSpreadFast | Spread massimo consentito sul feed veloce. Insieme a MaxSpreadSlow definisce i limiti di qualità dell’esecuzione. | 1–50, passo 5 |
Come la modellazione del tempo di esecuzione produce uno slippage realistico
Il motivo principale per cui i risultati pubblicati dei backtest di arbitraggio non reggono il confronto con i mercati reali sono le ipotesi di latenza zero. I backtester retail standard presuppongono che gli ordini vengano eseguiti al prezzo visualizzato nell’istante stesso in cui vengono inviati. I broker reali non funzionano così. Tra il momento in cui la tua strategia decide di inviare un ordine e il momento in cui quell’ordine viene abbinato sul server del broker, il prezzo si è già mosso — e in una strategia che cattura 1–3 punti per operazione, quel movimento fa spesso la differenza tra profitto e perdita.
SharpTrader Optimizer non ti chiede di indovinare un valore di slippage. Configuri invece un unico input fisico — il tempo di esecuzione dell’ordine, in millisecondi — e il motore ricava lo slippage direttamente dal flusso di tick storico.
Come il motore ricava lo slippage dal tempo di esecuzione
Imposti il tempo di esecuzione = T ms (il round-trip che osservi dal vivo). Il motore considera solo la tratta di andata — T / 2 ms — e avanza di quel valore nel flusso di tick a partire dal momento in cui la strategia ha deciso di inviare l’ordine. La tratta di risposta del broker viene scartata intenzionalmente: quando la risposta torna indietro, il prezzo di esecuzione è già determinato da ciò che il mercato ha fatto durante la tratta della richiesta. Il bid/ask presente sul tick a istante del segnale + T/2 è il prezzo a cui l’ordine viene eseguito. La differenza tra quel prezzo e il prezzo che la strategia “vedeva” quando ha deciso di agire è lo slippage realizzato — positivo, negativo o nullo, con un’entità determinata da come il mercato si è effettivamente mosso in quei millisecondi.
How SharpTrader Optimizer resolves slippage from execution time
Come SharpTrader Optimizer ricava lo slippage dal tempo di esecuzione — la stessa strategia a 0 ms, 50 ms e 150 ms applicata allo stesso flusso di tick.
Input: tempo di esecuzione (ms)
Imposta il tempo di esecuzione per ordine a livello globale o per singola gamba. Valori tipici: 5–20 ms (istituzionale in co-location), 30–60 ms (VPS con bridge veloce), 80–180 ms (VPS retail tipico), 200+ ms (connettività scarsa).
Avanzamento nei tick di mezza latenza
Il motore avanza di T/2 di tempo reale nei tick dal momento del segnale, poi si aggancia al primo tick disponibile. L’esecuzione usa il bid di quel tick per le vendite e l’ask per gli acquisti.
Output: slippage realizzato per esecuzione
Lo slippage è quello prodotto dall’avanzamento nei tick — una distribuzione reale che rispecchia come si è comportato il mercato quel giorno. Può essere positivo (il prezzo si è mosso a tuo favore) o negativo (il prezzo si è mosso contro di te) e la sua entità segue la volatilità effettiva dei tick.
Indipendente in apertura e chiusura
Puoi impostare tempi di esecuzione diversi per l’apertura e la chiusura degli ordini — riflettendo il comportamento reale dei broker, dove le uscite passano spesso per un percorso di instradamento più lento rispetto agli ingressi.
Flusso di lavoro pratico
Esegui lo stesso set di parametri tre volte con ipotesi di tempo di esecuzione diverse: 0 ms (istantaneo, verifica del limite superiore — non per il live), 50 ms (VPS veloce / bridge in co-location), 150 ms (VPS retail tipico). Se il PnL crolla tra lo scenario a 50 ms e quello a 150 ms, la strategia è sensibile alla latenza e non sopravviverà a un cambio di broker o di VPS. Se il PnL resta stabile, hai una configurazione robusta che dovrebbe funzionare in condizioni di broker realistiche.
Analisi della performance sulle 24 ore
Ogni backtest produce una ripartizione della performance sulle 24 ore — un istogramma del contributo al PnL per ora del giorno. È uno degli strumenti diagnostici più sottoutilizzati nel trading retail: rivela esattamente quando la tua strategia guadagna, quando perde e quando dovrebbe essere disattivata.
Risultati tipici:
- L’arbitraggio di latenza su EURUSD concentra spesso il 60–80% del profitto in 2–3 ore specifiche (apertura di Londra, apertura di New York o chiusura di Londra).
- Le strategie affini al news trading sui metalli (XAUUSD) raggiungono spesso il picco intorno alle 14:30 UTC (pubblicazione dei dati USA) e alle 22:00–23:00 UTC (apertura asiatica).
- Le strategie lock e hedge tendono a essere indipendenti dall’orario, ma rendono meno durante il rollover del fine settimana e l’illiquidità delle festività.
L’Optimizer ti permette di filtrare i risultati per giorno della settimana e ora del giorno al termine dell’esecuzione — così puoi individuare regole del tipo “opera solo mar–gio, 22:00–23:00 UTC” senza rieseguire l’ottimizzazione.
Disponibili anche: filtri per durata dell’ordine (per individuare posizioni mantenute troppo a lungo), numero totale di ordini (per trovare sotto/sovra-operatività) e slippage realizzato (per separare le esecuzioni che hanno beneficiato di slippage positivo).
Requisiti di sistema
Minimi
| Sistema operativo | Windows 10/11 (64 bit) |
| CPU | 4 core, 2,5 GHz+ |
| RAM | 8 GB |
| Archiviazione | 20 GB liberi su SSD |
| .NET | Runtime .NET 8.0 |
| Display | 1920×1080 |
| Rete | Necessaria (convalida della licenza + aggiornamenti del feed dei dati tick) |
Consigliati (ottimizzazione intensiva)
| Sistema operativo | Windows 11 Pro |
| CPU | 8–16 core, Intel i7/i9 12ª gen.+ o Ryzen 7/9 5000+ |
| RAM | 32 GB |
| Archiviazione | SSD NVMe, 100 GB+ liberi |
| .NET | Runtime .NET 8.0 |
| Display | 2560×1440 o superiore |
| VPS | Opzionale — vedi la guida ai VPS |
macOS / Linux: attualmente non supportati come build nativa. Funziona in modo affidabile con Windows 11 in Parallels (Apple Silicon) e CrossOver / VMware (Linux) per chi ne ha bisogno.
SharpTrader Optimizer e i backtester standard a confronto
I backtester retail standard sono stati creati per strategie trend-following e basate su indicatori, non per l’arbitraggio. Le loro ipotesi — esecuzioni istantanee, spread fisso, prezzi da un unico feed — distruggono silenziosamente il realismo di cui hanno bisogno i backtest di arbitraggio. SharpTrader Optimizer è stato creato appositamente per colmare queste tre lacune:
Dati reali a livello di tick, non approssimazioni a barre
Ogni backtest riproduce tick storici reali (timestamp + bid + ask). I tester standard ripiegano sull’interpolazione di barre M1/M5, che leviga silenziosamente proprio i movimenti di prezzo da cui dipende il successo o il fallimento delle strategie di arbitraggio.
Il tempo di esecuzione degli ordini è configurabile
Imposti la latenza di esecuzione degli ordini (in millisecondi) e il motore la applica a ogni ordine. I tester standard presuppongono esecuzioni a latenza zero — il motivo principale per cui i backtest di arbitraggio di latenza sembrano ottimi in simulazione e falliscono nel trading reale.
Lo spread variabile è automatico
Lo spread viene letto direttamente dal flusso di tick storico, tick per tick. Ingresso e uscita tengono conto dello slippage in modo indipendente. I tester standard applicano un unico spread fisso a ogni esecuzione — ma non è così che si comportano gli spread reali durante le notizie, il rollover o le ore di bassa liquidità.
Confronto diretto:
| Funzionalità | Backtester standard | SharpTrader Optimizer |
|---|---|---|
| Dati tick reali (anziché interpolazione a barre) | Variabile — dipende dalla qualità dei dati del broker | Sì — riproduzione nativa dei tick (BJF Feed: Londra / Tokyo / NY) |
| Modellazione del tempo di esecuzione degli ordini | No — presuppone esecuzioni istantanee | Sì — latenza di esecuzione configurabile (ms) |
| Spread variabile (per tick) | Solo spread fisso | Automatico — letto dal flusso di tick + limiti MaxSpread |
| Modellazione realistica dello slippage | No (gli ordini vengono eseguiti al prezzo visualizzato) | Sì — calcolato automaticamente dal flusso di tick tramite l’avanzamento basato sul tempo di esecuzione (positivo o negativo, entità reale) |
| Parallelizzazione multi-core | Singolo thread | Sì — utilizzo del 95%+ su tutti i core |
| Supporto doppio feed (veloce + lento) | No | Nativo — necessario per l’arbitraggio di latenza |
| Ottimizzazione a griglia | Sì, ma lenta e a thread singolo | Sì — 100k+ combinazioni / esecuzione, multi-core |
| Ripartizione della performance sulle 24 ore | Manuale (esportazione e grafici esterni) | Grafico & filtro integrati |
| Filtro per giorno della settimana | No | Sì |
| Analisi walk-forward | No | Sì — partizionamento per intervalli di date |
| Modalità di ottimizzazione | Genetica / black-box | Griglia + classifica (deterministica, verificabile) |
| Strategie testate | Strategie automatiche generiche | Strategie di arbitraggio SharpTrader (Latency, DominionForce, +5 in arrivo) |
| Costo | Incluso / gratuito con il terminale retail | Licenza una tantum da $595 |
Domande frequenti
L’Optimizer esegue strategie create per il motore di esecuzione di SharpTrader. Puoi usare l’Optimizer da solo per ricerca e backtest, ma per applicare dal vivo i parametri ottimizzati ti serve una licenza SharpTrader (Lite da $800 o Pro da $2,995). Molti trader acquistano prima l’Optimizer per convalidare le strategie, poi passano alla versione superiore.
Dipende da tre fattori: numero di combinazioni, lunghezza dei dati storici e numero di core della CPU. Come riferimento realistico su una tipica workstation retail: ~30.000 combinazioni su 1 settimana di dati tick XAUUSD con una CPU a 4 core richiedono circa 12 ore. La stessa griglia da 30k termina in circa 3 ore su una macchina a 16 core. Griglie più piccole (5.000–10.000 combinazioni) su 1 settimana di dati terminano in 2–4 ore su 4 core. Le griglie più grandi (100.000+ combinazioni) su intervalli di dati di più mesi è meglio eseguirle su un server dedicato da 16+ core.
Sì. L’Optimizer accetta dati tick in formati standard (CSV con timestamp/bid/ask, i comuni formati tick/storico esportati dai terminali e il formato proprietario BJF Feed). Per risultati ottimali consigliamo di usare i dati BJF Feed — disponibili dai nodi di Londra, Tokyo e New York — che corrispondono alla fonte utilizzata dall’installazione live di SharpTrader Pro, così il tuo backtest riflette il più fedelmente possibile l’esecuzione reale.
Licenza una tantum: $595. Nessun costo ricorrente. Include aggiornamenti gratuiti per 12 mesi (che coprono l’aggiunta di Phantom Drift, Strategie Lock, Hedge e Pair Trading). Dopo 12 mesi il software continua a funzionare — solo le nuove strategie aggiunte richiedono una licenza di aggiornamento opzionale da $99.
Solo se ottimizzi correttamente. Ti consigliamo vivamente due accorgimenti: (1) Imposta il tempo di esecuzione su un valore realistico per la tua configurazione effettiva — tipicamente 80–150 ms per un VPS retail standard, 30–60 ms per un bridge in co-location. Non ottimizzare mai con tempo di esecuzione = 0 ms. (2) Esegui la convalida walk-forward — ottimizza su gen–mar, convalida su apr–giu. Se la configurazione migliore cambia tra i periodi, la strategia è sovra-ottimizzata (over-fitting). Il filtro per intervalli di date dell’Optimizer rende il walk-forward semplicissimo.
Per carichi di lavoro di ricerca, un AMD Ryzen 9 7950X (16 core) o un Intel i9-13900K (24 core inclusi gli E-core) rappresentano il punto ideale — entrambi riducono la tipica esecuzione di 12 ore su 4 core con 1 settimana di dati tick a circa 3 ore e gestiscono griglie da 100k+ combinazioni senza stravolgere la pianificazione dei tempi. Per un uso occasionale va benissimo qualsiasi CPU desktop moderna da 6–8 core. Anche le opzioni cloud (AWS c7i.4xlarge, Hetzner CCX33) funzionano e scalano su richiesta.
Sì. L’Optimizer funziona in modalità headless e tramite desktop remoto. Per provider VPS e consigli di configurazione, consulta la nostra guida ai VPS per l’arbitraggio Forex. Nota: un tipico VPS forex da $30/mese ha solo 2 core — per un’ottimizzazione seria ti serve un server CPU dedicato (Hetzner linea AX, OVH linea Game) da $40–120/mese.
Attualmente l’Optimizer include modelli di strategia orientati al FX (Latency, DominionForce). Le strategie specifiche per le cripto — incluse le varianti hedge e a una gamba di VIP Crypto Arbitrage — sono previste nell’aggiornamento del Q3 2026. I titolari di licenza ricevono questa aggiunta come aggiornamento gratuito.
BJF Trading Group offre una garanzia di rimborso del 100% entro 30 giorni dall’acquisto se l’Optimizer non funziona come descritto sul tuo hardware. Consulta le condizioni complete nella nostra pagina della garanzia. La garanzia copre il funzionamento del software — non la redditività di qualsiasi strategia tu sottoponga a backtest.
StrategyQuant e QuantAnalyzer sono generatori di strategie — creano automaticamente EA da combinazioni casuali di indicatori. SharpTrader Optimizer non è un generatore di strategie. Testa e ottimizza strategie di arbitraggio esistenti (Latency, DominionForce, ecc.) con una modellazione realistica dell’esecuzione. I due strumenti hanno scopi diversi: usa SQ/QA per generare ipotesi, usa SharpTrader Optimizer per la messa a punto dei parametri specifica per l’arbitraggio e per il realismo dell’esecuzione dal vivo.
Smetti di tirare a indovinare. Inizia a ottimizzare.
Licenza una tantum, $595. Aggiornamenti gratuiti delle strategie per 12 mesi. Garanzia di rimborso del 100% entro 30 giorni. Abbinalo a SharpTrader Lite o Pro per applicare dal vivo i tuoi parametri ottimizzati.





