Estratégia de Pivô de Volatilidade
Visão geral
A estratégia de Pivô de Volatilidade é um port de alto nível do StockSharp do expert advisor original Exp_VolatilityPivot.mq5. Ela recria o indicador personalizado Volatility Pivot projetando duas linhas de stop adaptativas que seguem o preço usando volatilidade de Average True Range (ATR) ou um desvio de preço fixo. Quando a tendência muda, o indicador emite setas de rompimento de uma única barra que desencadeiam reversões de posição. A estratégia pode seguir esses sinais (WithTrend) ou operar contra eles (CounterTrend), proporcionando flexibilidade para estilos de rompimento ou reversão à média.
Ao contrário da implementação MQL, esta versão se baseia inteiramente em velas terminadas fornecidas por CandleType. O modo ATR multiplica um ATR suavizado (EMA do ATR) por AtrMultiplier, enquanto o modo de preço usa o deslocamento bruto DeltaPrice. As linhas de pivô resultantes definem níveis de trailing de alta e baixa que governam entradas e saídas.
Dados de mercado e indicadores
- Velas primárias (
CandleType) – todos os cálculos são realizados neste período. O padrão é uma barra de 4 horas para corresponder ao expert advisor fonte. - ATR + suavização EMA – no modo
Atra estratégia processa umAverageTrueRangecom comprimentoAtrPeriode então o suaviza por umaExponentialMovingAveragede comprimentoSmoothingPeriod. - Modo de desvio de preço – no modo
PriceDeviationo deslocamento de trailing é a quantidade fixaDeltaPrice, permitindo distâncias de stop determinísticas quando a suavização de volatilidade não é desejada. - Rastreamento do estado do pivô – a estratégia mantém os últimos valores de trail de alta/baixa e só gera "sinais" na barra onde o trail muda de um lado do preço para o outro, espelhando os buffers do indicador da versão MQL.
Lógica de trading
- Cálculo do pivô – para cada vela terminada a estratégia atualiza o preço do stop de trailing de acordo com as regras do Volatility Pivot. Um trail de alta está ativo quando o preço fecha acima do stop calculado; um trail de baixa está ativo quando fecha abaixo.
- Detecção de sinais – um novo sinal de alta (baixa) é disparado quando o trail de alta (baixa) se torna ativo depois de estar inativo na barra anterior. O parâmetro
SignalBaratrasa a execução pelo número solicitado de barras completas, replicando a entradaSignalBardo script MQL. - Filtro de direção (
TradeDirection) – quando definido comoWithTrenda estratégia compra em sinais de alta e vende em sinais de baixa. Quando definido comoCounterTrenda interpretação é invertida: setas de alta fecham vendidos e abrem novos vendidos, e vice-versa. - Permissões de entrada –
EnableBuyEntrieseEnableSellEntriescontrolam se novas posições compradas ou vendidas podem ser abertas. - Permissões de saída –
AllowLongExitseAllowShortExitscontrolam se posições existentes podem ser fechadas por sinais diretos ou pelo trail oposto que permanece ativo. - Ajuste de posição – a estratégia visa uma posição líquida de
+Volumepara comprados,-Volumepara vendidos e0ao zerar. As ordens são dimensionadas automaticamente para fechar qualquer exposição oposta antes de estabelecer a nova direção. - Stops protetores – distâncias opcionais de
StopLosseTakeProfit(expressas em unidades de preço absolutas) monitoram cada vela terminada. Se o máximo/mínimo da barra viola esses níveis, a estratégia sai imediatamente da posição.
Parâmetros
| Parâmetro | Descrição | Padrão |
|---|---|---|
CandleType |
Série de velas usada para processamento de indicadores e execução. | Velas de 4 horas |
AtrPeriod |
Comprimento do componente ATR. | 100 |
SmoothingPeriod |
Comprimento de suavização EMA aplicado aos valores ATR. | 10 |
AtrMultiplier |
Multiplicador aplicado ao ATR suavizado. | 3.0 |
DeltaPrice |
Deslocamento de preço fixo usado quando PivotMode = PriceDeviation. |
0.002 |
PivotMode |
Escolhe entre pivôs baseados em ATR ou desvio fixo. | Atr |
TradeDirection |
Segue (WithTrend) ou desvanece (CounterTrend) os rompimentos de pivô. |
WithTrend |
SignalBar |
Número de barras completas a aguardar antes de agir sobre um sinal. | 1 |
EnableBuyEntries |
Permitir abertura de novas posições compradas. | true |
EnableSellEntries |
Permitir abertura de novas posições vendidas. | true |
AllowLongExits |
Permitir fechar posições compradas existentes quando condições baixistas persistem. | true |
AllowShortExits |
Permitir fechar posições vendidas existentes quando condições altistas persistem. | true |
StopLoss |
Distância de stop-loss opcional (unidades de preço absolutas). Definir como 0 para desabilitar. |
0 |
TakeProfit |
Distância de take-profit opcional (unidades de preço absolutas). Definir como 0 para desabilitar. |
0 |
Nota: A propriedade
Strategy.Volumedo StockSharp define o tamanho da posição. Configurar antes de iniciar a estratégia para corresponder ao tamanho de contrato ou ação do instrumento.
Diretrizes de uso
- Anexar a estratégia ao
SecurityePortfoliodesejados e definirVolumepara o tamanho de lote pretendido. - Garantir que a fonte de dados possa fornecer o
CandleTypeselecionado. Sem um feed contínuo de velas terminadas, a suavização ATR e a lógica de atraso de sinal não podem se formar. - Escolher
PivotModebaseado no comportamento do mercado: o modo ATR se adapta à volatilidade, enquanto o modo de desvio de preço mantém o trail fixo. - Ajustar
SignalBarpara reproduzir o momento exato do expert advisor original (atraso de 1 barra por padrão). Definir como0para executar na barra terminada mais recente. - Ao usar
StopLoss/TakeProfit, calibrar as distâncias à volatilidade do instrumento (são preços absolutos, não pontos ou porcentagens). - Monitorar os registros para mensagens informativas sobre entradas, saídas e stops protetores ativados por mudanças de pivô.
Diferenças do expert advisor original
- As opções de gestão de dinheiro baseadas no saldo/margem livre da conta foram removidas. O tamanho da posição é controlado exclusivamente através de
Strategy.Volume. - O "desvio" do preço da ordem e a sincronização manual de tempo da biblioteca auxiliar MQL são desnecessários porque o StockSharp usa ordens a mercado em velas terminadas.
- Recursos de notificação, variáveis globais e carregamento manual de histórico presentes no script MQL são omitidos.
- O tratamento de stop protetor e take-profit é simplificado para verificações baseadas em velas; não há colocação de ordens intra-barra.
Aprimoramentos recomendados
- Adicionar filtros de sessão diária ou volatilidade para pausar o trading durante horas de baixa liquidez.
- Estender a estratégia com gerenciamento de trailing-stop que espelhe as linhas de pivô, ou exportar as linhas calculadas para um gráfico para visualização.
- Incorporar controles de risco no nível do portfólio se múltiplos instrumentos usarem a mesma instância de estratégia.