Esta estratégia usa principalmente a faixa de oscilação de preços e o julgamento da tendência da linha K para encontrar oportunidades de negociação. Enviar sinais de negociação quando o preço atravessar os pontos altos ou baixos da linha K anterior. Quando a tendência sobe, vá longo quando o preço atravessa o ponto alto; Quando a tendência desce, vá curto quando o preço atravessa o ponto baixo.
Esta estratégia baseia-se principalmente em dois pontos:
Oscilador Klinger para julgar a direção da tendência. Quando o indicador é maior que 0, indica uma tendência de alta, e quando é menor que 0, indica uma tendência de baixa.
O preço atravessa o preço mais alto ou o preço mais baixo da linha K anterior. Vá longo em uma tendência de alta quando atravessa o preço mais alto e vá curto em uma tendência de queda quando atravessa o preço mais baixo.
Em especial, a lógica de entrada da estratégia é a seguinte:
Entrada longa:
Breve entrada:
Após a entrada no mercado, o preço de stop loss ou take profit é fixado de acordo com uma certa percentagem do preço de entrada.
As principais vantagens desta estratégia são:
Capazes de captar oportunidades a tempo quando a tendência muda, aumentam a probabilidade de lucro.
Use o Oscilador Klinger para determinar a direção da tendência, evite negociar sem direção em um mercado oscilante.
Combine a média móvel para filtrar a falha.
Riscos controlados, stop loss e take profit razoáveis.
Os principais riscos desta estratégia são:
Pode haver mais stop loss no mercado oscilante.
A configuração incorreta dos parâmetros da média móvel pode causar um erro de julgamento.
Uma fuga fracassada pode levar a uma perda de retorno.
As perdas podem aumentar quando a tendência se inverte.
Negociação frequente, altos custos de comissão.
Os riscos podem ser controlados por meio da otimização de parâmetros para encontrar períodos de média móvel mais adequados para reduzir o julgamento errado. Defina uma distância de stop loss razoável para controlar a perda única. Negocie variedades com tendência óbvia. Reduza adequadamente a frequência de negociação.
Esta estratégia pode ser otimizada nos seguintes aspectos:
Otimizar os parâmetros da média móvel para encontrar parâmetros com maior suavidade para reduzir o ruído.
Teste diferentes indicadores para determinar a tendência e encontre indicadores de determinação mais fiáveis.
Otimizar as estratégias de stop loss e de lucro para as tornar mais conformes com as características estatísticas do mercado.
Aumentar a filtragem de tendências para evitar falsas rupturas em mercados oscilantes.
Adicionar filtragem de horário de negociação e variedade para selecionar horários de negociação e variedades.
Configurações dos parâmetros de pesquisa para diferentes ciclos de tempo.
Em geral, esta é uma estratégia de breakout relativamente simples e prática. Suas vantagens são riscos controláveis e evitar a negociação sem direção usando indicadores. Mas é necessário prestar atenção para evitar uma falha no mercado oscilante e parar a perda em tempo hábil. Melhorar ainda mais a taxa de sucesso da estratégia através da otimização de parâmetros e melhorar a confiabilidade do indicador. Esta estratégia é adequada para mercados com tendências óbvias. Se usada em variedades e ciclos de tempo com oscilação mais forte, os resultados podem ser comprometidos.
/*backtest start: 2022-10-20 00:00:00 end: 2023-10-26 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © exlux99 //@version=4 strategy("Advanced OutSide Forex strategy", overlay = true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, calc_on_every_tick = true, commission_type = strategy.commission.percent, commission_value = 0.0) sv = change(hlc3) >= 0 ? volume : -volume kvo = ema(sv, 34) - ema(sv, 55) sig = ema(kvo, 13) length = input(title="Length", type=input.integer, defval=27) src = input(close, title="Source") lsma = hma(src, length) if (high > high[1] and low < low[1]) if (close > open and kvo>0 and lsma<close) strategy.entry("long", strategy.long, comment="long") if (high < high[1] and low > low[1]) if (close < open and kvo<0 and lsma>close) strategy.entry("short", strategy.short, comment="short") tplong=input(0.006, step=0.001, title="Take profit % for long") sllong=input(0.012, step=0.001, title="Stop loss % for long") tpshort=input(0.0075, step=0.001, title="Take profit % for short") slshort=input(0.015, step=0.001, title="Stop loss % for short") strategy.exit("short_tp/sl", "long", profit=close * tplong / syminfo.mintick, loss=close * sllong / syminfo.mintick, comment='LONG EXIT', alert_message = 'closeshort') strategy.exit("short_tp/sl", "short", profit=close * tpshort / syminfo.mintick, loss=close * slshort / syminfo.mintick, comment='SHORT EXIT', alert_message = 'closeshort')