Ir para o conteúdo

Custom Window Plugin

Visão geral

O Custom Window Plugin cria uma interface simples no cTrader para acionar ações com base na entrada do utilizador através das seguintes funcionalidades principais:

  • Constrói uma interface de janela dentro da plataforma cTrader para exibir um componente visual personalizado junto à área de trabalho de negociação.
  • Adiciona um botão para interação do utilizador para iniciar ações manualmente.
  • Aciona lógica predefinida ao clicar no botão, permitindo o tratamento consistente de tarefas de negociação.
  • Atualiza posições abertas com base em condições definidas, aplicando alterações apenas quando critérios específicos são cumpridos.

O plugin adiciona uma janela onde pode executar uma ação específica em todas as suas posições abertas. Isto ajuda na negociação manual ao permitir que aplique a mesma regra a todas as posições de uma só vez, sem ter de alterar cada uma separadamente.

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 Custom Window Plugin no GitHub, ou simplesmente copiá-lo abaixo.

Código de exemplo
using System;
using cAlgo.API;
using cAlgo.API.Collections;
using cAlgo.API.Indicators;
using cAlgo.API.Internals;

namespace cAlgo.Plugins
{
    [Plugin(AccessRights = AccessRights.None)]
    public class CustomWindowPlugin : Plugin
    {
        private Button _buttonAddTakeProfit;
        private Window _window;

        protected override void OnStart()
        {
            _buttonAddTakeProfit = new Button
            {
                BackgroundColor = Color.SeaGreen,
                Height = 50,
                Text = "Add Take Profit"
            };

            _buttonAddTakeProfit.Click += _buttonAddTakeProfit_Click;

            _window = new Window
            {
                Height = 150,
                Width = 150,
                Padding = new Thickness(5, 10, 10, 5)
            };

            _window.Child = _buttonAddTakeProfit;
            _window.Show();
        }

        private void _buttonAddTakeProfit_Click(ButtonClickEventArgs args)
        {
            foreach (var position in Positions)
            {
                if (position.TakeProfit is null)
                {
                    position.ModifyTakeProfitPips(20);
                }
            }
        }        

        protected override void OnStop()
        {
            // Handle Plugin stop here
        }
    }        
}

Opções de personalização

Parâmetro Descrição Valores possíveis
_buttonAddTakeProfit.Text Define o texto apresentado no botão. Add take profit
_buttonAddTakeProfit.Height Especifica a altura do botão na janela. 50, 60, 65, etc.
_buttonAddTakeProfit.BackgroundColor Define a cor de fundo do botão. color.seagreen
_buttonAddTakeProfit.Click Aciona um evento quando o botão é clicado. _buttonaddtakeprofit_click
_window.Height Define a altura da janela. 150, 200, 220, etc.
_window.Width Define a largura da janela. 150, 200, 220, etc.
_window.Padding Define o espaço dentro da janela em torno do seu conteúdo filho. (5, 10, 10, 5), (8, 12, 12, 8), etc.
_window.Child Atribui o botão como o conteúdo dentro da janela. _buttonaddtakeprofit
position.TakeProfit Verifica se uma posição já tem um take profit definido. null
position.ModifyTakeProfitPips Modifica o take profit definindo-o para um valor fixo em pips. 20, 24, 26, etc.

Casos de uso

Caso de uso Cenário Valor
Definidor de take profit em massa Tem várias posições abertas sem take profit. Automatiza a tarefa repetitiva de adicionar um nível de take profit de 20 pips.
Gestor de negociação reativo O mercado move-se rapidamente e precisa de proteger os lucros instantaneamente. Aplica um take profit em todas as posições com um clique.
Definidor de stop loss em massa Pretende aplicar rapidamente um stop loss de 20 pips em todas as suas posições abertas. Define controlos de risco consistentes sem editar cada negociação individualmente.

Resumo

O Custom Window Plugin melhora a negociação manual ao permitir que aplique rapidamente um nível de take profit de 20 pips a todas as posições abertas que não têm um. Através de uma interface flutuante simples com um único botão de ação, traz velocidade e consistência à gestão de negociações.

Para mais detalhes de desenvolvimento, consulte a nossa documentação de plugins.