Ordini e gestione di trading system con ninjatrader, argomento sempre frequente e, mi rendo conto, non sempre immediato come risposte.

E’ bene osservare che: ogni strategia testata su storico (Backtest) è rappresentata con la logica di calcolo a fine della barra (SEMPRE) e che la fine di ogni barra avviene a livello logico, quando la barra successiva comincia.

A questo punto, sorge spesso una domanda relativa alla gestione degli ordini ed al momento in cui gli ordini vengono messi sul mercato. Se si utilizzano timeframe lunghi (ad esempio grafici a 60 minuti o più), è fondamentale che l’aggiornamento degli ordini avvenga in tempo reale, soprattutto se si tratta di modifica della dimensione dell’ordine, o del suo livello.

In questo video che ho pubblicato sul canale youtube di Quantirica, ho messo in evidenza come si possa gestire un ordine dinamico utilizzando la logica di calcolo a fine barra, attraverso il metodo OnMarketData().

video-ordini-ninja-trader-trading-system

 

Il metodo OnMarketData() viene chiamato ad ogni modifica sul primo livello (denaro lettera) del mercato, anche se questo non scambia, quindi basta una modifica nella quantità su denaro, su lettera o battuta di prezzo, per invocare il metodo.

La soluzione è sicuramente interessante e, con semplicità, consente una gestione ottimale di ordini e posizioni, senza l’utilizzo delle logiche UnManaged.