사용자에게 배포할 알고리즘 포트폴리오가 크다면, 사용자가 로컬 머신에서 알고리즘을 쉽게 관리할 수 있는 맞춤형 패널이나 시스템을 제공할 수도 있습니다. 이러한 시스템은 서로 보완하는 여러 제품(예: 두 개의 cBot과 하나의 맞춤형 지표)을 제공할 때 특히 유용합니다. 사용자가 필수 제품을 설치하지 않으면 이 사실을 알릴 수 있습니다.
또한, 사용자가 많은 알고리즘에 접근할 때 때로는 모든 알고리즘을 추적하기 어려울 수 있습니다. 예를 들어, 사용자가 실수로 중요한 알고리즘을 삭제한 후 나중에 더 이상 작동할 수 없다는 사실을 깨닫는 경우가 있습니다.
이러한 문제를 해결하기 위해 Algo API는 AlgoRegistry 인터페이스를 제공하여 현재 설치 및 제거된 다양한 유형의 알고리즘에 대한 통계를 동적으로 추적할 수 있는 편리한 방법을 제공합니다.
알고리즘 레지스트리 작업
AlgoRegistry에서 각 알고리즘은 AlgoType으로 표현되며, 이는 알고리즘의 고유 이름과 AlgoKind(예: AlgoKind.CustomIndicator)를 포함합니다.
다음 메서드를 호출하여 레지스트리에서 특정 알고리즘을 검색할 수 있습니다.
1
AlgoRegistry.Get(stringname,AlgoKindalgoKind);
특정 종류의 알고리즘 수를 검색하려면 다음 메서드를 호출하세요.
1
AlgoRegistry.GetCount(AlgoKindalgoKind)
다음 이벤트에 맞춤형 핸들러를 추가할 수도 있습니다:
AlgoTypeInstalled - 새로운 알고리즘이 설치될 때마다 트리거됩니다.
AlgoTypeDeleted - 새로운 알고리즘이 삭제될 때마다 트리거됩니다.
AlgoTypeChanged - 설치된 알고리즘이 수정될 때마다 트리거됩니다.
다양한 모드에서의 AlgoRegistry
AlgoRegistry는 백테스트 및 최적화에서 의도한 대로 작동합니다. cTrader CLI를 사용할 때는 작동하지 않습니다.
예제 플러그인 생성
AlgoRegistry는 알고리즘에 대한 정보를 cTrader UI에 직접 표시하는 플러그인을 만드는 데 적합합니다. 다음 플러그인은 바로 그 역할을 합니다.
AlgoRegistry는 플러그인 개발자에게 훌륭한 기능이지만 다른 유형의 알고리즘과도 사용할 수 있습니다. 예를 들어, 다른 맞춤형 지표를 참조하는 지표를 만들 수 있으며, 이 경우 알고리즘은 먼저 사용자가 필요한 지표를 설치했는지 확인해야 합니다. 기존 알고리즘에 AlgoRegistry를 추가하여 맞춤형 지표 및 기타 유형의 알고리즘 관리를 단순화하는 것도 권장합니다.