Come testare una strategia di trading: dall’osservazione alle regole della challenge
Scrivi ciò che hai osservato, trasformalo in una regola, testala con i suoi costi e controlla come si comporta il percorso del capitale sotto regole di challenge esplicite. Attraversa un esempio interattivo prima di scegliere replay, esecuzione manuale o una strategia armata.
Senzoukria · Guide · Aggiornato a settembre 2026
Una curva di capitale verde risponde a una sola domanda, ristretta: che cosa è successo sotto le ipotesi che l’hanno prodotta? Non dice se la tua regola era definita prima del test, se le esecuzioni erano raggiungibili, né se il conto è sopravvissuto al percorso. Tieni separate queste domande.
Ciò che produci: un’ipotesi scritta, una regola versionata, un test con costi espliciti, un report sulle regole della challenge e una decisione su che cosa indagare dopo. Un risultato in perdita è utile quando indica quale ipotesi ha ceduto.
Parti da un’osservazione verificabile
Per esempio: «Su un livello segnato in precedenza la vendita aggressiva è aumentata mentre la candela chiusa successiva non ha esteso il minimo». Annota strumento, mercato, sessione, dimensione delle candele, fuso orario e copertura disponibile. Salva le candele intorno, non solo l’istante che colpisce.
Il footprint raggruppa le operazioni eseguite per prezzo e per lato aggressore. Una heatmap di liquidità richiede osservazioni di profondità separate. Le sole operazioni non mostrano gli ordini che hanno atteso, sono spariti o sono stati ricaricati. Una vendita pesante con poca discesa può essere una candidata all’assorbimento; non identifica alcun partecipante e non prova la direzione successiva.
- Disponibile: prezzi delle candele chiuse, volume eseguito al bid e all’ask, marche temporali e copertura realmente caricata.
- Non stabilito: riserva nascosta, intenzione di un partecipante, prezzo futuro o posizione storica in coda.
- Controllo: segna il livello con le informazioni disponibili prima del segnale. Un livello scoperto con il profilo del giorno dopo introduce look-ahead.
Chiedi una regola verificabile, non una risposta vincente
Fornisci l’osservazione e i suoi limiti. Chiedi all’assistente di distinguere l’evidenza dalla spiegazione e poi di elencare i campi che una regola richiederebbe. L’assistente footprint può proporre una configurazione del grafico da applicare; l’assistente heatmap spiega l’evidenza registrata per una zona selezionata. I loro contesti sono diversi.
«Ecco strumento, sessione, candele chiuse e il mio livello segnato in anticipo. Descrivi ciò che è osservato senza attribuire intenzioni nascoste. Proponi una condizione di ingresso deterministica usando solo questi campi. Indica la finestra di lettura, l’invalidazione, il momento dell’ingresso, le condizioni di uscita e i dati mancanti che potrebbero invalidare il test».
Questo è un prompt di esempio, non una risposta registrata del modello. Confronta la proposta con i dati. L’assistente Scripting può aiutarti a modificare ed eseguire una bozza, ma una bozza eseguibile non è la prova di un trading redditizio.
Scrivi la regola completa prima di guardare i risultati
Una specifica di ricerca minima potrebbe dire: valutare un livello segnato in anticipo solo su candela chiusa; richiedere che quella candela chiuda di nuovo sopra il livello; entrare all’apertura della candela successiva; usare stop e target fissi; consentire una sola posizione e nessun nuovo ingresso dopo un orario di taglio definito. Fissa la finestra di lettura e la soglia del segnale esatte prima di testare. È un modello di ricerca, non una configurazione consigliata.
Specifica di ricerca — pseudocodice, non un’API Senzoukria
A ogni nuova candela chiusa:
verificare che i dati richiesti siano presenti
usare solo il livello fissato prima di questa candela
valutare il segnale dichiarato e il filtro di sessione
se non c’è posizione e tutte le condizioni sono soddisfatte:
richiedere l’ingresso all’apertura della candela SUCCESSIVA
allegare stop, target e size dichiarati
Registrare ogni modifica come nuova versione della strategia.Le strategie JavaScript e Python dispongono di percorsi di backtest storico nell’applicazione desktop. Python richiede il suo runtime incorporato. Gli script C++ usano un runtime WebAssembly con interfaccia limitata e non hanno backtest storico. Scegli il linguaggio in base all’operazione che ti serve; non sono ambienti di esecuzione intercambiabili.
Usa prima Run per intercettare errori di sintassi, campi mancanti e output non validi su candele sintetiche. Poi salva una versione e testala su un intervallo storico dichiarato. Non chiamare backtest quella prima esecuzione sintetica.
Rendi visibili i costi e i limiti delle regole
I risultati storici dipendono dal modello di esecuzione. Il backtest di strategia del desktop decide su candele chiuse, entra all’apertura successiva e modella le uscite con i prezzi della candela e i costi configurati. Non ricostruisce la coda del mercato. Documenta l’ipotesi quando stop e target possono essere toccati entrambi nella stessa candela.
L’esempio qui sotto isola la domanda successiva: che cosa succede quando i risultati giornalieri incontrano i vincoli di un conto? I suoi otto giorni sono stati inventati di proposito. Non sono generati dalla regola precedente né presi da un conto reale.
Hypothetical teaching example
Same days. Different constraints.
Eight invented days, two round trips per day. Change the size, costs or rules. The path stops at its first pass or breach.
- Net result
- $2,190
- Max close drawdown
- $670
- Costs charged
- $160
- Days evaluated
- 8 / 8
Inspect the inputs and day-by-day arithmetic
Gross P&L per one contract: Day 1: $500; Day 2: $450; Day 3: -$650; Day 4: $800; Day 5: -$200; Day 6: $650; Day 7: $350; Day 8: $450. Each day contains two completed round trips. No market data or fitted strategy produced this sample.
| Day | Gross | Costs | Net | Balance | Floor |
|---|---|---|---|---|---|
| Day 1 | $500 | $20 | $480 | $50,480 | $49,730 |
| Day 2 | $450 | $20 | $430 | $50,910 | $50,160 |
| Day 3 | -$650 | $20 | -$670 | $50,240 | $50,160 |
| Day 4 | $800 | $20 | $780 | $51,020 | $50,270 |
| Day 5 | -$200 | $20 | -$220 | $50,800 | $50,270 |
| Day 6 | $650 | $20 | $630 | $51,430 | $50,680 |
| Day 7 | $350 | $20 | $330 | $51,760 | $51,010 |
| Day 8 | $450 | $20 | $430 | $52,190 | $51,440 |
Fictional $50,000 account; at least three trading days. Equality with a loss limit is a breach. Drawdown uses closed daily balances, with no intraday excursions or trailing-floor freeze. This is a teaching model, not a firm’s rules, a backtest, or a probability of future success.
Tre esperimenti da eseguire
- Azzera, poi riduci il drawdown massimo a 600 $. Il giorno 3 attraversa il pavimento mobile sulle chiusure. Passa a un pavimento fisso: gli stessi primi tre giorni restano sopra. È cambiata la regola, non i risultati di mercato.
- Azzera, poi aumenta i contratti. Crescono sia i risultati lordi sia i costi per contratto. Una posizione più grande può raggiungere una soglia di perdita prima ancora di arrivare al target.
- Azzera, poi cambia l’ordine dei giorni. Un riordino può spostare la prima violazione o il giorno di qualificazione. È una verifica di sensibilità su risultati esistenti, non una previsione né una probabilità calibrata.
Verifica l’aritmetica
Con un contratto e 10 $ per andata e ritorno, ogni giornata da due operazioni costa 20 $. I primi tre giorni netti sono 480 $, 430 $ e −670 $. Il saldo arriva a 50 910 $, poi a 50 240 $: un drawdown massimo da chiusura a chiusura di 670 $. Con una tolleranza mobile di 600 $ il pavimento è a 50 310 $ e il terzo giorno lo viola. Un pavimento fisso a 49 400 $ non viene violato.
Un modello sulle chiusure giornaliere non può rilevare una violazione intraday recuperata prima della chiusura. Una regola reale può usare il capitale non realizzato, un tetto al pavimento mobile, confini di sessione diversi, un’attività minima, clausole di coerenza o restrizioni sui prelievi. Inserisci solo regole verificate e segnala ogni clausola mancante prima di interpretare un report di challenge del desktop.
Metti alla prova il risultato prima di cambiare la regola
- Tieni da parte i dati più recenti. Scegli i periodi di sviluppo e di valutazione prima di aggiustare i parametri. Ottimizzare ripetutamente sul periodo riservato lo trasforma in dati di addestramento.
- Cambia un’ipotesi alla volta. Alza i costi, modifica il filtro di sessione, esamina valori di parametro vicini e ispeziona le operazioni in perdita.
- Conserva il denominatore. Annota quante varianti di strategia hai provato, non solo quella che hai tenuto. Un risultato notevole dopo molti tentativi richiede prove più solide.
- Separa il saldo dal flusso di cassa. Quote di valutazione, reset, fasi finanziate e tempi di pagamento hanno regole proprie. Il piccolo modello didattico qui sopra non li modella.
Il desktop include ricerca dei parametri, walk-forward e report di robustezza per i test storici supportati, oltre a un simulatore di challenge con ciclo di vita e costi modellati. Questi report riassumono il loro protocollo e i dati forniti. Un’etichetta favorevole non certifica un vantaggio futuro.
Scegli l’esecuzione in modo deliberato
Usa il replay per ispezionare le decisioni e il comportamento simulato del conto prima di decidere se una strategia appartiene a un conto collegato. Sola analisi, esecuzione manuale e strategia armata sono scelte operative diverse.
Senzoukria supporta l’instradamento degli ordini e l’automazione opzionale delle strategie tramite un conto Rithmic compatibile. L’autopilota richiede armamento esplicito, permessi del conto, limiti configurati, un grafico montato e il desktop in esecuzione. Verifica le regole vigenti della tua firm e del tuo conto. L’agente IA generale non può armarlo al posto tuo. I flussi di analisi crypto non implicano l’instradamento di ordini su Binance o Bybit.
STOP disarma la strategia e richiede la chiusura delle posizioni; controlla la risposta del broker e le posizioni effettive. Una richiesta non è un’esecuzione garantita, e i limiti applicativi non eliminano lo slippage né il rischio di connessione. Tieni una procedura scritta per disconnessioni e ordini rifiutati.
Tieni un registro di ricerca
Salva la versione della regola, la fonte e la copertura, le date del test, i costi, le ipotesi di esecuzione, le regole del conto, le verifiche fallite e il motivo della tua prossima decisione. Poi cambia una sola cosa che sai nominare. Quel registro è più utile di uno screenshot con un grande P&L finale.
Prosegui con la verifica del software e dei permessi del conto, oppure torna al percorso di apprendimento per rafforzare l’osservazione che sostiene la tua regola.
Domande frequenti
- L’esempio interattivo è un vero backtest di strategia?
- No. I suoi otto risultati giornalieri sono inventati a scopo didattico. Applica costi visibili e regole fittizie a quei risultati. Non usa prezzi storici, non ottimizza alcuna strategia, non identifica alcuna prop firm e non stima il successo futuro.
- Posso fare il backtest di strategie JavaScript, Python e C++ in Senzoukria?
- Il backtest storico delle strategie supporta JavaScript e Python nell’applicazione desktop. Lo scripting C++ usa WebAssembly e non dispone di un percorso di backtest storico. Eseguire una bozza dell’editor su candele sintetiche è una verifica di esecuzione separata, non un test di performance.
- Che cosa significa superare una challenge simulata?
- Significa che i risultati forniti soddisfacevano le regole effettivamente modellate in quella esecuzione. Dati intraday mancanti, clausole non modellate, costi o ipotesi di esecuzione possono cambiare la conclusione. Non è una probabilità di successo futuro, né uno stato del conto, né una garanzia di pagamento.
- L’IA può inviare ordini o armare la mia strategia?
- L’agente IA generale legge il contesto dell’applicazione e può usare gli strumenti web configurati; non invia ordini e non arma l’autopilota. Una strategia salvata può usare il percorso separato dell’autopilota Rithmic dopo un armamento esplicito dell’utente, con il desktop aperto, una connessione compatibile e i permessi del conto.