Estratégia Treine-se
Esta estratégia é uma versão StockSharp do consultor especialista MetaTrader 4 TrainYourself-V1_1-1. Ele recria a lógica de construção e breakout do canal enquanto substitui os botões gráficos do script MT4 por chamadas de método explícitas. O algoritmo reconstrói continuamente um canal de preços no estilo Donchian e dispara uma negociação assim que o preço escapa do canal após a primeira consolidação dentro dele.
Lógica de negociação
Construção do canal
- Um indicador
DonchianChannelscom períodosChannelLengthé avaliado em cada vela finalizada doCandleTypeselecionado. - As bandas superior e inferior brutas são expandidas com um buffer extra semelhante a MetaTrader:
BufferPointsmultiplicado pelo instrumentoPriceStep. Isso reproduz o script original que inicialmente colocou as linhas de tendência a 50 pontos da oferta/venda atual antes de deslizá-las sobre máximos e mínimos recentes. - Os valores
UpperBand/LowerBandresultantes são expostos como propriedades somente leitura para que possam ser exibidos em painéis personalizados.
- Um indicador
Condição de armamento
- O mecanismo de breakout permanece desarmado enquanto uma posição está aberta ou quando
EnableTrendTradeé falso. - Quando não há posição, o preço deve fechar dentro do canal com uma margem adicional de
ActivationPoints*PriceStepde ambos os limites. Só então_isArmedse tornatrue, imitando o MetaTrader sinalizadorq=1que foi definido quando o preço voltou para o canal.
- O mecanismo de breakout permanece desarmado enquanto uma posição está aberta ou quando
Execução de breakout
- Uma vez armado, um fechamento igual ou superior a
UpperBandcoloca uma ordem de compra de mercado (seAllowBuyOpenestiver ativado). Um fechamento igual ou inferior aLowerBandcoloca uma ordem de venda a mercado (respeitandoAllowSellOpen). - Depois que uma ordem é colocada, a estratégia se desarma até que o preço entre novamente no canal sem qualquer posição aberta.
- Uma vez armado, um fechamento igual ou superior a
Gerenciamento de riscos
StartProtectionconfigura ordens de proteção automáticas. As distâncias são calculadas multiplicandoTakeProfitPointseStopLossPointspeloPriceStepatual. Se o corretor não relatar uma etapa, um substituto de0.0001será usado, correspondendo ao comportamento de MetaTraderPoint.
Controles manuais
- Os rótulos MT4 (
BUY_TRIANGLE,SELL_TRIANGLE,CLOSE_ORDER) são substituídos por três métodos públicos:TriggerManualBuy(),TriggerManualSell()eClosePositionManually(). Eles respeitamAllowBuyOpen/AllowSellOpen, verificam o status da conexão viaIsFormedAndOnlineAndAllowTrading()e também desarmam a lógica de breakout para que as negociações manuais não acionem imediatamente entradas automatizadas.
- Os rótulos MT4 (
Parâmetros
| Parâmetro | Padrão | Descrição |
|---|---|---|
CandleType |
30m período de tempo |
Assinatura de vela primária usada para todos os cálculos. |
ChannelLength |
20 |
Número de velas analisadas pelo canal Donchian. |
BufferPoints |
50 |
MetaTrader pontos extras adicionados no último fechamento antes de finalizar o canal. |
ActivationPoints |
2 |
Margem (em pontos) que o preço deve manter longe das bordas do canal antes que um rompimento possa ser armado. |
StopLossPoints |
100 |
Distância stop-loss em pontos; convertido em preço absoluto multiplicando por PriceStep. |
TakeProfitPoints |
100 |
Distância de take-profit em pontos; convertido em preço absoluto usando PriceStep. |
EnableTrendTrade |
true |
Permite negociação de breakout automática. Quando false apenas os métodos auxiliares manuais podem abrir/fechar posições. |
Volume |
1 |
Tamanho do pedido para negociações automáticas e manuais. |
Notas de uso
- O consultor especialista original exigia arrastar ícones no gráfico para (re)construir linhas de tendência. Em StockSharp o canal é reconstruído automaticamente a cada vela, portanto nenhuma atualização manual é necessária.
- Como a estratégia expõe
UpperBand,LowerBandeIsArmed, os painéis ou widgets de IU podem replicar o feedback visual original sem depender de objetos gráficos. - Os níveis de stop-loss e take-profit são opcionais. Defina os parâmetros correspondentes como
0para desativar as ordens de proteção, espelhando o comportamento MetaTrader onde as rotinas de modificação foram ignoradas quando o valor externo era zero. - As entradas manuais respeitam o mesmo parâmetro
Volumee beneficiam automaticamente das distâncias de proteção configuradas. - Para redefinir o estado de rompimento manualmente, chame
ClosePositionManually()(que também limpaIsArmed) ou espere que o preço entre novamente no canal para que a condição de armar seja satisfeita novamente.