Como criar plugins para a Observação da Negociação
A capacidade de adicionar novos separadores à Observação da Negociação torna a interface do utilizador do cTrader verdadeiramente personalizável e adaptável a várias necessidades de negociação.
Neste artigo e no vídeo correspondente, iremos demonstrar como adicionar objetos ao painel de Observação da Negociação utilizando um plugin.
Criar um plugin
Primeiro, iremos criar um plugin de website, mas o nosso plugin final será uma grelha de dois por dois que apresenta informações sobre os preços da última barra conhecida para o intervalo de tempo M1 e o símbolo USDJPY.
Pode começar por ir à aplicação Algo e depois navegar até ao separador Plugins. Clique no botão Novo para criar um novo plugin. Selecione a opção Em branco. Dê um nome ao seu plugin, como por exemplo "Informações da Barra Anterior", e clique no botão Criar.
Adicione um novo separador ao painel de Observação da Negociação e dê-lhe o nome Informações da Barra Anterior.
12
vartradeWatchTab=TradeWatch.AddTab("Previous Bar Info");tradeWatchTab.IsSelected=true;
usingSystem;usingcAlgo.API;usingcAlgo.API.Collections;usingcAlgo.API.Indicators;usingcAlgo.API.Internals;namespacecAlgo.Plugins{[Plugin(AccessRights = AccessRights.None)]publicclassPreviousBarInfo:Plugin{protectedoverridevoidOnStart(){vartradeWatchTab=TradeWatch.AddTab("Previous Bar Info");tradeWatchTab.IsSelected=true;varwebView=newWebView();tradeWatchTab.Child=webView;webView.NavigateAsync("https://ctrader.com/");}protectedoverridevoidOnStop(){// Handle Plugin stop here}}}
Para criar o plugin, clique no botão Criar ou utilize as teclas de atalho Ctrl+B.
Vá à aplicação Trade para ver o que o seu plugin está a apresentar.
Utilizando o componente WebView, pode apresentar qualquer website dentro de um plugin, definindo o URL do website no código do plugin. Além disso, pode criar diferentes plugins para os websites que utiliza na sua negociação diária e ativá-los ou desativá-los nas definições do cTrader.
Adicionar uma grelha e caixas de texto ao plugin
Volte à aplicação Algo e edite o código do plugin.
Precisamos de substituir o componente WebView por um objeto de grelha e fazer com que cada grelha seja um elemento filho do plugin da Observação da Negociação.
usingSystem;usingcAlgo.API;usingcAlgo.API.Collections;usingcAlgo.API.Indicators;usingcAlgo.API.Internals;namespacecAlgo.Plugins{[Plugin(AccessRights = AccessRights.None)]publicclassPreviousBarInfo:Plugin{TextBlock_lowBlock;TextBlock_highBlock;TextBlock_closeBlock;TextBlock_openBlock;Bars_bars;protectedoverridevoidOnStart(){vartradeWatchTab=TradeWatch.AddTab("Previous Bar Info");tradeWatchTab.IsSelected=true;vargrid=newGrid(2,2){HorizontalAlignment=HorizontalAlignment.Center,VerticalAlignment=VerticalAlignment.Center,ShowGridLines=true,Height=150,Width=150,};tradeWatchTab.Child=grid;_bars=MarketData.GetBars(TimeFrame.Minute,"USDJPY");_lowBlock=newTextBlock{Text="Low:"+_bars.LowPrices.LastValue,HorizontalAlignment=HorizontalAlignment.Center,VerticalAlignment=VerticalAlignment.Center,};_highBlock=newTextBlock{Text="High:"+_bars.HighPrices.LastValue,HorizontalAlignment=HorizontalAlignment.Center,VerticalAlignment=VerticalAlignment.Center,};_closeBlock=newTextBlock{Text="Close:"+_bars.ClosePrices.LastValue,HorizontalAlignment=HorizontalAlignment.Center,VerticalAlignment=VerticalAlignment.Center,};_openBlock=newTextBlock{Text="Open:"+_bars.OpenPrices.LastValue,HorizontalAlignment=HorizontalAlignment.Center,VerticalAlignment=VerticalAlignment.Center,};grid.AddChild(_lowBlock,0,0);grid.AddChild(_highBlock,0,1);grid.AddChild(_openBlock,1,0);grid.AddChild(_closeBlock,1,1);}protectedoverridevoidOnStop(){// Handle Plugin stop here}}}
Crie o plugin e depois vá à aplicação Trade para ver as alterações.
Subscrever eventos
Volte ao código-fonte do plugin na aplicação Algo. Adicione as seguintes linhas de código para subscrever o evento de tick e fazer com que os valores sejam atualizados a cada tick:
Depois de ler este artigo, acreditamos que agora pode adicionar websites, grelhas, caixas de texto e outros objetos úteis ao painel de Observação da Negociação.