Estratégia de compra e venda com vários indicadores

Autora:ChaoZhang, Data: 2023-10-18 11:36:38
Tags:

img

Resumo

Esta estratégia combina indicadores de média móvel, sobrecompra-supervenda e taxa de volatilidade para comprar em quedas quando sobrevendido e vender em altas quando sobrecomprado, a fim de acompanhar as tendências.

Estratégia lógica

Tomar posições quando o RSI e o Stoch estiverem em zonas de sobrevenda/supercompra e o oscilador AO mostrar sinal de reversão. Especificamente, fazer long quando o RSI e o Stoch estiverem baixos (abaixo de 30 e 20) e o AO passe de negativo para positivo; fazer short quando o RSI e o Stoch estiverem altos (acima de 70 e 80) e o AO passe de positivo para negativo. Definir stop loss e take profit com base no valor ATR para ajustar os níveis de perda/lucro de acordo com a volatilidade do mercado.

A estratégia utiliza principalmente quatro indicadores:

  • Oscilador AO: reflete a dinâmica dos preços, pode ser utilizado para identificar a inversão da tendência.
  • RSI: reflete os níveis de sobrecompra/supervenda.
  • Stoch: reflete zonas de sobrecompra/supervenda.
  • ATR: reflete a recente volatilidade dos preços.

Quando o AO mostra sinal de reversão e o RSI e o Stoch estão ambos em zonas de sobrevenda / sobrecompra, o preço pode reverter. Tome posições neste momento. Use o ATR para definir preços de stop loss e take profit para evitar ser preso ajustando a faixa de perda / lucro com base na volatilidade.

Vantagens

  • Usar vários indicadores para confirmar sinais, evitando transações erradas a partir de um único indicador.
  • Estabelecer um stop loss/lucro com base na volatilidade para controlar perdas únicas.
  • Lógica simples e clara, fácil de entender e implementar.
  • Aproveitar situações de sobrecompra/supervenda para capturar reversões.

Riscos e soluções

  • AO pode gerar sinais falsos, precisa combinar com RSI e Stoch para evitar trocas erradas.
  • Os parâmetros fixos podem não poder adaptar-se às alterações do mercado.
  • O stop loss muito próximo pode desencadear paradas frequentes. Pode afrouxar a faixa de paradas ou usar estratégias de saída.
  • Os lucros fixos podem sair muito cedo ou tarde, podem usar lucros adaptativos ou saídas parciais.

Para reduzir os riscos, otimizar nos seguintes aspectos:

  1. Otimizar os parâmetros para adaptá-los a diferentes períodos e instrumentos.
  2. Melhorar os métodos de stop loss como trailing stop, partial exits.
  3. Optimize as regras de entrada para evitar sinais falsos.
  4. Otimizar formas de obter lucro como adaptação de lucro, segmentado por tendências.

Orientações de otimização

Os seguintes aspectos podem ser otimizados para a estratégia:

  1. Otimizar as definições dos parâmetros através de diferentes valores.

  2. Adicionar condições de filtragem à entrada para evitar falsos sinais.

  3. Otimizar os métodos de stop loss como trailing stop loss.

  4. Otimizar tirar lucro formas como adaptativo tirar lucro.

  5. Adicione lucro automático perto dos níveis-chave para evitar retração.

  6. Otimizar a gestão do capital ajustando o tamanho da posição em função do risco.

  7. Testar e otimizar parâmetros e níveis de stop/profit com base em diferentes instrumentos e prazos.

  8. Lidar com eventos extremos como evitar trocas durante notícias ou cortar perdas rápidas.

Resumo

Esta estratégia combina média móvel, sobrecompra-supervenda e sistemas de volatilidade para comprar baixo e vender alto, com forte tendência seguindo a capacidade. Mas existem alguns problemas como parâmetros fixos e stop loss inadequados. Podemos otimizar a partir de vários aspectos, como ajuste de parâmetros, melhorar o stop loss, adicionar filtros para torná-lo mais robusto. Na negociação real, é necessário testar e otimizar com base em instrumentos e períodos específicos para maximizar sua eficácia e lucratividade.


/*backtest
start: 2023-09-17 00:00:00
end: 2023-10-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4

strategy("Buy&Sell Strategy depends on AO+Stoch+RSI+ATR by SerdarYILMAZ", shorttitle="Buy&Sell Strategy")
// Created by Serdar YILMAZ
// This strategy is just for training, its purpose is just learning code in pine script.
// Don't make buy or sell decision with this strategy.
// Bu strateji sadece pine script'te kodlamanın nasıl yapildigini ogrenmek icindir.
// Bu stratejiye dayanarak, kesinlikle al-sat islemleri yapmayin.

//AO

fast=input(title="Fast Length",type=input.integer,defval=5)
slow=input(title="Slow length",type=input.integer,defval=34)

awesome=(sma(hl2,fast)-sma(hl2,slow))*1000

plot(awesome, style=plot.style_histogram, color=(awesome>awesome[1]?color.green:color.red))

//Stoch

K=input(title="K",type=input.integer,defval=14)
D=input(title="D",type=input.integer,defval=3)
smooth=input(title="smooth",type=input.integer,defval=3)

k=sma(stoch(close,high,low,K),D)
d=sma(k,smooth)

hline(80)
hline(20)

plot(k,color=color.blue)

//RSI

rsisource=input(title="rsi source",type=input.source,defval=close)
rsilength=input(title="rsi length",type=input.integer,defval=10)

rsi=rsi(rsisource,rsilength)

hline(70,color=color.orange)
hline(30,color=color.orange)

plot(rsi,color=color.orange)

//ATR

atrlen=input(title="ATR Length", type=input.integer,defval=14)

atrvalue=rma(tr,atrlen)

plot(atrvalue*1000,color=color.green)

LongCondition=k<20 and rsi<30 and awesome>awesome[1]
ShortCondition=k>80 and rsi>70 and awesome<awesome[1]
if (LongCondition)
    stoploss=low-atrvalue
    takeprofit=close+atrvalue
    strategy.entry("Long Position", strategy.long)
    strategy.exit("TP/SL",stop=stoploss,limit=takeprofit)
    
if (ShortCondition)
    stoploss=high+atrvalue
    takeprofit=close-atrvalue
    strategy.entry("Short Position",strategy.short)
    strategy.exit("TP/SL",stop=stoploss,limit=takeprofit)
    
    

    
    




Mais.