Doppelter gleitender Durchschnittspreisdurchbruch und Long-Short-Machtgleichgewicht-Kombinationsstrategie


Erstellungsdatum: 2024-01-08 17:09:48 zuletzt geändert: 2024-01-08 17:09:48
Kopie: 3 Klicks: 635
1
konzentrieren Sie sich auf
1617
Anhänger

Doppelter gleitender Durchschnittspreisdurchbruch und Long-Short-Machtgleichgewicht-Kombinationsstrategie

Überblick

Diese Strategie verwendet zunächst den Index-Moving-Average der Perioden 2 und 20, um einen doppelten Gleichgewichtsindikator zu erstellen, um zu beurteilen, ob der Preis die Mittellinie durchbrochen hat, als grundlegendes Urteil in der Einstiegsphase. Gleichzeitig unterstützt die Urteilsanzeige den Ponto-Hochdruck-Gleichgewichtsindikator, um die relativen Kräfte von Ponto- und Hohlkopf weiter zu identifizieren und Fehlverhalten zu filtern.

Strategieprinzip

  1. 220 Durchschnitt

    • Berechnung des Index-Moving-Averages (EMA) für die Perioden 2 und 20
    • Wenn der Schlusskurs von einer Seite der Mittellinie auf die andere Seite übergeht, wird ein Handelssignal ausgesendet
    • Ein Durchschnittswert von über 20 ist ein Signal für eine Trendbestimmung.
    • Durchschnittslinie 2 ist ein Signal zur Bestimmung des Eintrittspunkts
  2. Indikatoren für die Luftwaffenkräfteverteilung

    • Berechnung der Mehrkopfkraft und der Leerkopfkraft
    • Der Vergleich der beiden Größen zeigt, dass die Luftwaffe relativ schwach ist.
    • Stärkere Ausrichtung als Hilfsentscheidung beim Einstieg
  3. Zusammenfassung der beiden Indikatoren

    • Der Doppel-Gleichgewichts-Indikator beurteilt die Richtung der großen Trends.
    • Mehrraumkräftevergleichs-Indikatoren für lokale regionale Beurteilungen
    • Wenn die Ergebnisse übereinstimmen, gibt es ein Handelssignal.

Analyse der Stärken

Der größte Vorteil dieser Kombinationsstrategie liegt in der Kombination verschiedener Indizes, um zuverlässigere Handelsentscheidungen zu treffen. Insbesondere gibt es folgende Vorteile:

  1. Nutzen Sie die Gleichgewichtslinie, um eine große Richtung zu bestimmen und vermeiden Sie die lokalen Schwindelbetrügereien
  2. Mit Hilfe von Multi-Air Force Balance Indicators für lokale regionale Beurteilung und genaue Kenntnisse über die Eintrittspunkte
  3. Beide Indikatoren bestätigen sich gegenseitig und filtern bestimmte Fehlverhaltensweisen aus, wodurch das Handelsrisiko verringert wird.
  4. Die Parameter sind flexibel eingestellt und können für verschiedene Marktarten optimiert werden
  5. Die Strategie ist einfach, klar und verständlich, um Optimierung zu ermöglichen

Risikoanalyse

Es gibt einige Risiken bei dieser Strategie, die zu beachten sind:

  1. Die Verzögerung des Signals des Indikators kann dazu führen, dass der Stop-Loss-Punkt zu tief ist
  2. Doppel-Even-Linien-Indikatoren sind empfindlicher für Parameter-Einstellungen
  3. Der Multiplex-Gleichgewichtsindikator ist etwas schlechter bei der Beurteilung von kurzfristigen Entwicklungen
  4. Unter besonderen Umständen (häufige Falschmeldungen bei Durchbrüchen) kann es zu Verzerrungen bei den beiden Indikatoren kommen.

Gegenmaßnahmen:

  1. Eine angemessene Verkürzung der Haltungsdauer oder ein geeigneter Bewegungsstop
  2. Verschiedene Parameterkombinationen testen, um die optimale Parameter zu finden
  3. Zusätzliche Indikatoren zur Bestätigung
  4. Optimierungsparameter nach Sorteigenschaften

Optimierungsrichtung

