
Diese Strategie basiert auf SMA-Indikatoren und baut eine einfache Multi-Horizon-Strategie auf. Wenn der Preis den 20-Zyklus-Hoch-SMA überschreitet, macht er einen Plus, wenn der Preis den 20-Zyklus-Low-SMA überschreitet, macht er einen Ausfall.
Die Strategie verwendet die höchsten und niedrigsten SMAs in 20 Zyklen als Indikator für eine hohe Marge. Wenn der Preis den höchsten SMA überschreitet, wird angenommen, dass er sich im Aufwärtstrend befindet.
Konkret berechnet die Strategie zunächst den SMA für den 20-Zyklus-Höchsten-Höchsten und den 20-Zyklus-Tiefsten-Tiefsten und zeichnet eine Kennlinie. Die Handelslogik ist wie folgt:
Mehrköpfige Eintrittskurse: Wenn der Schlusskurs den höchsten SMA erreicht Mehrköpfige Markteinführung: Schlusskurs unter dem 0,99-fachen des Highest SMA
Eintritt mit leerem Kopf: Wenn der Schlusskurs unter dem niedrigsten SMA liegt
Leerlauf: 1.01x niedrigster SMA bei Abschluss
Auf diese Weise entsteht eine Multifunktionsstrategie, die den Trends folgt.
Diese Strategie hat folgende Vorteile:
Die Strategie birgt auch Risiken:
Diese Risiken können in Kombination mit anderen Indikatoren, Stop-Loss-Einstellungen, Optimierungsparametern usw. kontrolliert und verringert werden.
Die Strategie kann auch in folgenden Bereichen optimiert werden:
Die Strategie ist klar und einfach zu implementieren. Durch SMA-Indikatoren kann man über leere Trends urteilen und einen vernünftigen Einstiegs- und Ausstiegsmechanismus einrichten.
/*backtest
start: 2023-11-14 00:00:00
end: 2023-11-21 00:00:00
period: 10m
basePeriod: 1m
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/
// © AlanAntony
//@version=4
strategy("ma 20 high-low",overlay=true)
//compute the indicators
smaH = sma(high, 20)
smaL = sma(low, 20)
//plot the indicators
plot(smaH,title="smaHigh", color=color.green, linewidth=2)
plot(smaL,title="smaLow", color=color.red, linewidth=2)
//trading logic
enterlong = crossover(close,smaH) //positive ema crossover
exitlong = crossunder(close,0.99*smaH) //exiting long
entershort = crossunder(close,smaL) //negative EMA Crossover
exitshort = crossover(close,1.01*smaH) //exiting shorts
notintrade = strategy.position_size<=0
bgcolor(notintrade ? color.red:color.green)
//execution logic
start = timestamp(2015,6,1,0,0)
//end = timestamp(2022,6,1,0,0)
if time >= start
strategy.entry( "long", strategy.long,1, when = enterlong)
strategy.entry( "short", strategy.short,1, when = entershort)
strategy.close("long", when = exitlong)
strategy.close("short", when = exitshort)
//if time >= end
// strategy.close_all()