
La estrategia MACD Valley Detector es una estrategia de negociación basada en el indicador MACD. La estrategia genera una señal de compra mediante la detección del fondo del indicador MACD. Cuando el indicador MACD forma un fondo del valle y el valor del MACD es menor que -0.4, y la diferencia entre el MACD y su línea de señal es menor que 0, la estrategia emite una señal de compra y al mismo tiempo establece un precio de parada.
El núcleo de la estrategia del MACD Valley Detector es el uso del indicador MACD para capturar oportunidades potenciales de reversión. El indicador MACD se obtiene a partir de la diferencia entre los dos indicadores Moving Averages (EMA), que reflejan los cambios en la dinámica de los precios. Cuando el indicador MACD forma el fondo del valle, indica que la movilidad descendente de los precios puede debilitarse y que existe la posibilidad de reversión.
La estrategia utiliza las siguientes condiciones para determinar el fondo del MACD:
Cuando las condiciones anteriores se cumplen simultáneamente, la estrategia considera que el fondo del valle MACD aparece y emite una señal de compra. Al mismo tiempo, la estrategia establece un precio de parada fijo, es decir, el precio de compra más una diferencia de precio fija (takeProfitValue).
La estrategia MACD Valley Detector es una estrategia de negociación basada en la detección del fondo del valle del indicador MACD. La estrategia trata de encontrar posibles oportunidades de reversión y realizar la compra capturando el fondo del indicador MACD. La estrategia utiliza múltiples condiciones para confirmar la señal y establece un precio de parada fijo.
/*backtest
start: 2024-03-12 00:00:00
end: 2024-04-11 00:00:00
period: 1h
basePeriod: 15m
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/
// © freditansari
//@version=5
//@version=5
strategy("MACD Valley Detector", overlay=true)
fastLength = input(12)
slowlength = input(26)
MACDLength = input(9)
MACD = ta.ema(close, fastLength) - ta.ema(close, slowlength)
aMACD = ta.ema(MACD, MACDLength)
delta = MACD - aMACD
rsi = ta.rsi(close, 14)
atr = ta.atr(14)
qty=1
takeProfitValue =7
// stopLossValue = 1
// close[0] < close[1] and close[1] > close[2]
is_valley= delta[0] > delta[1] and delta[1]<delta[2]? 1:0
// plot(is_valley , "valley?")
if(is_valley==1 and MACD<=-0.4 and delta <0)
takeProfit = close +takeProfitValue
action = "buy"
// strategy.entry("long", strategy.long, qty=qty)
// // strategy.exit("exit", "long", stop=stopLoss, limit=takeProfit)
// strategy.exit("exit", "long", limit=takeProfit)
alert('{"TICKER":"'+syminfo.ticker+'","ACTION":"'+action+'","PRICE":"'+str.tostring(close)+'","TAKEPROFIT":"'+str.tostring(takeProfit)+'","QTY":"'+str.tostring(qty)+'"}')
if (ta.crossover(delta, 0))
stopLoss = low -0.3
takeProfit = high +0.3
strategy.entry("MacdLE", strategy.long,qty=qty, comment="MacdLE")
strategy.exit("exit long", "MacdLE", limit=takeProfit)
// strategy.exit("exit long", "MacdLE", stop=stopLoss, limit=takeProfit)
if (ta.crossunder(delta, 0))
stopLoss = high + 0.3
takeProfit = low - 0.3
strategy.entry("MacdSE", strategy.short,qty=qty, comment="MacdSE")
strategy.exit("exit long", "MacdLE", limit=takeProfit)
// strategy.exit("exit short", "MacdSE", stop=stopLoss, limit=takeProfit)
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)