Die Strategie zur Umkehrung des gleitenden Durchschnitts in Prozent erzeugt Handelssignale, indem die prozentuale Differenz zwischen Preis und gleitendem Durchschnitt berechnet wird.
Die Transaktionen werden durchgeführt, wenn die prozentuale Differenz zwischen Preis und MA ein vorgegebenes Niveau erreicht.
Insbesondere lautet die Logik:
Zum Beispiel bei N=14, Obergrenze=5%, untere Grenze=-3%:
Parameter N, obere/untere Grenzwerte können die Empfindlichkeit anpassen.
Die MA-Prozentsatzstrategie verwendet die prozentuale Lücke zwischen Preis und MA, um potenzielle Wendepunkte mit einem BREAK-Ansatz zu identifizieren. Anpassbare Parameter können sich an unterschiedliche Marktbedingungen anpassen, aber Verzögerungen und Whipsaws sind Risiken, die gemildert werden müssen.
/*backtest start: 2023-08-14 00:00:00 end: 2023-09-13 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=2 //////////////////////////////////////////////////////////// // Copyright by HPotter v1.0 30/07/2018 // Percent difference between price and MA // // You can change long to short in the Input Settings // WARNING: // - For purpose educate only // - This script to change bars colors. //////////////////////////////////////////////////////////// strategy(title="Percent difference between price and MA Backtest") Length = input(14, minval=1) SellZone = input(0.54, minval=0.01, step = 0.01) BuyZone = input(0.03, minval=0.01, step = 0.01) reverse = input(false, title="Trade reverse") hline(BuyZone, color=green, linestyle=line) hline(SellZone, color=red, linestyle=line) xSMA = sma(close, Length) nRes = abs(close - xSMA) * 100 / close pos = iff(nRes < BuyZone, 1, iff(nRes > SellZone, -1, nz(pos[1], 0))) possig = iff(reverse and pos == 1, -1, iff(reverse and pos == -1, 1, pos)) if (possig == 1) strategy.entry("Long", strategy.long) if (possig == -1) strategy.entry("Short", strategy.short) barcolor(possig == -1 ? red: possig == 1 ? green : blue ) plot(nRes, color=blue, title="PD MA")