Os plugins facilitam a criação de novas secções contendo páginas de websites ou outros componentes WebView, calculadoras, análises ou painéis de dados, ferramentas de IA, etc. no Painel de símbolo ativo (ASP).
Neste artigo e no vídeo correspondente, vamos mostrar-lhe como adicionar uma nova secção no Painel de símbolo ativo usando um plugin.
Criar um plugin
Criar uma secção WebView
Vá para a aplicação Algo e navegue até ao separador Plugins. Clique no botão Novo para criar um novo plugin. Marque a opção From the list e selecione ASP Section Example. Dê um nome ao seu plugin, como "My ASP Example".
Clique no botão Create.
Quando o editor de código aparecer, substitua a parte "My title" do código pelo nome que escolheu para o plugin.
1
varblock=Asp.SymbolTab.AddBlock("My ASP Example");
Pode copiar o código completo abaixo:
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/");}}}
Clique no botão Build ou prima Ctrl+B para compilar o plugin.
Navegue novamente para a aplicação Trade para ver o que o plugin está a mostrar no Painel de símbolo ativo. No nosso caso, temos agora um componente WebView a apresentar o fórum cTrader.
Criar uma caixa VWAP
Para este exemplo, vamos substituir o WebView por uma caixa que apresenta o Preço Médio Ponderado por Volume (VWAP) das posições atualmente abertas.
Volte ao código do plugin e elimine a secção WebView.
Defina a altura do bloco para 100.
1
block.Height=100;
Defina dois blocos de texto que irão apresentar a informação relevante.
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;}}}
Compile o plugin e depois vá para a aplicação Trade.
Deverá ver duas caixas de texto no lugar do componente WebView.
Refinar o plugin
Adicionar lógica ao plugin
Vá para o código do plugin e adicione os seguintes namespaces:
12
usingSystem;usingSystem.Linq;
Implemente a lógica que calcula o VWAP para as direções de compra e venda.
Adicione um evento para tratar da abertura de posições, garantindo que os valores VWAP são atualizados automaticamente quando uma nova posição é adicionada.
Compile o plugin novamente e vá para a aplicação Trade. Agora, à medida que adiciona novas posições de compra e venda, deverá ver o VWAP atualizar-se automaticamente.
Adicionar estilos ao plugin
Podemos adicionar algum estilo à caixa 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};
Por último, vá à aplicação Trade para ver como os estilos alteraram a caixa VWAP.
Resumo
Esperamos que este artigo tenha sido útil para lhe mostrar como adicionar páginas web e componentes WebView, blocos de texto e outros objetos úteis ao Painel de Símbolos Ativos.