콘텐츠로 이동

Custom Frame Sample

개요

Custom Frame Sample 플러그인은 cTrader 차트 인터페이스 내에서 기본적인 프레임 관리를 가능하게 합니다. 다음과 같은 주요 기능을 통해 사용자 정의 프레임이 차트에 나타나는 방식을 제어하여 시각적 요소를 구성하고 작업 공간을 맞춤화하는 간단한 방법을 제공합니다:

  • 한 번의 클릭으로 차트 인터페이스에 사용자 정의 프레임을 추가합니다.
  • 다중 화면 레이아웃과 유연한 작업 공간 구성을 지원하기 위해 프레임을 분리하거나 다시 부착합니다.
  • 더 이상 필요하지 않을 때 프레임을 제거하여 차트 영역을 깔끔하고 집중된 상태로 유지합니다.
  • 프레임 내에 사용자 정의 텍스트 블록을 표시하여 실시간 차트 맞춤화와 시각적 피드백을 지원합니다.

이 플러그인은 활성 심벌 패널에 사용자 정의 차트 프레임을 추가, 제거, 부착 또는 분리할 수 있는 간단한 인터페이스를 생성합니다. 각 버튼은 특정 작업을 트리거하여 차트에서 직접 시각적 요소를 쉽게 관리할 수 있게 합니다. 이 플러그인은 cTrader Windows 또는 Mac이 열려 있는 동안에만 실행되며 플랫폼이 닫히면 자동으로 중지됩니다.

플러그인 생성

단계별 가이드에서 템플릿 또는 처음부터 플러그인을 생성, 편집 및 빌드하는 방법을 알아보세요.

Custom Frame Sample 플러그인의 코드는 GitHub에서 찾을 수 있으며, 아래에서 간단히 복사할 수도 있습니다.

샘플 코드
using System.Linq; 
using cAlgo.API;

namespace cAlgo.Plugins
{
    [Plugin(AccessRights = AccessRights.None)]
    public class CustomFrameSample : Plugin
    {
        protected override void OnStart()
        {
            var aspBlock = Asp.SymbolTab.AddBlock("Custom Frame Sample");

            var panel = new StackPanel();

            var addCustomFrameButton = new Button { Text = "Add Custom Frame", Margin = 5 };
            addCustomFrameButton.Click += OnAddCustomFrameButtonClick;
            panel.AddChild(addCustomFrameButton);

            var removeCustomFrameButton = new Button { Text = "Remove Custom Frame", Margin = 5 };
            removeCustomFrameButton.Click += OnRemoveCustomFrameButtonClick;
            panel.AddChild(removeCustomFrameButton);

            var detachCustomFrameButton = new Button { Text = "Detach Custom Frame", Margin = 5 };
            detachCustomFrameButton.Click += OnDetachCustomFrameButtonClick;
            panel.AddChild(detachCustomFrameButton);

            var attachCustomFrameButton = new Button { Text = "Attach Custom Frame", Margin = 5 };
            attachCustomFrameButton.Click += OnAttachCustomFrameButtonClick;
            panel.AddChild(attachCustomFrameButton);

            aspBlock.Child = panel;
        }

        private void OnAttachCustomFrameButtonClick(ButtonClickEventArgs obj)
        {
            if (ChartManager.OfType<CustomFrame>().FirstOrDefault(c => !c.IsAttached) is not {} customFrame)
                return;

            customFrame.Attach();
        }

        private void OnDetachCustomFrameButtonClick(ButtonClickEventArgs obj)
        {
            if (ChartManager.OfType<CustomFrame>().FirstOrDefault(c => c.IsAttached) is not {} customFrame)
                return;

            customFrame.Detach();
        }

        private void OnRemoveCustomFrameButtonClick(ButtonClickEventArgs obj)
        {
            if (ChartManager.OfType<CustomFrame>().FirstOrDefault() is not {} customFrame)
                return;

            ChartManager.RemoveFrame(customFrame.Id);
        }

        private void OnAddCustomFrameButtonClick(ButtonClickEventArgs obj)
        {
            var customFrame = ChartManager.AddCustomFrame("Custom Frame");

            customFrame.Child = new TextBlock
            {
                Text = $"Custom Frame {customFrame.Id} Child Control",
                FontSize = 32,
                HorizontalAlignment = HorizontalAlignment.Center,
                VerticalAlignment = VerticalAlignment.Center
            };
        }
    }        
}

사용자 지정 옵션

Custom Frame Sample에는 차트에서 직접 사용자 정의 프레임을 추가, 제거 및 상호 작용할 수 있는 제어 버튼이 포함되어 있습니다. 아래 표는 주요 구성 요소와 그 기능을 설명합니다:

매개변수 설명 가능한 값
panel 추가 프레임 작업 또는 UI 옵션을 위한 버튼을 추가하거나 재정렬합니다. stackpanel [panel]
Text 명확성을 위해 버튼 텍스트를 편집합니다. Add custom frame, Remove custom frame, Detach custom frame, Attach custom frame
Margin 시각적 균형을 위해 여백을 변경합니다. 5, 8, 12, 등.
AddCustomFrame 목적이나 심벌을 반영하도록 프레임 제목을 수정합니다. chartmanager.addcustomframe(Custom frame)
TextBlock.Text 컨텍스트나 식별자를 반영하도록 메시지를 변경합니다. Custom frame sample
FontSize 명확성과 레이아웃 적합성을 위해 크기를 조정합니다. 32, 36, 40, 등.
HorizontalAlignment 수평 콘텐츠 표현을 변경하기 위해 정렬을 조정합니다. horizontalalignment.center
VerticalAlignment 수직 콘텐츠 표현을 변경하기 위해 정렬을 조정합니다. verticalalignment.center
Attach() 프레임이 차트에 다시 부착될 때 메시지를 추가합니다. customframe.attach()
Detach() 프레임이 차트에서 분리될 때 메시지를 추가합니다. customframe.detach()
RemoveFrame 목적을 반영하도록 버튼의 이름을 변경합니다. chartmanager.removeframe(customframe.id)

사용 사례

Custom Frame Sample은 외부 서비스를 필요로 하지 않고 대화형 차트 관리를 가능하게 합니다. 다음 사용 사례는 플러그인이 거래 경험을 향상시킬 수 있는 방법을 보여줍니다.

사용 사례 시나리오 가치
거래 신호 강조 EURUSD에서 돌파를 주시하세요와 같은 메시지가 포함된 프레임을 추가합니다. 차트별 경고 또는 사용자 메모에 주의를 끕니다.
다중 화면 관리 프레임을 분리하여 다른 화면으로 이동합니다. 차트 가시성을 확장하고 다중 화면 거래 설정을 지원합니다.
사용자 정의 작업 공간 구성 개인 거래 워크플로우에 맞게 프레임을 사용하여 차트 영역을 구성합니다. 개인 거래 워크플로우에 따라 차트 영역을 구성하는 데 도움이 됩니다.
사용자 정의 시각적 마커 주문 진입과 같은 차트 이벤트를 강조하기 위해 메모가 있는 프레임을 수동으로 추가합니다. 영구적인 그림 없이 차트의 주요 지점을 유연하게 라벨링할 수 있는 방법을 제공합니다.

요약

이 플러그인은 cTrader 차트에서 직접 사용자 정의 프레임을 관리하는 실용적인 방법을 제공합니다. 프레임을 추가, 제거, 부착 또는 분리하는 간단한 컨트롤을 통해 작업 공간을 개인화하고, 주요 정보를 강조하며, 차트 레이아웃을 쉽게 구성할 수 있습니다.

추가 개발 세부 사항은 플러그인 문서를 참조하세요.