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.
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:
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.
Para reduzir os riscos, otimizar nos seguintes aspectos:
Os seguintes aspectos podem ser otimizados para a estratégia:
Otimizar as definições dos parâmetros através de diferentes valores.
Adicionar condições de filtragem à entrada para evitar falsos sinais.
Otimizar os métodos de stop loss como trailing stop loss.
Otimizar tirar lucro formas como adaptativo tirar lucro.
Adicione lucro automático perto dos níveis-chave para evitar retração.
Otimizar a gestão do capital ajustando o tamanho da posição em função do risco.
Testar e otimizar parâmetros e níveis de stop/profit com base em diferentes instrumentos e prazos.
Lidar com eventos extremos como evitar trocas durante notícias ou cortar perdas rápidas.
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)