Diese Strategie erzeugt Handelssignale basierend auf dem Adaptive Indicator for Moving Averages (AIOMA) und dem gewichteten gleitenden Durchschnitt (WMA).
AIOMA-WMA Adaptive Crossover-Strategie
Die Strategie umfaßt folgende Hauptbestandteile:
Berechnung des AIOMA-Indikators
Berechnung des WMA-Indikators
Erzeugung von Signalen
Handelslogik
Kann Risiken durch Parameteroptimierung, Hinzufügen von Stop Loss, Filtern mit anderen Indikatoren usw. reduzieren.
Diese Strategie kombiniert die Stärken von AIOMA und WMA, indem Crossovers zur Erzeugung von Handelssignalen verwendet werden. Im Vergleich zu einzelnen gleitenden Durchschnitten verbessert sie die Signalqualität. Weitere Verbesserungen wie Parameteroptimierung, Stop-Loss-Strategien, Volatilitätsfilterung usw. können es zu einem robusten Handelssystem machen.
/*backtest start: 2023-12-01 00:00:00 end: 2023-12-31 23:59:59 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ // This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ // © SDTA //@version=5 strategy("AIOMA-WMA Strategy", overlay=true) // Parametreler aioma_length = input(14, "AIOMA Length") wma_length = input(21, "WMA Length") // AIOMA hesaplama length1 = aioma_length ema1 = ta.ema(close, length1) length2 = aioma_length ema2 = ta.ema(ema1, length2) length3 = aioma_length ema3 = ta.ema(ema2, length3) length4 = aioma_length ema4 = ta.ema(ema3, length4) aioma = ta.ema(ema4, aioma_length) // WMA hesaplama wma = ta.wma(close, wma_length) // Kesişim kontrolü cross_up = ta.crossover(wma, aioma) cross_down = ta.crossunder(wma, aioma) // İşlem fonksiyonu enterTrade(dir, price, signalText, color) => if dir strategy.entry("Enter", strategy.long) label.new(x = bar_index, y = price, text = signalText, color = color, textcolor = color, style = label.style_label_up, size = size.small, tooltip = "Entry Signal") else if not dir strategy.entry("Exit", strategy.short) label.new(x = bar_index, y = price, text = signalText, color = color, textcolor = color, style = label.style_label_down, size = size.small, tooltip = "Exit Signal") // Long pozisyon girişi if cross_up enterTrade(true, low, "Buy Signal", color.green) // Short pozisyon girişi if cross_down enterTrade(false, high, "Sell Signal", color.red) // Pozisyon kapatma if cross_up and strategy.position_size > 0 strategy.close("Enter") if cross_down and strategy.position_size < 0 strategy.close("Exit") // Grafiğe plot plot(aioma, color=color.blue, linewidth=2, title="AIOMA") plot(wma, color=color.red, linewidth=2, title="WMA")