Durchschnittliche Umkehrtrend nach Strategie

Schriftsteller:ChaoZhang, Datum: 2024-02-01 10:55:30
Tags:

img

Übersicht

Diese Strategie erzeugt Kauf- und Verkaufssignale durch Kombination eines gleitenden Durchschnittsindikators und eines Markterleichterungsindex.

Grundsätze

Die Strategie verwendet zwei Indikatoren für die Signalgenerierung. Der erste ist der gleitende Durchschnittsindikator, speziell die Kombination aus schneller Linie und langsamer Linie des Stochastischen Oszillators. Er erzeugt ein Verkaufssignal, wenn der Preis zwei aufeinanderfolgende Tage schließt und die schnelle Linie über der langsamen Linie liegt. Er erzeugt ein Kaufsignal, wenn der Preis zwei aufeinanderfolgende Tage schließt und die schnelle Linie unter der langsamen Linie liegt. Durch die Überwachung der Preisumkehrung und der Beziehung zwischen der schnellen Linie und der langsamen Linie zielt er darauf ab, potenzielle Wendepunkte des Preistrends vorherzusagen.

Der zweite Indikator ist der Markterleichterungsindex. Er misst die Effizienz der Preisbewegung, indem er das Verhältnis zwischen Preisspanne und Volumen berechnet. Wenn der Index steigt, zeigt er eine Verbesserung der Marktliquidität und eine höhere Betriebseffizienz an, was einen Trendmarkt signalisiert. Wenn der Index sinkt, zeigt er eine Verschlechterung der Liquidität und eine Abnahme der Effizienz, was auf einen potenziellen seitwärts verlaufenden Markt oder eine Trendumkehr hindeutet.

Diese Strategie erzeugt tatsächliche Kauf- und Verkaufsbestellungen, wenn beide Indikatoren gleichzeitig einheitliche Handelssignale ausgeben.

Vorteile

  • Verbesserte Signalgenauigkeit durch Anforderung einer Bestätigung durch zwei Indikatoren und Vermeidung falscher Signale
  • Die Kombination von Mittelumkehrindikator und Trendbeurteilungsindikator trägt dazu bei, den Handel gegen einen großen Trend zu vermeiden
  • Verringerte Notwendigkeit häufiger Parameter-Ausrichtung und weniger manuelle Eingriffe

Risiken und Lösungen

  • Schwierig, umgekehrte Chancen zu nutzen, wenn ein längerer einseitiger Auf- oder Abwärtstrend stattfindet, nicht in der Lage, in den Markt einzusteigen

  • Kann die Parameter des mittleren Reversionsindikators entspannen, um die Chancen auf Kauf- und Verkaufssignale zu erhöhen

  • Kann auch die Position Größe zu skalieren, um den Trend zu fahren, um Gewinne zu kompensieren

  • Ungenaue Umkehrsignale können die Strategie ungültig machen

  • Kann Parameter optimieren oder Signalbestätigungsstufen hinzufügen, um falsche Signale auszufiltern

Verbesserungsbereiche

  • Testen Sie mehr Parameterkombinationen, um optimale Einstellungen zu finden
  • Erforschen Sie mehr Indikatoren für die Mittelumkehrung, bewerten Sie die Leistung verschiedener Indikatoren
  • Einführung von Stop Loss zur Begrenzung von Einzelverlusten
  • Einbeziehung von maschinellen Lernmodellen, die auf Big Data trainiert wurden, um genauere Umkehrsignale zu erzeugen

Zusammenfassung

Diese Strategie kombiniert einen mittleren Umkehrindikator und einen Trendbeurteilungsindikator, der in den Markt eintritt, wenn ein Umkehrsignal auftaucht, während die Haupttrendrichtung respektiert wird. Die Verwendung von Dual-Indikator-Bestätigung eliminiert effektiv falsche Signale. Obwohl Risiken bei längeren einseitigen Trends und falschen Umkehrsignalen bestehen, können weitere Optimierungen über Parameter-Tuning, Stop-Loss, Indikator-Upgrades und Maschinelles Lernen durchgeführt werden Modelle.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 02/02/2021
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The Market Facilitation Index is an indicator that relates price range to 
// volume and measures the efficency of price movement. Use the indicator to 
// determine if the market is trending. If the Market Facilitation Index increased, 
// then the market is facilitating trade and is more efficient, implying that the 
// market is trending. If the Market Facilitation Index decreased, then the market 
// is becoming less efficient, which may indicate a trading range is developing that 
// may be a trend reversal.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos


MFI(BuyZone,SellZone) =>
    pos = 0.0
    xmyVol = volume
    xmyhigh = high
    xmylow = low
    nRes = (xmyhigh - xmylow) / xmyVol * 10000
    pos := iff(nRes > BuyZone, 1,
             iff(nRes < SellZone, -1, nz(pos[1], 0)))
    pos

strategy(title="Combo Backtest 123 Reversal & Market Facilitation Index", shorttitle="Combo", overlay = true)
line1 = input(true, "---- 123 Reversal ----")
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
line2 = input(true, "---- MFI ----")
SellZone = input(6.2, minval=0.01, step = 0.01)
BuyZone = input(1, minval=0.01, step = 0.01)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMFI = MFI(BuyZone,SellZone)
pos = iff(posReversal123 == 1 and posMFI == 1 , 1,
	   iff(posReversal123 == -1 and posMFI == -1, -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)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

Mehr