
La estrategia de la Santa Cruz es una estrategia de comercio cuantitativa que combina el sistema de doble línea recta y el indicador ADX. Su objetivo es identificar la dirección y la intensidad de la tendencia y negociar cuando la tendencia se invierte.
La estrategia utiliza al mismo tiempo el promedio móvil de 20 días (EMA) y el indicador ADX para identificar el momento de entrada. En concreto, emite una señal de negociación en dos casos:
Hacer más cuando el ADX está por debajo de 30 (indicando una tendencia débil) y el precio rompe el EMA de 20 días desde abajo;
Cuando el ADX está por encima de 30 (indicando una fuerte tendencia) y el precio rompe la EMA de 20 días desde arriba, haga un shorting.
Se puede ver que la estrategia depende de la fuerza y la dirección de la tendencia en el ADX, y luego se combina con la resistencia de soporte de las medias móviles para buscar oportunidades de reversión.
La mayor ventaja de la estrategia de la Cruz Sagrada es que considera la dirección y la intensidad de la tendencia al mismo tiempo, lo que permite evitar eficazmente los brechas falsas y, por lo tanto, reducir la probabilidad de pérdidas. En concreto, la estrategia tiene las siguientes ventajas:
La estrategia de la Santa Cruz también tiene algunos riesgos, que se centran en:
Para reducir los riesgos mencionados anteriormente, se puede ajustar la combinación de parámetros para obtener el mejor resultado, o se puede establecer un stop loss para controlar las pérdidas individuales. Además, es necesario que la estrategia se realice en diferentes variedades y períodos.
La estrategia de la Santa Cruz también tiene muchas mejoras:
Ajustar los parámetros o agregar nuevos indicadores puede aumentar la rentabilidad o la probabilidad de ganar una estrategia. Sin embargo, cualquier optimización requiere suficiente retroalimentación para garantizar su solidez.
En general, la estrategia de la Santa Cruz combina las ventajas de la doble línea de paridad y el indicador ADX con el uso de reglas de negociación claras para capturar los giros de tendencia. Se espera que tenga buenos resultados. Sin embargo, los comerciantes aún necesitan optimizar la combinación de parámetros y las reglas de stop loss para adaptarse a diferentes entornos de mercado. Además, no importa cómo se mejore, no se puede evitar por completo el stop loss, que es la dificultad que enfrenta cada estrategia de negociación.
/*backtest
start: 2022-11-24 00:00:00
end: 2023-11-30 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("LAT Holy Grail v3", overlay=true)
/////////////TEST TIME ////////////////////////
testStartYear = input(2018, "Backtest Start Year")
testStartMonth = input(4, "Backtest Start Month")
testStartDay = input(15, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)
testStopYear = input(2018, "Backtest Stop Year")
testStopMonth = input(5, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)
// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FF00 : na
bgcolor(testPeriodBackgroundColor, transp=97)
testPeriod() =>
time >= testPeriodStart and time <= testPeriodStop ? true : false
//////////////////////////////////////////////////////////////////////
myema= ema(close, 20)
plot(myema, color=green, title="eMA", linewidth=3)
//longCondition = (crossover(close, myema)) //and adx3 < target
//if (longCondition)
//strategy.entry("My Long Entry Id", strategy.long)
//shortCondition = (crossunder(close, myema)) //and adx3 > target
//if (shortCondition)
//strategy.entry("My Short Entry Id", strategy.short)
//////////////////////////////////////////////////////////
/////////////////////////////////////// DMI ///////////////////////////////////////////////
len3 = input(14, minval=1, title="DI Length") /////////////////////
lensig3 = input(14, title="ADX Smoothing", minval=1, maxval=50) ////////////////////
up3 = change(high) ///////////////////
down3 = -change(low) //////////////////
plusDM3 = na(up3) ? na : (up3 > down3 and up3 > 0 ? up3 : 0) /////////////////
minusDM3 = na(down3) ? na : (down3 > up3 and down3 > 0 ? down3 : 0) ////////////////
trur3 = rma(tr, len3) ///////////////
plus3 = fixnan(100 * rma(plusDM3, len3) / trur3) //////////////
minus3 = fixnan(100 * rma(minusDM3, len3) / trur3) /////////////
sum3 = plus3 + minus3 ////////////
adx3 = 100 * rma(abs(plus3 - minus3) / (sum3 == 0 ? 1 : sum3), lensig3) ///////////
//plot(plus3, color=green, style=circles, linewidth=2, title="+DI") //////////
//plot(minus3, color=red, style=circles, linewidth=2, title="-DI") /////////
plot(adx3, color=aqua, style=line, linewidth=3, title="ADX") ////////
target = input(30, title=" ADX Target Line") ///////
plot(target, color=yellow, title="ADX Target Line") //////
/////////////////////////////////////////////////////////////////////////////////////////////////
plot(hl2)
/////////////////////////////////////////////// eMA SIGNAL LINE ///////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////// HOLY GRAIL STRATEGY ///////////////////////////////////////////////////////////////////
if (adx3 <= target) and crossover(close, myema)
strategy.entry("HolyGrail", strategy.long, comment="Long")
if (adx3 >= target) and crossunder(close, myema)
strategy.entry("HolyGrail", strategy.short, comment="Short")