콘텐츠로 이동

스레드 안전성

cTrader가 알고리즘을 실행하는 방법

cTrader는 각 지표 또는 cBot을 cTrader Windows 메인 프로세스와 분리된 별도의 하위 프로세스에서 실행합니다. 이는 모든 새로운 지표 및 cBot 인스턴스가 별도의 프로세스에서 실행됨을 의미합니다.

이 접근 방식은 cTrader가 별도의 프로세스에 코드 액세스 제한을 적용하여 안전성과 안정성을 향상시킬 수 있게 합니다.

또한, 별도의 지표 또는 cBot 프로세스는 메인 cTrader Windows 프로세스와 리소스를 공유하지 않습니다. 지표 또는 cBot에 문제가 발생하더라도, 근본적인 문제가 cTrader 자체에 영향을 미치지 않습니다.

메서드 및 스레드 안전성

API의 몇 가지 메서드만 스레드 안전성이 있어, 모든 스레드에서 호출할 수 있습니다. 그 외의 모든 것은 cBot 또는 지표 메인 스레드에서 실행되어야 합니다.

메인 스레드에서 코드 실행

cBot 또는 지표의 메인 스레드에서 무언가를 실행하려면 BeginInvokeOnMainThread() 메서드를 사용하세요. 이 메서드는 액션 대리자를 받아들이며, 실행 중인 모든 스레드에서 호출할 수 있습니다.

인스턴스 간 데이터 공유

각 지표 또는 cBot 인스턴스가 단일 하위 프로세스에서 실행되므로, 정적 속성 또는 필드를 사용하여 동일한 cBot 또는 지표의 다른 인스턴스 간에 데이터를 공유할 수 있습니다.