
この戦略は,ダブルインデックス移動平均 ((EMA) ネットワークに基づく革新的なトレンド検出システムである.この戦略は,価格動向の多次元特性を分析し,多空力対比をリアルタイムで計算することで,市場のトレンドの変化と持続性を識別する.この戦略の最大の特徴は,市場状況の動向に応じて信号の強さを調整する自主性である.
戦略の核心原則は,複雑なEMA包囲ネットワーク計算によって市場の多空力を測定することです.具体的には:
これは,科学的な計算方法に基づいたトレンド追跡戦略であり,先進的な技術指標設計と厳格なリスク管理により,市場動向を効果的に捕捉することが可能である.戦略の核心的な優位性は,合理的なパラメータ最適化とリスク管理により,異なる市場環境で安定したパフォーマンスを保持できるという自己適応性と信頼性にある.
/*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)