콘텐츠로 이동

cBot 요구 사항

cBot 인스턴스가 클라우드에서 원활하게 실행되도록 하기 위해 충족해야 하는 두 가지 주요 요구 사항은 컴파일 타임 참조와 크로스 플랫폼 종속성입니다.

컴파일 타임 참조

.NET에서 종속성을 처리하는 여러 가지 방법이 있습니다. 예를 들어, 프로젝트 실행 파일에 직접 포함하지 않고 개별 .dll 파일로 종속성을 제공할 수 있습니다.

그러나 컴파일 타임 참조만이 클라우드에서 cBot을 실행하는 데 완전히 호환됩니다. 클라우드는 외부 .dll 파일을 관리하지 않고 cBot 실행 파일(.algo 파일)을 실행하는 전용 환경으로 작동합니다.

코드 상단의 using 문에서 라이브러리를 참조하는 모든 경우에 컴파일 타임 종속성이 보장됩니다. 그러나 코드 본문 내에서 독립적인 .dll 파일을 참조하는 경우(예: Assembly.Load() 메서드를 통해), 이 참조는 컴파일 타임이 아니며, 클라우드에서 cBot은 관련 작업을 수행하지 않습니다.

크로스 플랫폼 종속성

클라우드는 모든 cBot을 Linux 기반 환경에서 실행합니다. 이는 외부 종속성을 사용하려면 이러한 종속성이 크로스 플랫폼이어야 함을 의미합니다.

예를 들어, Windows 전용인 일부 종속성은 클라우드에서 작동하지 않습니다.

  • WPF
  • WinForms
  • WinAPI

프로젝트에 새로운 종속성을 추가할 때, Linux 기반 환경에서 지원되는지 여부를 확인하기 위해 해당 문서를 읽어보세요.

API 기능

클라우드에서 로컬 실행과 비교하여 다르게 작동하는 여러 Algo API 기능이 있습니다.

기능/메서드 클라우드에서의 작동 방식
MessageBox 항상 MessageBoxResult.None을 반환
Window 항상 무시됨
Notifications.PlaySound() 항상 무시됨
Account.UserNickName 항상 OnException() 핸들러 호출
Chart.TakeChartshot() 항상 null 반환
WebSocketClient 포트 25345를 통해 서비스에 연결한 경우에만 작동
HTTP HTTP 요청이 전송되지 않음
LocalStorage 및 파일 작업 상대 경로가 지정되거나 새 디렉터리가 처음부터 생성된 경우에만 작동

로컬 스토리지 및 파일 작업

클라우드 인스턴스가 중지되거나 삭제될 때마다 클라우드 내에서 할당된 모든 리소스가 자동으로 해제됩니다. cBot이 파일이나 디렉터리를 생성한 후 그곳에서 데이터에 액세스하는 경우, 이러한 파일은 인스턴스가 재시작되거나 삭제될 때마다 삭제됩니다.

Image title