Handelsstrategie mit doppelten gleitenden Durchschnitten

Schriftsteller:ChaoZhang, Datum: 2024-02-18 15:11:04
Tags:

img

Übersicht

Diese Strategie erzeugt Handelssignale, indem sie doppelte gleitende Durchschnitte verwendet. Sie sendet Kaufsignale, wenn der kurzfristige gleitende Durchschnitt über den langfristigen gleitenden Durchschnitt überschreitet, und Verkaufssignale, wenn das Gegenteil geschieht. Diese Strategie kombiniert die Trendverfolgungsfähigkeit von gleitenden Durchschnitten, um Preistrends effektiv zu erfassen und Trendhandel umzusetzen.

Strategie Logik

Diese Strategie nutzt zwei exponentielle gleitende Durchschnitte (EMA) mit unterschiedlichen Perioden. EMA1 ist der kurzfristige MA mit einer Periode von 9, während EMA2 der langfristige MA mit der Periode von 21 ist. Die Strategie erzeugt Kaufsignale, wenn der EMA1 über den EMA2 überschreitet, und Verkaufssignale, wenn er darunter überschreitet.

Dabei nutzt die Strategie die Trend-Tracking-Fähigkeit von gleitenden Durchschnitten, um Signale zu erfassen, wenn der Preis eine neue Trendrichtung beginnt. Zum Beispiel, wenn der Preis von einem Fall aufspringt, würde der kurzfristige MA früher ansteigen als der langfristige MA. Die oben generierte Kreuzung erzeugt ein frühes Signal, dass der Aufwärtstrend beginnt.

Vorteile

Die größte Stärke dieser Strategie liegt in ihrer Fähigkeit, Preistrends effektiv zu identifizieren, insbesondere für Märkte mit starken Trendtrends.

Nachteile

Das größte Risiko besteht darin, dass bei dramatischen Kursschwankungen die Verzögerung bei den MAs dazu führen kann, dass die besten Einstiegs- oder Ausstiegspunkte fehlen.

Um die Risiken zu verringern, können Parameter wie MA-Perioden entsprechend angepasst oder zusätzliche Filter hinzugefügt werden.

Erweiterung

Der Optimierungsraum besteht hauptsächlich in folgenden Aspekten:

  1. Optimierung der MA-Periodenparameter, um die optimale Kombination zu finden
  2. Zusätzliche Indikatoren als Filter zur Verbesserung der Signalzuverlässigkeit
  3. Anpassungsparameter gemäß verschiedenen Produkten und Marktregelungen einstellen
  4. Kombination von Volumenindikatoren zur Bestimmung genauer Einstiegspunkte
  5. Optimierung der Stop-Loss-Mechanismen

Zusammenfassung

Diese Strategie erzeugt Signale durch doppelte exponentielle gleitende Durchschnitte, mit einer starken Preis-Trend-Tracking-Fähigkeit, um Trendumkehrungen zu erkennen.


/*backtest
start: 2024-01-18 00:00:00
end: 2024-02-17 00:00:00
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/
// © technicalTruff99446

//@version=4
strategy("AhmetMSA", overlay=true, initial_capital = 10000, commission_value = 0.002, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, pyramiding = 0, calc_on_order_fills = true)
//2. DEĞERDEN SONRA GEÇMİŞ HESAPLAMA DEĞERİ, KOMİSYON ORANI, PARANIN TAMAMI, DEĞERLERİ EKLEMDİ

emaShPD = input (title="EMA KISA PERİYOT", defval=9, minval=1)
emaLngPD = input (title="EMA UZUN PERİYOT", defval=21, minval=1)

//input   DEĞİŞKEN DEĞER ATAMA

ema1 = ema (close,emaShPD)
ema2 = ema (close,emaLngPD)

//EMALAR ARASINI BOYAMA upTrend downTrend
upTrend   = plot (ema1, color=#4DFF00, linewidth=2, title= "EMA KISA", transp=0)
downTrend = plot (ema2, color=#FF0C00, linewidth=3, title= "EMA UZUN", transp=0)
//linewidth ÇİZGİ KALINLIĞI
//title     İSİM VERME

//BACKTESTİN BAŞLANGIÇ TARİHİNİ BELİRLEME
yearin = input(2024, title = "Backtest Başlangıç Tarihi")
//longCondition = crossover(ema1, ema2)
//shortCondition = crossover(ema2, ema1)
buy = crossover(ema1, ema2) and yearin >= year
sell = crossover(ema2, ema1) and yearin >= year
//ta.crossunder  KESİŞİM KODU

//Barları BOYAMA
barbuy  = ema1 >= ema2
barsell = ema2 <  ema1




//AL SAT AŞK KUTUCUKLU EKRANA YAZMA
plotshape(buy, title = "AL AŞK", text = 'AL AŞK', style = shape.labelup, location = location.belowbar, color= color.green,   textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sell, title = "SAT AŞK", text = 'SAT AŞK', style = shape.labeldown, location = location.abovebar, color= color.red,   textcolor = color.white, transp = 0, size = size.tiny)

//Barları BOYAMA KOŞULU
barcolor(barbuy? #4DFF00: barsell? #FF0C00: #FF0C00)


fill(upTrend, downTrend, color = ema1 >= ema2?#4DFF00 : #FF0C00, transp = 80, title = "bgcolor")

//longCondition = ta.crossover(ta.sma(close, 14), ta.sma(close, 28))
//shortCondition = ta.crossunder(ta.sma(close, 14), ta.sma(close, 28))
//14 GÜNLÜĞÜN KAPANIŞDEĞERİNİN 28 GÜNLÜK KAPANIŞ DEĞERİNİ KESMESİ KOŞULU



if (buy)
    strategy.entry("AL AŞK", strategy.long)


if (sell)
    strategy.entry("SAT AŞK", strategy.short)


Mehr