Vai al contenuto

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.