Diese Strategie kann in folgenden Bereichen optimiert werden:

  1. Test mehr Kombinationen von Mittellinienparametern
  2. Erhöhung der Stop-Loss-Strategie und Kontrolle des Einzelschutzes
  3. Verbesserte Anpassungsfähigkeit der Parameter in Kombination mit der Volatilitätsindikator
  4. Erweiterung der Maschinellehrmodelle und Optimierung der dynamischen Parameter
  5. Versuchen Sie es mit einem anderen Trend-Indikator als mit einem Multi-Grid-Balance-Indikator
  6. Entwicklung einer visuellen Oberfläche, die es Benutzern ermöglicht, verschiedene Parameter zu testen

Zusammenfassen

Die Strategie beurteilt die Trends anhand von zwei Gleichgewichtsindikatoren und unterstützt die Eintrittszeit anhand von Multi-Bereich-Kraft-Gleichgewichtsindikatoren. Beide Indikatoren werden gegenseitig verifiziert und können die Wahrscheinlichkeit von Fehlhandlungen wirksam reduzieren. Die Strategieparameter werden flexibel ausgewählt und können für verschiedene Sorten optimiert werden.

Strategiequellcode
/*backtest
start: 2023-01-01 00:00:00
end: 2024-01-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/05/2022
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This indicator plots 2/20 exponential moving average. For the Mov 
// Avg X 2/20 Indicator, the EMA bar will be painted when the Alert criteria is met.
//
// Second strategy
//    This new indicator analyzes the balance between bullish and
//    bearish sentiment.
//    One can cay that it is an improved analogue of Elder Ray indicator.
//    To get more information please see "Bull And Bear Balance Indicator" 
//    by Vadim Gimelfarb. 
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
EMA20(Length) =>
    pos = 0.0
    xPrice = close
    xXA = ta.ema(xPrice, Length)
    nHH = math.max(high, high[1])
    nLL = math.min(low, low[1])
    nXS = nLL > xXA or nHH < xXA ? nLL : nHH
    iff_1 = nXS < close[1] ? 1 : nz(pos[1], 0)
    pos := nXS > close[1] ? -1 : iff_1
    pos


BBB(SellLevel,BuyLevel) =>
    pos = 0.0
    value = close < open ? 
              close[1] > open ?  math.max(close - open, high - low) : high - low : 
                 close > open ? 
                  close[1] > open ? math.max(close[1] - low, high - close) : math.max(open - low, high - close) :
                   high - close > close - low ? 
                     close[1] > open ? math.max(close[1] - open, high - low) :high - low : 
                      high - close < close - low ? 
                         close > open ? math.max(close - low, high - close) : open - low : 
                           close > open ? math.max(close[1] - open , high - close) :
                             close[1] < open ? math.max(open - low, high - close) : high - low
    
    value2 =close < open ? 
              close[1] < open ?  math.max(high - close[1], close - low) : math.max(high - open, close - low) : 
               close > open ? 
                 close[1] > open ?  high - low : math.max(open - close[1], high - low) : 
                  high - close > close - low ? 
                   close[1] < open ? math.max(high - close[1], close - low) : high - open : 
                     high - close < close - low ? 
                      close[1] > open ?  high - low : math.max(open - close, high - low) : 
                       close[1] > open ? math.max(high - open, close - low) :
                         close[1] < open? math.max(open - close, high - low): high - low
    nBBB = value2 - value
    pos :=  nBBB < SellLevel ? -1 :
    	     nBBB >= BuyLevel ? 1 : nz(pos[1], 0) 
    pos

strategy(title='Combo 2/20 EMA & Bull And Bear Balance', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════  Bull And Bear Balance ═════●'
SellLevel = input.float(-15, step=0.01, group=I2)
BuyLevel = input.float(15, step=0.01, group=I2)
var misc = '●═════ MISC ═════●'
reverse = input.bool(false, title='Trade reverse', group=misc)
var timePeriodHeader = '●═════ Time Start ═════●'
d = input.int(1, title='From Day', minval=1, maxval=31, group=timePeriodHeader)
m = input.int(1, title='From Month', minval=1, maxval=12, group=timePeriodHeader)
y = input.int(2005, title='From Year', minval=0, group=timePeriodHeader)
StartTrade = time > timestamp(y, m, d, 00, 00) ? true : false
posEMA20 = EMA20(Length)
prePosBBB = BBB(SellLevel,BuyLevel)
iff_1 = posEMA20 == -1 and prePosBBB == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosBBB == 1 and StartTrade ? 1 : iff_1
iff_2 = reverse and pos == -1 ? 1 : pos
possig = reverse and pos == 1 ? -1 : iff_2
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)