
Esta estrategia permite el seguimiento de la tendencia mediante la combinación de indicadores de línea media, indicadores de sobreventa y sobreventa y indicadores de volatilidad para comprar a la baja en caso de rebote de sobreventa y vender a la altura en caso de rebote de sobreventa.
Se establecen posiciones cuando el RSI y el Stoch se encuentran simultáneamente en la zona de sobreventa y el oscilador AO muestra una señal de reversión. En concreto, cuando el RSI y el Stoch se encuentran en las posiciones bajas (por debajo de los 30 y 20) y el AO hace más cuando se corrige desde lo negativo; cuando el RSI y el Stoch están en las posiciones altas (por encima de los 70 y 80) y el AO hace vacío cuando se corrige desde lo negativo.
La estrategia se basa en cuatro indicadores:
Cuando se produce una señal de reversión del AO y el RSI y el Stoch se encuentran simultáneamente en la zona de sobreventa, se indica que el precio puede revertirse, lo que puede intervenir para establecer una posición. El indicador ATR se utiliza para establecer el precio de parada de pérdida, ajustando la amplitud de la parada de pérdida según la volatilidad del mercado para evitar ser cubierto.
Para reducir estos riesgos, se puede optimizar en los siguientes aspectos:
Esta estrategia puede ser optimizada en los siguientes aspectos:
La configuración de los parámetros de optimización. Se puede encontrar una combinación de parámetros mejor mediante métodos como la búsqueda de optimización.
Aumentar las condiciones de filtración. Se puede agregar una confirmación de indicadores adicionales en la entrada para evitar falsas señales.
Mecanismos de optimización de la suspensión de pérdidas. Se puede utilizar la suspensión móvil, el lote de salida, etc., para controlar el riesgo.
Optimización de las paradas. Se pueden usar paradas móviles, paradas por etapas según la tendencia, etc., para bloquear más ganancias.
Aumentar el frenado automático. Por ejemplo, el frenado se detiene cuando se acerca a la puerta de un número entero importante, para evitar el retroceso de salto.
Optimización de la gestión de fondos. Por ejemplo, ajustar el tamaño de las posiciones en función de los cambios en el riesgo y controlar la máxima pérdida.
Optimización de la prueba para una variedad / ciclo específico. Los parámetros y los métodos de detención de pérdidas deben optimizarse para diferentes variedades y períodos.
Aumentar el manejo de los eventos inesperados, como evitar el comercio cuando se trata de noticias importantes o detener rápidamente.
Esta estrategia utiliza un sistema de equilibrio, un sistema de sobreventa y sobreventa y un sistema de volatilidad, que tiene una fuerte capacidad de seguimiento de tendencias cuando el valor es bajo y cuando el valor es alto y cuando el valor es alto. Pero también hay algunos problemas como la configuración de parámetros fijos, imperfección del mecanismo de parada de pérdidas.
/*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)