Cómo crear plugins para el Panel de símbolo activo
Los plugins facilitan la creación de nuevas secciones que contienen páginas de sitios web u otros componentes de WebView, calculadoras, análisis o tableros de datos, herramientas de IA, etc. en el Panel de símbolo activo (ASP).
En este artículo y su video correspondiente, le mostraremos cómo agregar una nueva sección en el Panel de símbolo activo usando un plugin.
Crear un plugin
Crear una sección de WebView
Vaya a la aplicación Algo y navegue a la pestaña Plugins. Haga clic en el botón Nuevo para crear un nuevo plugin. Marque la opción From the list y seleccione ASP Section Example. Asigne un nombre a su plugin, como "My ASP Example".
Haga clic en el botón Create.
Cuando aparezca el editor de código, reemplace la parte "My title" del código con el nombre que eligió para el plugin.
1
varblock=Asp.SymbolTab.AddBlock("My ASP Example");
Puede copiar el código completo a continuación:
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/");}}}
Haga clic en el botón Build o presione Ctrl+B para compilar el plugin.
Navegue nuevamente a la aplicación Trade para ver lo que el plugin está mostrando en el Panel de símbolo activo. En nuestro caso, ahora tenemos un componente WebView que muestra el foro de cTrader.
Crear un cuadro VWAP
Para este ejemplo, reemplazaremos el WebView con un cuadro que muestra el precio medio ponderado por volumen (VWAP) de las posiciones actualmente abiertas.
Vuelva al código del plugin y elimine la sección de WebView.
Establezca la altura del bloque en 100.
1
block.Height=100;
Defina dos bloques de texto que mostrarán la información 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 el plugin y luego vaya a la aplicación Trade.
Debería ver dos cuadros de texto en lugar del componente WebView.
Refinar el plugin
Agregar lógica para el plugin
Vaya al código del plugin y agregue los siguientes espacios de nombres:
12
usingSystem;usingSystem.Linq;
Implemente la lógica que calcula el VWAP para las direcciones de compra y venta.
Agregue un evento para manejar la apertura de posiciones, asegurando que las cifras de VWAP se actualicen automáticamente cuando se agrega una nueva posición.
Compile el plugin nuevamente y vaya a la aplicación Trade. Ahora, a medida que agrega nuevas posiciones de compra y venta, debería ver que el VWAP se actualiza automáticamente.
Agregar estilos para el plugin
Podemos agregar algo de estilo al cuadro 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, vaya a la aplicación Trade para ver cómo los estilos han cambiado el cuadro VWAP.
Resumen
Esperamos que este artículo haya sido útil para mostrarle cómo agregar páginas web y componentes de WebView, bloques de texto y otros objetos útiles al Panel de símbolo activo.