
Die Triple Line-Cross-Strategie verwendet die Kreuzung von Moving Averages in verschiedenen Zeiträumen als Kauf- und Verkaufssignal und gehört zu den Trend-Tracking-Strategien. Die Strategie verwendet drei Moving Averages, darunter einen kurzfristigen Moving Average, einen mittleren Moving Average und einen langfristigen Moving Average, um ein Handelssignal zu erzeugen.
Die Strategie berechnet zunächst einen kurzfristigen Moving Average (default 7 Tage), einen mittleren Moving Average (default 25 Tage) und einen langfristigen Moving Average (default 99 Tage) und erzeugt dann ein Handelssignal nach folgenden Regeln:
Ein Kaufsignal wird erzeugt, wenn der kurzfristige Moving Average den mittleren Moving Average überschreitet.
Ein Verkaufssignal wird erzeugt, wenn der kurzfristige Moving Average unter dem mittleren Moving Average durchbricht.
Ein schnelles Kaufsignal wird erzeugt, wenn der kurzfristige Moving Average über den langfristigen Moving Average überschritten wird.
Wenn der kurzfristige Moving Average unter dem langfristigen Moving Average liegt, wird ein schnelles Verkaufssignal erzeugt.
Die Strategie geht davon aus, dass ein Überschreiten des mittleren Moving Averages über den kurzfristigen Moving Average eine Trendwende in Richtung Aufwärts bewirkt und somit ein Kaufsignal erzeugt. Ein Überschreiten des mittleren Moving Averages unter dem kurzfristigen Moving Average bewirkt eine Trendwende in Richtung Abwärts und somit ein Verkaufssignal. Ebenso erzeugt ein Überschreiten des kurzfristigen Moving Averages mit dem langfristigen Moving Average ein schnelles Handelssignal, um die Trendänderungen der längeren Linie zu erfassen.
Die falschen Signale können reduziert werden, indem die Moving Average-Periode entsprechend angepasst oder die Filterbedingungen hinzugefügt werden. Es kann auch geeignet sein, die schnellen Handelszyklen zu verkürzen und die Handelsfrequenz zu reduzieren.
Die Triple-Even-Cross-Strategie ist im Allgemeinen relativ einfach und direkt, indem sie die Richtung des Trends durch die Kreuzung von Evenlinien in verschiedenen Zeiträumen bestimmt, um ein Handelssignal zu erzeugen. Die Strategie ist einfach zu implementieren, die Parameter sind flexibel zu justieren und die Veränderungen des Trends zu erfassen. Aber es gibt auch Probleme mit der Verzögerung des Moving Averages und die Gefahr von zu vielen Falschsignalen.
/*backtest
start: 2023-10-06 00:00:00
end: 2023-11-05 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © dadashkadir
//@version=4
strategy("Üç Hareketli Ortalama Str.", overlay=true, initial_capital=10000, commission_value=0.047, default_qty_type=strategy.percent_of_equity, default_qty_value=100, pyramiding=0, calc_on_order_fills=true)
kisa = input(title = "Kısa Vade - Gün", defval = 7, minval = 1)
orta = input(title = "Orta Vade - Gün", defval = 25, minval = 1)
uzun = input(title = "Uzun Vade - Gün", defval = 99, minval = 1)
sma7 = sma(close, kisa)
sma25 = sma(close, orta)
sma99 = sma(close, uzun)
alTrend = plot (sma7, color=#2323F1, linewidth=2, title="Har.Ort. Kısa Vade", transp=0)
satTrend = plot (sma25, color=#FF0C00, linewidth=3, title="Har.Ort. Orta Vade", transp=0)
ort99 = plot (sma99, color=#DFB001, linewidth=3, title="Har.Ort. Uzun Vade", transp=0)
zamanaralik = input (2020, title="Backtest Başlangıç Tarihi")
al = crossover (sma7, sma25) and zamanaralik <= year
sat = crossover (sma25, sma7) and zamanaralik <= year
hizlial = crossover (sma7, sma99) and zamanaralik <= year
hizlisat = crossover (sma99, sma7) and zamanaralik <= year
alkosul = sma7 >= sma25
satkosul = sma25 >= sma7
hizlialkosul = sma7 >= sma99
hizlisatkosul = sma99 >= sma7
plotshape(al, title = "Buy", text = 'Al', style = shape.labelup, location = location.belowbar, color= color.green, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(sat, title = "Sell", text = 'Sat', style = shape.labeldown, location = location.abovebar, color= color.red, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(hizlial, title = "Hızlı Al", text = 'Hızlı Al', style = shape.labelup, location = location.belowbar, color= color.blue, textcolor = color.white, transp = 0, size = size.tiny)
plotshape(hizlisat, title = "Hızlı Sat", text = 'Hızlı Sat', style = shape.labeldown, location = location.abovebar, color= #6106D6 , textcolor = color.white, transp = 0, size = size.tiny)
fill (alTrend, satTrend, color = sma7 >= sma25? #4DFF00 : #FF0C00, transp=80, title="Al-Sat Aralığı")
//fill (ort99, satTrend, color = sma7 >= sma25? #6106D6 : color.blue, transp=80, title="Hızlı Al-Sat Aralığı")
if (al)
strategy.entry("LONG", strategy.long)
if (sat)
strategy.entry("SHORT", strategy.short)
//if (hizlial)
// strategy.entry("My Short Entry Id", strategy.long)
//if (hizlisat)
// strategy.entry("My Short Entry Id", strategy.short)