Sicurezza dei thread
Come cTrader esegue gli algoritmi
cTrader esegue ogni indicatore o cBot su un sottoprocesso separato isolato dal processo principale di cTrader Windows. Ciò significa che tutte le nuove istanze di indicatori e cBot vengono eseguite su processi separati.
Questo approccio consente a cTrader di imporre restrizioni di accesso al codice su processi separati, migliorando sicurezza e stabilità.
Inoltre, i processi separati di indicatori o cBot non condividono le loro risorse con il processo principale di cTrader Windows. Se qualcosa va storto con un indicatore o un cBot, il problema sottostante non avrà effetto su cTrader stesso.
Metodi e sicurezza dei thread
Solo pochi metodi nell'API sono thread-safe, il che significa che puoi chiamarli da qualsiasi thread. Tutto il resto dovrebbe essere eseguito sul thread principale del cBot o dell'indicatore.
Eseguire il codice sul thread principale
Per eseguire qualcosa sul thread principale di un cBot o indicatore, usa il metodo BeginInvokeOnMainThread(). Accetta un delegato di azione e puoi chiamarlo da qualsiasi thread in esecuzione.
Condividere dati tra istanze
Poiché ogni istanza di indicatore o cBot viene eseguita su un singolo processo figlio, puoi usare proprietà o campi statici per condividere dati tra le diverse istanze dello stesso cBot o indicatore.