Kurzfristige bärische Strategie auf der Grundlage von EMA-Crossover- und Bear Power-Indikatoren

Schriftsteller:ChaoZhang, Datum: 2023-10-17 14:00:41
Tags:

img

Übersicht

Diese Strategie kombiniert den EMA-Crossover-Indikator und den Bear Power-Indikator, um kurzfristige bärische Signale zu erzeugen. Der EMA-Crossover beurteilt den Trend, während die Bear Power den Kurzverkaufszeitpunkt angibt. Die Strategie eignet sich für den kurzfristigen Handel, um Marktkorrekturen zu erfassen.

Strategie Logik

  1. EMA Crossover: Berechnet den exponentiellen gleitenden Durchschnitt (EMA) der Periode 2/20 und erzeugt Verkaufssignale, wenn der Preis unterhalb der EMA liegt.

  2. Bear Power: Berechnet die Differenz zwischen dem Schlusskurs und dem Eröffnungskurs des Tages als den Power-Wert.

  3. Durch die Kombination der beiden Indikatoren wird ein Kurzsignal erzeugt, wenn EMA-Crossover <0 und Bear Power <-1 ist.

  4. Die Strategie eröffnet kurz basierend auf dem Verkaufssignal und schließt die Position basierend auf dem Exit-Signal.

Vorteile

  1. EMA-Crossover kann Trendumkehrpunkte im Voraus vorhersagen.

  2. Bei starken Intraday-Rückgängen erfasst die Bärenkraft Leerverkaufsmöglichkeiten.

  3. Die Kombination zweier Indikatoren hilft, falsche Ausbrüche zu filtern und eine stärkere bearish Dynamik zu erkennen.

  4. Flexible Parameter eignen sich für verschiedene Produkte und Marktumgebungen.

  5. Die Umkehrfunktion passt sich den Zwei-Wege-Märkten an.

Risiken

  1. Der EMA-Crossover kann hinter den optimalen Wendepunkten zurückbleiben.

  2. Bei einer Bandbreite konzentrierter Konsolidierungen kann die Bear Power falsche Signale erzeugen.

  3. Sie kann mittelfristige Trends nicht bestimmen und droht dabei gefangen zu werden.

  4. Die erforderliche Parameter-Ausrichtung als unangemessene Einstellungen wie eine zu kurze EMA-Periode oder eine zu hohe Verkaufsschwelle könnten falsche Signale verstärken.

  5. Achten Sie auf wichtige wirtschaftliche Ereignisse, um geplante Handelssitzungen zu vermeiden.

Erweiterung

  1. Überlegen Sie, ob Sie dem Limit pro Handelsverlust einen Stop-Loss hinzufügen.

  2. Fügen Sie Filter wie Momentum-Indikatoren hinzu, um schwache, bärische Signale zu vermeiden.

  3. Hinzufügen von längeren EMA-Perioden, um die Haupttrendrichtung zu bestimmen und gegentrendische Geschäfte zu vermeiden.

  4. Optimieren Sie Parameter wie adaptive EMA-Periode und dynamische Verkaufsschwelle.

  5. Es sollte in Erwägung gezogen werden, mehrere Zeitrahmen zu kombinieren, um kurz-, mittelfristige und langfristige Indikatoren einzubeziehen.

Schlussfolgerung

Diese Strategie verwendet zunächst EMA-Crossover, um die wichtigsten Trend- und Umkehrpunkte zu bestimmen, und erfasst dann starke Intraday-Verkaufsmöglichkeiten mit dem Bear Power-Indikator, um eine robuste kurzfristige Bärenstrategie zu bilden. Die Vorteile liegen in seiner Einfachheit, Flexibilität, um sich an verschiedene Marktumgebungen anzupassen, und der Fähigkeit, lange/kurze Richtungen umzukehren. Allerdings bleiben Risiken wie fehlende optimale Punkte und die Erzeugung falscher Signale bestehen. Weitere Verbesserungen bei der Parameteroptimierung, das Hinzufügen von Filtern und Stop Loss könnten zur Steigerung der Strategiestabilität beitragen.


/*backtest
start: 2023-10-09 00:00:00
end: 2023-10-16 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/04/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
//  Bear Power 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


BP(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
    pos := value > SellLevel ? -1 :
    	     value <= BuyLevel ? 1 :nz(pos[1], 0) 

    pos

strategy(title='Combo 2/20 EMA & Bear Power', shorttitle='Combo', overlay=true)
var I1 = '●═════ 2/20 EMA ═════●'
Length = input.int(14, minval=1, group=I1)
var I2 = '●═════ Bear Power ═════●'
SellLevel = input.float(10, step=0.01, group=I2)
BuyLevel = input.float(1, 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)
prePosBP = BP(SellLevel,BuyLevel)
iff_1 = posEMA20 == -1 and prePosBP == -1 and StartTrade ? -1 : 0
pos = posEMA20 == 1 and prePosBP == 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)

Mehr