
La estrategia es un innovador sistema de detección de tendencias, basado en el doble índice de las medias móviles ((EMA) enlazado método de cálculo. Se utiliza para identificar el cambio y la continuidad de las tendencias del mercado mediante el análisis de las características multidimensionales de la movilidad de los precios, en tiempo real, para calcular el contraste de fuerza multiespacial. La mayor característica de la estrategia es su adaptabilidad, la capacidad de ajustar la intensidad de la señal en función de la situación dinámica del mercado.
El principio central de la estrategia es medir la fuerza de la volatilidad del mercado a través de complejos cálculos de la red de la EMA. En concreto:
Se trata de una estrategia de seguimiento de tendencias basada en métodos de cálculo científico, que captura eficazmente las tendencias del mercado a través de un diseño avanzado de indicadores técnicos y un control estricto de los riesgos. La ventaja central de la estrategia reside en su adaptabilidad y fiabilidad, y la capacidad de mantener un rendimiento estable en diferentes entornos de mercado a través de una optimización razonable de los parámetros y la gestión del riesgo.
/*backtest
start: 2024-02-19 00:00:00
end: 2024-11-14 08:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This work is licensed under a Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
// https://creativecommons.org/licenses/by-nc-sa/4.0/
// © alexgrover
//
// Original post:
// https://alpaca.markets/learn/andean-oscillator-a-new-technical-indicator-based-on-an-online-algorithm-for-trend-analysis/
//@version=5
strategy(title="Andean Oscillator [Strategy]",
shorttitle="AndeanOsc_Strategy",
overlay=false, // Zobraziť sa môže v samostatnom okne
initial_capital=10000, // Počiatočný kapitál
default_qty_type=strategy.percent_of_equity,
default_qty_value=100, // Použiť 100% z účtu na jeden obchod
pyramiding=0) // Nenavyšovať pozície
//------------------------------------------------------------------------------
//Inputs
//------------------------------------------------------------------------------
length = input.int(50, "Length")
sig_length = input.int(9, "Signal Length")
//------------------------------------------------------------------------------
//Výpočet Andean Oscillatora
//------------------------------------------------------------------------------
var float alpha = 2.0 / (length + 1)
// Premenné musia byť deklarované ako `var` pre zachovanie stavu
var float up1 = 0.
var float up2 = 0.
var float dn1 = 0.
var float dn2 = 0.
C = close
O = open
// Výpočet EMA obálok
up1 := nz(math.max(C, O, up1[1] - (up1[1] - C) * alpha), C)
up2 := nz(math.max(C * C, O * O, up2[1] - (up2[1] - C * C) * alpha), C * C)
dn1 := nz(math.min(C, O, dn1[1] + (C - dn1[1]) * alpha), C)
dn2 := nz(math.min(C * C, O * O, dn2[1] + (C * C - dn2[1]) * alpha), C * C)
// Býčia zložka a medvedia zložka
bull = math.sqrt(dn2 - dn1 * dn1)
bear = math.sqrt(up2 - up1 * up1)
// Signál = EMA z max(bull, bear)
signal = ta.ema(math.max(bull, bear), sig_length)
//------------------------------------------------------------------------------
//Jednoduchá LOGIKA STRATÉGIE (iba demonštrácia)
//------------------------------------------------------------------------------
// Príklad:
// - Ak je bull > bear, vstúpime do long (býčia sila väčšia ako medvedia)
// - Ak je bear > bull, vstúpime do short (medvedia sila väčšia ako býčia)
//
// S pyramiding=0 sa otvorí vždy iba jedna pozícia – ak príde opačný signál,
// TradingView zatvorí starú a otvorí novú.
if bull > bear
strategy.entry("Long", strategy.long, comment="Bull > Bear")
if bear > bull
strategy.entry("Short", strategy.short, comment="Bear > Bull")
//------------------------------------------------------------------------------
// Plotovanie (na posúdenie v samostatnom paneli)
//------------------------------------------------------------------------------
plot(bull, "Bullish Component", color=#089981)
plot(bear, "Bearish Component", color=#f23645)
plot(signal, "Signal", color=#ff9800)