
Esta estrategia se basa en dos indicadores de mediana y de fuerza relativa, combinados con la volatilidad histórica de las acciones, para permitir la compra y venta automática de acciones. La ventaja de la estrategia es que se combina la línea larga y la línea corta, lo que permite controlar el riesgo de manera efectiva.
La estrategia utiliza un sistema de doble línea de equilibrio compuesto por una media linea de 150 semanas y una media rápida de 50 días, y una media más rápida de 20 días. Cuando el precio cruza la línea de 150 semanas, se considera que el mercado comienza a subir, y cuando el precio cruza la línea de 50 días, se considera que el mercado comienza a bajar.
Además, la estrategia utiliza el precio máximo de la volatilidad anual y el indicador de la fuerza relativa para determinar el momento de compra específico. La señal de compra se emite solo cuando el precio de cierre supera el precio máximo calculado por la volatilidad anual y el indicador de la fuerza relativa es positivo.
Para resolver el riesgo, se puede establecer un nivel de stop loss, o usar el múltiplo del indicador ATR como amplitud de stop loss. Además, los parámetros se pueden optimizar con una retroalimentación más rigurosa.
En general, esta estrategia es una estrategia de inversión en acciones más conservadora. Se utiliza una línea de doble par para determinar las tendencias principales y, en combinación con la volatilidad y la intensidad de los indicadores de entrada, se puede filtrar eficazmente las rupturas fraudulentas. La adición de una línea de par rápida también hace que el stop loss sea más rápido.
/*backtest
start: 2023-12-12 00:00:00
end: 2023-12-20 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=4
//Relative Strength
strategy("Stan my man", overlay=true)
comparativeTickerId = input("BTC_USDT:swap", title="Comparative Symbol")
l = input(50, type=input.integer, minval=1, title="Period")
baseSymbol = security(syminfo.tickerid, timeframe.period, close)
comparativeSymbol = security(comparativeTickerId, timeframe.period, close)
hline(0, color=color.black, linestyle=hline.style_dotted)
res = baseSymbol / baseSymbol[l] /(comparativeSymbol / comparativeSymbol[l]) - 1
plot(res, title="RS", color=#1155CC)
//volume ma
vol1 = sma(volume,20)
// 30 week ma
ema1 = ema(close, 150)
//consolidation
h1 = highest(high[1],365)
fastPeriod = input(title="Fast MA", type=input.integer, defval=50)
slowPeriod = input(title="Slow MA", type=input.integer, defval=150)
fastestperiod = input(title="Fastest MA", type=input.integer, defval=20)
fastEMA = ema(close, fastPeriod)
slowEMA = ema(close, slowPeriod)
fastestEMA = ema(close, fastestperiod)
monitorStrategy = close < close[20]
// trade conditions
buytradecondition1 = close >ema1 and res>0 and volume> 1.5*vol1 and close > h1
buytradecondition2 = close > fastEMA and volume> 1.5* vol1
selltradecondition1 = close< 0.95 * fastEMA
selltradecondition2 = close< 0.90 * open
if (buytradecondition1)
strategy.entry("long",strategy.long,alert_message ="Seems ready to Buy")
alert("Buy Alert Price (" + tostring(close) + ") crossed over Slow moving average",alert.freq_all)
if (buytradecondition2)
strategy.entry("long",strategy.long,alert_message ="Seems ready to Buy")
alert("Buy Alert Price (" + tostring(close) + ") crossed over fast moving average",alert.freq_all)
if (selltradecondition1)
strategy.close("long",alert_message ="Seems ready to Sell")
alert("Sell Alert Price (" + tostring(close) + ") crossed down fast moving average",alert.freq_all)
if (selltradecondition2)
strategy.close("long",alert_message ="Seems ready to Sell")
alert("Sell Alert Price (" + tostring(close) + ") crossed down 10% below open price ",alert.freq_all)
//alertcondition(buytradecondition1,title ="BuySignal", message ="Price Crossed Slow Moving EMA ")
plot(fastEMA, color=color.navy)
plot(slowEMA, color=color.fuchsia)
plot(fastestEMA, color=color.green)