
Die Strategie basiert auf der Adaptive Moving Average (AIOMA) und der Gewichtung von Moving Average (WMA) um Handelssignale zu realisieren. Sie erzeugt Kauf- und Verkaufssignale durch die Kreuzung von AIOMA und WMA.
AIOMA-WMA-Kreuzungsstrategie für Anpassung
Die Strategie besteht hauptsächlich aus folgenden Teilen:
Berechnung des AIOMA-Index
Berechnung des WMA-Index
Handelssignale erzeugt
Transaktionslogik
Das Risiko kann durch geeignete Optimierungsparameter, die Einstellung von Stop-Loss-Punkten oder die Filterung in Kombination mit anderen Indikatoren verringert werden.
Die Strategie integriert die Vorteile der beiden Indikatoren AIOMA und WMA und erzeugt Handelssignale durch Kreuzung. Die Signalqualität kann im Vergleich zum einzelnen Moving Average verbessert werden. Durch Parameteroptimierung, Stop-Loss-Strategie und Volatilitätsfilterung kann es zu einem stabilen und zuverlässigen Handelssystem werden.
/*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")