Estratégia de Margem Fixa de Dinheiro
Esta estratégia replica o exemplo "Money Fixed Margin" do MetaTrader usando a API de alto nível do StockSharp. Ela demonstra como dimensionar posições arriscando uma porcentagem fixa do portfólio enquanto converte a distância do stop-loss expressa em pips para um deslocamento de preço absoluto. A estratégia opera apenas posições compradas e foca em demonstrar a lógica de gestão do dinheiro em vez de um sinal de entrada preditivo.
Detalhes
- Critérios de entrada:
- Comprado: executa uma compra a mercado após cada contagem de velas concluída especificada por
Check Interval(padrão a cada 980ª barra). A ordem usa o preço de fechamento da vela desencadeante como referência para cálculos de risco.
- Comprado: executa uma compra a mercado após cada contagem de velas concluída especificada por
- Comprado/Vendido: Somente comprado.
- Critérios de saída:
- O stop-loss protetor é anexado automaticamente via
StartProtectiona uma distância derivada do parâmetroStop Loss (pips). - Nenhum alvo de lucro é usado; as posições fecham apenas pelo stop-loss ou intervenção manual.
- O stop-loss protetor é anexado automaticamente via
- Stops: Apenas Stop Loss.
- Valores padrão:
Stop Loss (pips)= 25Risk Percent= 10Check Interval= 980Candle Type= período de 1 minuto
- Filtros:
- Categoria: Gestão de risco
- Direção: Comprado
- Indicadores: Nenhum
- Stops: Sim (stop-loss)
- Complexidade: Básico
- Período: Intradiário (configurável através de
Candle Type) - Sazonalidade: Não
- Redes neurais: Não
- Divergência: Não
- Nível de risco: Médio (escala com
Risk Percent)
Lógica de Dimensionamento de Posição
- A estratégia lê
Security.PriceStepeSecurity.Decimalspara inferir o tamanho do pip. Pares com 3 ou 5 casas decimais usam um multiplicador décuplo para corresponder à definição de pip do MetaTrader. Stop Loss (pips)é multiplicado pelo tamanho do pip para obter uma distância de preço absoluta (ExtStopLoss) idêntica ao código MQL5.- O valor atual do portfólio (preferindo
Portfolio.CurrentValuee depoisPortfolio.BeginValue) é multiplicado porRisk Percent / 100para determinar o capital exposto por trade. - O risco por lote único é calculado através do produto da distância do stop-loss, o número de passos de preço dentro dessa distância e
Security.StepPricequando disponível. SeStepPricefor desconhecido, a própria distância de preço é usada como fallback. - A divisão do valor de risco pelo risco por lote produz o volume desejado. O resultado é normalizado para o
VolumeStepdo instrumento, limitado aos limites mínimo e máximo de volume, e registrado para transparência. Um valor de comparação com distância de stop-loss zero também é registrado para ilustrar por que o gestor de dinheiro recusa trades sem um stop protetor.
Fluxo de Trabalho
- Ao iniciar, a estratégia assina a série de velas configurada, calcula o tamanho do pip e habilita
StartProtectioncom a distância de stop-loss absoluta calculada. - Cada vela concluída incrementa um contador interno. Quando o contador atinge o
Check Intervalescolhido, a estratégia avalia o tamanho da posição, imprime informações de diagnóstico e redefine o contador. - Se o volume calculado for positivo, uma ordem de compra a mercado é colocada. A proteção integrada anexa o stop-loss em
Close - ExtStopLoss. Quaisquer erros (por exemplo, devido a dados insuficientes ou instrumentos com preço zero) impedem o envio da ordem. - Nenhum trade adicional é realizado até que o contador complete outro intervalo, mantendo o foco na gestão do dinheiro em vez da frequência de sinais.
Notas de Uso
- Defina
Risk Percentpara um valor conservador ao conectar a uma conta ao vivo; o risco padrão de 10% espelha o exemplo MQL, mas é agressivo para trading real. - Certifique-se de que o instrumento forneça metadados significativos de
PriceStepeStepPrice. Quando indisponíveis, a estratégia ainda opera mas interpreta o risco em unidades de preço bruto. - A estratégia evita intencionalmente trades vendidos para manter fidelidade à demonstração original. Adapte as chamadas
BuyMarket/SellMarketse o trading bidirecional for desejado. - Combine este módulo de gestão do dinheiro com outros geradores de sinais reutilizando o helper
CalculateFixedMarginVolumedo código da estratégia.