플러그인을 사용하면 활성 심벌 패널(ASP)에 웹사이트 페이지나 다른 WebView 구성 요소, 계산기, 분석 또는 데이터 보드, AI 도구 등을 포함하는 새로운 섹션을 쉽게 만들 수 있습니다.
이 글과 관련 동영상에서는 플러그인을 사용하여 활성 심벌 패널에 새 섹션을 추가하는 방법을 보여드리겠습니다.
플러그인 만들기
WebView 섹션 만들기
Algo 앱으로 이동하여 플러그인 탭으로 이동합니다. 새로 만들기 버튼을 클릭하여 새 플러그인을 만듭니다. 목록에서 옵션을 선택하고 ASP Section Example을 선택합니다. 플러그인 이름을 지정합니다(예: "My ASP Example").
만들기 버튼을 클릭합니다.
코드 편집기가 나타나면 코드의 "My title" 부분을 플러그인에 지정한 이름으로 바꿉니다.
1
varblock=Asp.SymbolTab.AddBlock("My ASP Example");
아래에서 전체 코드를 복사할 수 있습니다:
1 2 3 4 5 6 7 8 9101112131415161718192021
usingcAlgo.API;namespacecAlgo.Plugins{[Plugin(AccessRights = AccessRights.None)]publicclassMyASPExample:Plugin{protectedoverridevoidOnStart(){varblock=Asp.SymbolTab.AddBlock("My ASP Example");block.Index=2;block.Height=500;block.IsExpanded=true;varwebView=newWebView();block.Child=webView;webView.NavigateAsync("https://ctrader.com/");}}}
빌드 버튼을 클릭하거나 Ctrl+B를 눌러 플러그인을 빌드합니다.
Trade 앱으로 다시 이동하여 플러그인이 활성 심벌 패널에 표시하는 내용을 확인합니다. 우리의 경우 cTrader 포럼을 표시하는 WebView 구성 요소가 있습니다.
VWAP 박스 만들기
이 예시에서는 WebView를 현재 오픈된 포지션의 거래량 가중평균가격(VWAP)을 표시하는 박스로 대체하겠습니다.
usingcAlgo.API;namespacecAlgo.Plugins{[Plugin(AccessRights = AccessRights.None)]publicclassMyASPExample:Plugin{TextBlock_txtBuyVWAP;TextBlock_txtSellVWAP;protectedoverridevoidOnStart(){varblock=Asp.SymbolTab.AddBlock("ASP Section Example");block.Index=2;block.Height=100;block.IsExpanded=true;varpanel=newStackPanel{Orientation=Orientation.Vertical};_txtBuyVWAP=newTextBlock{Text="Buy Text Box"};_txtSellVWAP=newTextBlock{Text="Sell Text Box"};panel.AddChild(_txtBuyVWAP);panel.AddChild(_txtSellVWAP);block.Child=panel;}}}
플러그인을 다시 빌드하고 Trade 앱으로 이동합니다. 이제 새로운 매수 및 매도 포지션을 추가하면 VWAP가 자동으로 업데이트되는 것을 볼 수 있습니다.
플러그인에 스타일 추가하기
VWAP 박스에 스타일을 추가할 수 있습니다.
1 2 3 4 5 6 7 8 9101112131415161718192021
vartextBoxStyle=newStyle();textBoxStyle.Set(ControlProperty.Margin,5);textBoxStyle.Set(ControlProperty.FontFamily,"Cambria");textBoxStyle.Set(ControlProperty.FontSize,16);textBoxStyle.Set(ControlProperty.Width,200);textBoxStyle.Set(ControlProperty.ForegroundColor,Color.Yellow,ControlState.Hover);_txtBuyVWAP=newTextBlock{ForegroundColor=Color.Green,Text="Buy Text Box ",Style=textBoxStyle};_txtSellVWAP=newTextBlock{ForegroundColor=Color.Red,Text="Sell Text Box",Style=textBoxStyle};