Estratégia SilverTrend Duplex
Visão geral
A Estratégia SilverTrend Duplex é um port do StockSharp do consultor especializado MetaTrader 5 Exp_SilverTrend_Duplex. O robô original combina dois filtros SilverTrend independentes (para decisões compradas e vendidas) e executa trades quando as cores do indicador mudam entre estados altistas e baixistas. Esta implementação em C# mantém a arquitetura de filtro duplo, permitindo ajustar a lógica comprada e vendida separadamente enquanto aproveita a API de alto nível do StockSharp.
A estratégia opera apenas em velas finalizadas. Duas subscrições separadas podem ser configuradas, portanto os sinais comprados e vendidos podem observar diferentes períodos ou instrumentos se necessário. Internamente, um SilverTrendIndicator personalizado reconstrói a lógica de cores da versão MQL combinando extremos do canal Donchian com o multiplicador de risco para emular as bandas SilverTrend originais.
Lógica de trading
Reconstrução do indicador
- Para cada vela, os limites superior e inferior do Donchian sobre
SSPbarras são calculados. - Os limiares adaptativos
sminesmaxsão derivados usando o coeficiente de risco (33 - risk), idêntico ao algoritmo MQL. - Quando o preço fecha acima de
smaxum estado altista é registrado; quando fecha abaixo desminum estado baixista é registrado; caso contrário o estado anterior é mantido. A direção do corpo da vela determina o código de cor final (0..4) exatamente como no indicador SilverTrend original.
- Para cada vela, os limites superior e inferior do Donchian sobre
Preparação de sinais
- Os valores de cor são armazenados para as
SignalBar + 1velas finalizadas mais recentes tanto para os filtros comprado quanto vendido. - Os sinais comprados disparam quando a cor no deslocamento selecionado cai abaixo de
2(altista) enquanto a cor anterior era maior que1(não altista), replicandoValue[1] < 2 && Value[0] > 1do MQL. - Os sinais vendidos disparam quando a cor sobe acima de
2(baixista) e a cor anterior está acima de0, correspondendo aValue[1] > 2 && Value[0] > 0do script.
- Os valores de cor são armazenados para as
Execução de ordens
- As entradas usam
BuyMarketouSellMarketcom volume igual aVolume + |Position|, que fecha qualquer exposição oposta e abre o novo lado em uma única ordem a mercado. - As saídas dependem do indicador retornar à banda de cor oposta. Posições compradas são fechadas quando a cor sobe acima de
2, posições vendidas quando cai abaixo de2.
- As entradas usam
A estratégia não replica a matriz de gestão monetária original ou a colocação de stops no servidor de TradeAlgorithms.mqh. O controle de risco deve, portanto, ser gerenciado através dos mecanismos de proteção integrados do StockSharp ou das regras do corretor.
Parâmetros
| Nome | Padrão | Descrição |
|---|---|---|
LongCandleType |
Velas de 4 horas | Tipo de dados usado para o indicador do lado comprado. |
LongSsp |
9 | Comprimento de retrospectiva SilverTrend para o filtro comprado. |
LongRisk |
3 | Multiplicador de risco (33 - risk) aplicado à largura do canal. |
LongSignalBar |
1 | Deslocamento (em velas finalizadas) para avaliar sinais comprados. Deve ser ≥ 1. |
EnableLongEntries |
true | Ativa/desativa a abertura de posições compradas. |
EnableLongExits |
true | Ativa/desativa o fechamento de posições compradas quando cores baixistas aparecem. |
ShortCandleType |
Velas de 4 horas | Tipo de dados usado para o indicador do lado vendido. |
ShortSsp |
9 | Comprimento de retrospectiva SilverTrend para o filtro vendido. |
ShortRisk |
3 | Multiplicador de risco para o filtro vendido. |
ShortSignalBar |
1 | Deslocamento para avaliar sinais vendidos. Deve ser ≥ 1. |
EnableShortEntries |
true | Ativa/desativa a abertura de posições vendidas. |
EnableShortExits |
true | Ativa/desativa o fechamento de posições vendidas quando cores altistas aparecem. |
Volume |
1 | Volume base da ordem usado para entradas. |
Notas de implementação
- Os sinais são avaliados apenas depois que tanto o indicador quanto o histórico de cores contêm dados suficientes (
SignalBar + 1valores). Isso reflete as verificaçõesBarsCalculateddo especialista MQL. - O indicador personalizado expõe valores de cor decimais em vez de copiar dados brutos de buffer. Não são necessárias chamadas diretas a
GetValuegraças à API de alto nívelBind. - Quando os tipos de vela comprado e vendido são idênticos, duas subscrições são criadas intencionalmente para manter os conjuntos de parâmetros isolados. Isso corresponde ao comportamento de duplo identificador no consultor original.
- As opções de stop-loss, take-profit, desvio e gestão de margem do script fonte não são replicadas. Você pode adicionar regras de risco do StockSharp (por exemplo,
StopLossRule) se um comportamento semelhante for necessário.
Dicas de uso
- Otimize
LongSsp,ShortSspe os valores de risco correspondentes separadamente para adaptar os limiares de rompimento a cada regime de mercado. - Se deseja emular o comportamento original de "sinal na barra anterior", mantenha
SignalBarem1. Valores maiores forçam a estratégia a aguardar barras adicionais antes de reagir. - Combine a estratégia com controles de risco a nível de portfólio ou filtros de tempo ao operar em múltiplos instrumentos, pois a mudança de cor do SilverTrend pode produzir mudanças de regime frequentes em mercados laterais.