Custom Frame Sample¶
Visão geral ¶
O plugin Custom Frame Sample permite a gestão básica de frames dentro da interface de gráficos do cTrader. Controla como os frames personalizados aparecem no gráfico, oferecendo uma forma simples de organizar elementos visuais e adaptar o seu espaço de trabalho através das seguintes funcionalidades principais:
- Adiciona um frame personalizado à interface do gráfico com um único clique.
- Separa ou volta a anexar o frame para suportar layouts multi-ecrã e configurações flexíveis do espaço de trabalho.
- Remove o frame quando já não é necessário para manter a área do gráfico limpa e focada.
- Exibe um bloco de texto personalizado dentro do frame para suportar personalização de gráficos em tempo real e feedback visual.

Este plugin cria uma interface simples no Painel de símbolo ativo que permite adicionar, remover, anexar ou separar um frame de gráfico personalizado. Cada botão aciona uma ação específica, tornando fácil gerir elementos visuais diretamente no gráfico. O plugin funciona apenas enquanto o cTrader Windows ou Mac estiver aberto e para automaticamente quando a plataforma é fechada.
Criação do plugin ¶
Aprenda como criar, editar e compilar plugins a partir de um modelo ou do zero no nosso guia passo a passo.
Pode encontrar o código do plugin Custom Frame Sample no GitHub, ou simplesmente copiá-lo abaixo.
Código de exemplo
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
};
}
}
}
Opções de personalização ¶
Custom Frame Sample inclui botões de controlo que permitem adicionar, remover e interagir com uma frame personalizada diretamente no gráfico. A tabela abaixo descreve os seus componentes principais e as suas funções:
| Parâmetro | Descrição | Valores possíveis |
|---|---|---|
panel | Adiciona ou reordena botões para ações adicionais da frame ou opções de UI. | stackpanel [panel] |
Text | Edita o texto do botão para maior clareza. | Add custom frame, Remove custom frame, Detach custom frame, Attach custom frame |
Margin | Altera as margens para equilíbrio visual. | 5, 8, 12, etc. |
AddCustomFrame | Modifica o título da frame para refletir o propósito ou símbolo. | chartmanager.addcustomframe(Custom frame) |
TextBlock.Text | Altera a mensagem para refletir o contexto ou identificador. | Custom frame sample |
FontSize | Ajusta o tamanho para maior clareza e adequação ao layout. | 32, 36, 40, etc. |
HorizontalAlignment | Ajusta o alinhamento para alterar a apresentação horizontal do conteúdo. | horizontalalignment.center |
VerticalAlignment | Ajusta o alinhamento para alterar a apresentação vertical do conteúdo. | verticalalignment.center |
Attach() | Adiciona uma mensagem quando a frame é recolocada no gráfico. | customframe.attach() |
Detach() | Adiciona uma mensagem quando a frame é separada do gráfico. | customframe.detach() |
RemoveFrame | Renomeia o botão para refletir o seu propósito. | chartmanager.removeframe(customframe.id) |
Casos de uso ¶
Custom Frame Sample permite a gestão interativa de gráficos sem necessitar de serviços externos. Os seguintes casos de uso mostram como o plugin pode melhorar a experiência de negociação.
| Caso de uso | Cenário | Valor |
|---|---|---|
| Destacar sinais de negociação | Adicione uma moldura com uma mensagem como Watch for breakout on EURUSD. | Chama a atenção para alertas específicos do gráfico ou notas do utilizador. |
| Gestão multi-ecrã | Separe as molduras e mova-as para outros ecrãs. | Expande a visibilidade do gráfico e suporta configurações de negociação em vários ecrãs. |
| Organização personalizada da área de trabalho | Organize a área do gráfico usando molduras para corresponder ao seu fluxo de trabalho pessoal de negociação. | Ajuda-o a organizar a área do gráfico com base no seu fluxo de trabalho pessoal de negociação. |
| Marcadores visuais personalizados | Adicione manualmente molduras com notas para destacar eventos do gráfico como entradas de ordens. | Fornece uma forma flexível de marcar pontos-chave no gráfico sem desenhos permanentes. |
Resumo ¶
Este plugin oferece uma forma prática de gerir molduras personalizadas diretamente nos gráficos do cTrader. Com controlos simples para adicionar, remover, anexar ou separar molduras, ajuda-o a personalizar a sua área de trabalho, destacar informações importantes e organizar layouts de gráficos facilmente.
Para mais detalhes de desenvolvimento, consulte a nossa documentação de plugins.