Sim… o primeiro produto pago após muitos anos de compromisso com código aberto… e inspirando desenvolvedores a criar produtos de alta qualidade para cTrader.
Antes de tudo, obrigado a todos que baixaram minhas criações através da cTrader Store,
isso mostrou o grande apoio ao autor original e me fez querer refiná-los ainda mais.
Você sabe, um desenvolvedor/operador genuíno é sempre uma fonte de inovação.
E agora... é hora de automatizar!
Deixe-me apresentar => O Gerenciador de Posições
- O tudo-em-um Gerenciamento de Negociações para ambos Operadores e Desenvolvedores
Para Operadores => Proteja lucros, Limite perdas e Imponha disciplina por meio de entradas configuráveis.
O Gerenciador de Posições tem 4 módulos que justificam seu nome:
- Protetor de Portfólio
- Negociação Guardiã
- Gerenciador de Risco (para negociação manual/semi-automatizada)
- Gerenciador de Negociações (TP móvel, TP/SL parciais)
Cada um com submódulos para melhor gerenciamento.
Casos de uso:
- Operadores buscando proteção de portfólio + escalonamento inteligente ao negociar em Desktop, Mobile e Web.
-
- Se você negocia inteiramente via Desktop, use modo Headless=> DESLIGADO
- Se você também negocia via Mobile/Web, use modo Headless=> LIGADO
- Prop-Traders com limites de risco fixos.
- Desenvolvedores que querem transformar sinais de negociação em entradas reais.
Como usar:
- Para o primeiro uso, recomendo fortemente:
- Criar apenas uma instância de "O Gerenciador de Posições" com:
- Modo Headless => DESLIGADO (modo UI)
- Modo de Instância => Ambos (Gerenciador + Painel de Negociação)
- Depois, aprenda sobre seu comportamento, preferencialmente em backtesting(modo visual) antes de ir ao vivo.
Tenha em mente => "O Gerenciador de Posições" não abre posições por si só:
- Ele gerencia as existentes!
- enquanto fornece gerenciamento a nível de conta.
Para contas pequenas, você pode aumentar as porcentagens.
Para contas grandes, você pode diminuir as porcentagens.
Em qualquer caso, sempre adapte as entradas ao tamanho da sua conta.
Uma vez familiarizado com os parâmetros/comportamento, você pode executá-lo no cTrader Cloud para gerenciar posições no Mobile/Web, há apenas duas regras simples a serem seguidas:
- Modo Headless=> LIGADO
- Além disso, apenas uma instância de "O Gerenciador de Posições" deve ser adicionada:
-
- Caso contrário, elas podem “competir” entre si, pois a maioria das operações são para todos os símbolos.
- A mesma regra se aplica ao executar localmente.
Deixe-me explicar os parâmetros e comportamento esperado para cada um:
Embora alguns sejam intuitivos, há muitos parâmetros...
Por favor leia cada um com paciência.
==== O Gerenciamento de Posições ====
- Modo Headless? => Os recursos disponíveis neste modo são:
-
- Protetor de Portfólio
-
- Todos os recursos estão disponíveis.
- Negociação Guardiã
-
- Filtro de notícias está desativado se o Modo Headless => LIGADO.
- Lucro Móvel
-
- Para qualquer símbolo, as posições não devem ter Take Profit.
- Fechamentos Parciais
-
- Para qualquer símbolo, as posições devem ter Take Profit ou Stop Loss
=> Headless DESLIGADO (modo UI)
- Modo de Instância:
-
- Gerenciador => Apenas uma instância deve ser adicionada.
- Negociação => Painel de negociação puro (módulo Gerenciador de Risco), você pode adicionar múltiplas instâncias.
- Ambos => Apenas uma instância deve ser adicionada:
-
- Gerenciador será exibido como Janela.
- Negociação será exibida no Gráfico.
- Tipo/Posição do Painel: Autoexplicativo
- Armazenamento Por:
-
- Use Corretora para salvar/carregar as mesmas configurações a cada reinício.
- Use Corretora_Símbolo se quiser usar a configuração de cada símbolo como uma espécie de “perfil de risco”.
=> Headless DESLIGADO/LIGADO - Localmente
- Permitir Modo Mensagem?
-
- Autoexplicativo
- Ao usar [Negociação, Ambos] Modo de Instância, altere o “TP/SL => Tipo” para “Pips” nas configurações do painel para que o TP/SL possa ser definido pela mensagem.
- Permitir Negociação por Mensagem?
-
- Permitir abertura de posições pelas mensagens.
- Se Headless LIGADO, a configuração do Gerenciador de Risco não é possível.
- Se Headless DESLIGADO, ao usar [Negociação, Ambos] Modo de Instância, você pode configurar o Módulo Gerenciador de Risco como desejar.
=> Headless LIGADO / Conta Geral
- Breakeven Mínimo(%):
-
- Para cada posição, quando a lógica de Breakeven for executada pelos módulos Trailing/Partial Profit, em vez de mover o SL diretamente para o Preço de Entrada (o que leva a PnL negativo).
- O SL será movido x% à frente do Preço de Entrada.
=> Headless LIGADO / Protetor de Drawdown
- Modo Drawdown:
-
- Diário => Baseado no Saldo do Dia
- Trailing => Baseado no Pico de Patrimônio
- Tipo de Drawdown:
-
- Porcentagem => % do Saldo do Dia, ideal para crescimento dinâmico.
- Fixo => Quantia fixa, ideal para regras estritas
- Drawdown Máximo => % ou fixo (autoexplicativo)
=> Headless LIGADO / Protetor de Perda
- Fonte da Perda: => Atualmente, baseado apenas no “Saldo do Dia”.
-
- Se o Patrimônio cair abaixo do Saldo do Dia, então será acionado/contado.
- Tipo de Perda:
-
- Porcentagem => % do Saldo do Dia, ideal para crescimento dinâmico.
- Fixo => Quantia fixa, ideal para regras estritas
- Perda Diária Máxima² => % ou fixo (autoexplicativo)
- Perda Consecutiva(CL):
-
- Habilita o fechamento de posições quando ocorrerem perdas consecutivas.
- Contagem Consecutiva:
-
- Autoexplicativo
- Tempo de Espera para Resetar(CL):
-
- Tempo de espera para resetar a contagem e permitir que novas posições sejam abertas.
=> Headless LIGADO / Protetor de Lucro
- Ativar Limite de Lucro? => Autoexplicativo
-
- Uma vez que o Lucro Máximo seja alcançado, novas posições serão fechadas.
- Fonte do Lucro: => Sempre baseado no Saldo do Dia
- Tipo de Lucro:
-
- Porcentagem => % do Saldo do Dia, ideal para crescimento dinâmico.
- Fixo => Quantia fixa, ideal para regras estritas
- Lucro Máximo² => % ou fixo (autoexplicativo)
=> Headless LIGADO / Protetor de Risco
- Exposição Total(%):
-
- Também considera posições que estão no Breakeven.
- Total de Negociações Abertas:
-
- Novas posições serão fechadas se a Contagem Total for igual ao Total de Negociações Abertas
=> Headless LIGADO / Protetor FecharTudo
- Fechar no Fim do Dia? => Fechar todas as posições no final do dia
- Fechar no Fim da Semana? => Fechar todas as posições no final da semana (sexta-feira), usa as horas do final do dia como referência.
=> Headless LIGADO / Protetor Reset(EOD)
- Hora para “resetar” o acompanhamento do pico de patrimônio, assim como a lógica executada de FecharTudo, se aplicável.
- Resetar (Hora) => 0h - 23h
- Resetar (Minuto) => 0m – 59m
=> Headless LIGADO / Guardião
- Posições abertas fora do Horário de Negociação ou Dia Permitido serão automaticamente fechadas.
-
- Início/Fim (Hora) => 0h – 23h
- Início/Fim (Minuto) => 0m – 59m
- Permitir Sexta-feira? => Autoexplicativo
- Permitir Fim de Semana? (cripto) => Autoexplicativo
=> Headless LIGADO / Lucro Móvel
- É um Take Profit baseado em Patrimônio
- Ativar?
-
- Para posições sem TP, ideal para posições que seguem a tendência.
- => Tipo:
-
- Porcentagem => % puro do patrimônio
- Drawdown => Baseado no conceito de Drawdown Móvel (Pico de Patrimônio), pense em termos de retrações/preços de recuo.
- Ambos => Comportamento Partial_Close está ativado por padrão:
-
- Tipo porcentagem para parciais.
- Tipo drawdown para saída total.
- Comportamento:
-
- Fechamento Total:
-
- Uma vez que a % alvo do patrimônio seja alcançada, feche todas as posições sem TP.
- Além disso, quando metade da % alvo do patrimônio for alcançada, o SL é movido para o Breakeven.
- Fechamento Parcial:
-
- Habilitar fechamentos parciais.
- Tenha em mente => Se o tamanho da posição (tamanho do lote) for muito pequeno para fechamento parcial, a posição será fechada completamente.
- Lucro Mínimo(%):
-
- O lucro mínimo para ativar a lógica de trailing.
- => Fechamento Total em(%):
-
- Para comportamento “Fechamento_Total” apenas.
- => [Ambos] Fechar Drawdown(%):
-
- Para “Tipo Ambos” apenas.
- => [Apenas %] SL Inteligente?"
-
- Para “Porcentagem” Tipo apenas.
- É bastante semelhante ao tipo Drawdown, mas mais reativo usando SL móvel
- Parcial 1(%) / Parcial 2(%)
-
- % alvo do patrimônio para executar os parciais (Porcentagem ou Ambos)
- Sempre verifique se o Tipo Trailling é Porcentagem ou Drawdown
- Parcial 1(% ordem) / Parcial 2(% ordem)
-
- Autoexplicativo
- => Fechar 3(%):
-
- % alvo do patrimônio para fechar totalmente as posições sem TP.
- Para Tipos Porcentagem ou Drawdown apenas
=> Headless LIGADO / Lucro Parcial
- Ativar?
-
- Para posições com TP, ideal para posições de day-trading ou scalping.
- O Preço de Entrada será 0%
- O Take Profit será 100%
- Os Preços Parciais serão calculados com base nesta abordagem.
- Breakeven em:
-
- Autoexplicativo, move o SL para BE quando o Parcial selecionado for acionado.
- => Mover Trailling em:
-
- Autoexplicativo, move o SL para o Preço Parcial anterior quando o Parcial selecionado for acionado.
- Tenha em mente => Certifique-se de que o Parcial 2º ou 3º esteja ativado.
- Parcial 1(%) /
Parcial 2(%) /
Parcial 3(%) -
- Porcentagens entre PreçoEntrada e TakeProfit.
- => Ativar 2º?
=> Ativar 3º? -
- Autoexplicativo
- Parcial 1(% ordem) /
Parcial 2(% ordem) /
Parcial 3(% ordem) -
- Autoexplicativo
=> Headless LIGADO / Perda Parcial
- Ativar?
-
- Para posições com SL, ideal para limitar perdas de negociações perdedoras que podem retornar para a direção.
- O Preço de Entrada será 0%
- O Stop loss será 100%
- Os Preços Parciais serão calculados com base nesta abordagem.
- Parcial 1(%) /
Parcial 2(%) /
Parcial 3(%) -
- Porcentagens entre PreçoEntrada e StopLoss.
- => Ativar 2º?
=> Ativar 3º? -
- Autoexplicativo
- Parcial 1(% ordem) /
Parcial 2(% ordem) /
Parcial 3(% ordem) -
- Autoexplicativo
====================================================
Para Desenvolvedores => Plug-and-Play para qualquer estratégia via Mensagens/assinaturas do cTrader Algo.
- Para sistemas semi ou totalmente automatizados:
- Semi: As ordens ainda são abertas por nós mesmos, mas:
-
- SL e TP são definidos por Mensagens/assinaturas.
- Totalmente: Os sinais de ordem são enviados via Mensagens/assinaturas para “O Gerenciador de Posições”
-
- A configuração do “Gerenciador de Risco” pode não estar disponível nesta abordagem.
É bastante simples, você só precisa enviar o sinal usando a seguinte classe:
public class TradeSignal
{
public string Symbol { get; set; }
public TradeType Direction { get; set; }
public double StopLossPips { get; set; }
public double? TakeProfitPips { get; set; } // null = sem TP
public string StrategyId { get; set; }
public double? EntryPrice { get; set; } // null = mercado, caso contrário ordem limitada.
public DateTime Timestamp { get; set; }
public int Confidence { get; set; } // 1–5
}
Então:
Messages.Send("ThePositionManager", signal);
Exemplo curto:
TradeSignal signal = new()
{
Symbol = Symbol.Name,
Direction = TradeType.Buy,
StopLossPips = 1500,
TakeProfitPips = 3000,
StrategyId = "MyStrategy",
Confidence = 5
};
Messages.Send("ThePositionManager", signal);
5 | 0 % | |
4 | 67 % | |
3 | 33 % | |
2 | 0 % | |
1 | 0 % |