Diese Strategie verwendet Bollinger Bands, EMA und Candlestick-Muster für den Dual-Line-Glücksspielhandel, der zu den kurzfristigen Handelsstrategien gehört.
Die Strategie besteht aus folgenden Teilen:
Bollinger-Bänder Genereren Sie oberen und unteren Schienen basierend auf Schlusskurs und Standardabweichung.
EMA Berechnen Sie den 21-tägigen exponentiellen gleitenden Durchschnitt und generieren Sie Handelssignale, wenn der Preis die EMA überschreitet.
Leuchtermuster Identifizieren Sie Preisumkehrpunkte wie unterste dunkle Wolkendecke und oberes Piercing-Muster, um Trades auszulösen.
Zweistellige Glücksspiele Gehen Sie gleichzeitig lang und kurz, basierend auf Signalen von Bollinger, EMA Crossover und Candlestick-Mustern.
Die Logik lautet:
Verwenden Sie Bollinger Bands, um potenzielle Umkehrpunkte zu identifizieren, gehen Sie kurz auf der oberen Schiene und lang auf der unteren Schiene. Berechnen Sie den 21-Tage-EMA und gehen Sie lang auf dem goldenen Kreuz, gehen Sie kurz auf dem Todeskreuz. Verwenden Sie auch Kerzenmuster, um Umkehrungen zu identifizieren, gehen Sie lang auf der unteren dunklen Wolke und kurz auf dem oberen Piercing. Kombinieren Sie alle drei Signale, um endgültige zweiseitige Handelsentscheidungen zu treffen.
Die Strategie integriert mehrere Bestätigungssignale, um die Effizienz der Handelsentscheidungen zu verbessern.
Die wichtigsten Vorteile dieser Strategie sind:
Die Verwendung von Bollinger, EMA und Candlestick zusammen erhöht die Genauigkeit durch die Validierung von Signalen. Dies hilft, falsche Signale und fehlerhafte Trades zu vermeiden.
Die kombinierten Signale identifizieren schnell potenzielle Umkehrpunkte für den rechtzeitigen Handel, bevor sich die Umkehrungen ausdehnen.
Sowohl Long- als auch Short-Positionen profitieren von großen Bewegungen in beide Richtungen, wodurch Risiken in einseitigen Märkten verringert werden.
Die kurzfristigen Bollinger- und EMA-Anzeigen ermöglichen die Erfassung kurzfristiger Bewegungen, die für häufige Handelsbewegungen geeignet sind und auf hohe Frequenzschwankungen reagieren.
Der vollständige Strategiecode macht ihn direkt für den Live-Handel nutzbar.
Die möglichen Risiken sind:
Whipsaw von Bollinger, EMA und Candlestick-Signale können aufeinanderfolgende Stop-Loss verursachen.
Bei einer langen oder kurzen Positionshaltung können Verluste vergrößert werden.
Der häufige kurzfristige Handel erfordert eine genaue Beobachtung des Marktes.
Bollinger und EMA haben relativ wenig Optimierungsraum.
Ein Teil der Strategie beruht auf Kerzensignalen, die manchmal unklar sein können.
Die Strategie kann in folgenden Bereichen verbessert werden:
Durch das Hinzufügen anderer Indikatoren wie KD diversifiziert der MACD die Signalquellen und verbessert die Entscheidungsgenauigkeit.
Verwenden Sie ML-Algorithmen, um historische Daten zu analysieren und einige Indikatorsignale zu erweitern oder zu ersetzen, um manuelle Interventionen zu reduzieren.
Einführung eines anpassungsfähigen Stop-Profits basierend auf der Leistung und eines Trailing-Stop-Loss zur Verringerung des Risikos.
Optimierung der Kapitalzuweisung, Positionsgröße und Risikokontrollstrategien entsprechend den Marktbedingungen.
Verwenden Sie Backtesting und Papierhandel, um die Parameter wiederholt zu optimieren und Live-Handelsentscheidungen zu unterstützen.
Parametrieren Sie die Strategie auf der Grundlage von Backtest-Ergebnissen und integrieren Sie sie in das automatisierte Handelssystem für die Handfreie Ausführung.
Diese Strategie integriert Bollinger-, EMA- und Kerzensignale für mehrfache Validierung. Der Dual-Line-Trading verbessert die Rentabilität weiter. Mit schneller Reaktion ist er für kurzfristigen häufigen Handel geeignet. Effektiver Stop-Profit/Loss und Parameteroptimierung können die Leistung weiter verbessern und gleichzeitig das Risiko reduzieren. Insgesamt hat diese einfache und praktische Strategie einen starken praktischen Wert.
/*backtest start: 2022-09-30 00:00:00 end: 2023-10-06 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=4 //Design by MrPhu in August,10,2018 strategy("TrumpShipper_Long_Short V26", overlay=true) filterFractals = input(true, title=" Follow Code #Trump On/Off") dt = 0.0001 confidence=(request.security(syminfo.tickerid, 'D', close)-request.security(syminfo.tickerid, 'D', close[1]))/request.security(syminfo.tickerid, 'D', close[1]) prediction = confidence > dt ? true : confidence < -dt ? false : prediction[1] if (prediction) strategy.exit("Close", "Short ") strategy.entry("Long ", strategy.long) if (not prediction) strategy.exit("Close", "Long ") strategy.entry("Short ", strategy.short) ///////////Bollinger Band/////////////// length = 20 crc = close, title="Source" mult = 2.0 basis = sma(crc, length) dev = mult * stdev(crc, length) upper = basis + dev lower = basis - dev spanColor = prediction ? green : red, transp=90 p1 = plot(upper, title="Short", style=line, linewidth=1, color=spanColor) p2 = plot(lower, title="Long", style=line, linewidth=1, color=spanColor) fill(p1, p2, color=spanColor, transp=90, title="Fill") ///////////// Optional_TimeFrame = 'D' M_HIGH = request.security(syminfo.tickerid, Optional_TimeFrame, high) M_OPEN = request.security(syminfo.tickerid, Optional_TimeFrame, open) M_LOW = request.security(syminfo.tickerid, Optional_TimeFrame, low) H_RANGE = M_HIGH-M_OPEN L_RANGE = M_OPEN-M_LOW H_236 = M_HIGH - H_RANGE * 0.236 H_382 = M_HIGH - H_RANGE * 0.382 H_500 = M_HIGH - H_RANGE * 0.500 H_618 = M_HIGH - H_RANGE * 0.618 H_764 = M_HIGH - H_RANGE * 0.764 L_236 = M_LOW + L_RANGE * 0.236 L_382 = M_LOW + L_RANGE * 0.382 L_500 = M_LOW + L_RANGE * 0.500 L_618 = M_LOW + L_RANGE * 0.618 L_764 = M_LOW + L_RANGE * 0.764 pl1=plot(M_HIGH, color=M_HIGH != M_HIGH[1] ?na:black, style=line, linewidth=1, transp=80) pl2=plot(H_236, color=H_236 != H_236[1] ?na:gray, style=line, linewidth=1, transp=80) pl3=plot(H_382, color=H_382 != H_382[1] ?na:black, style=line, linewidth=1, transp=80) pl4=plot(H_500, color=H_500 != H_500[1] ?na:red, style=line, linewidth=1, transp=80) pl5=plot(H_618, color=H_618 != H_618[1] ?na:gray, style=line, linewidth=1, transp=80) pl6=plot(H_764, color=H_764 != H_764[1] ?na:gray, style=line, linewidth=1, transp=80) pl7=plot(M_OPEN, color=M_OPEN != M_OPEN[1] ?na:blue, style=line, linewidth=2) pl8=plot(L_236, color=L_236 != L_236[1] ?na:gray, style=line, linewidth=1, transp=80) pl9=plot(L_382, color=L_382 != L_382[1] ?na:black, style=line, linewidth=1, transp=80) pl10=plot(L_500, color=L_500 != L_500[1] ?na:red, style=line, linewidth=1, transp=80) pl11=plot(L_618, color=L_618 != L_618[1] ?na:black, style=line, linewidth=1, transp=80) pl12=plot(L_764, color=L_764 != L_764[1] ?na:gray, style=line, linewidth=1, transp=80) pl13=plot(M_LOW, color=M_LOW != M_LOW[1] ?na:black, style=line, linewidth=1, transp=80) SHOW_MA = false MA_SRC = hlc3 MA_LENGTH = 21 _MA = ema(MA_SRC, MA_LENGTH) pl14=plot(not SHOW_MA ? na : _MA, color=teal, linewidth=2) SHOW_SIGNALS = true BUYX(_F) => cross(_F, MA_SRC) and rising(_MA, 1) SELX(_F) => cross(_F, MA_SRC) and falling(_MA, 1) SEL_SIGNAL = SELX(H_236) or SELX(H_382) or SELX(H_500) or SELX(H_618) or SELX(H_764) or SELX(L_236) or SELX(L_382) or SELX(L_500) or SELX(L_618) or SELX(H_764) BUY_SIGNAL = BUYX(H_236) or BUYX(H_382) or BUYX(H_500) or BUYX(H_618) or BUYX(H_764) or BUYX(L_236) or BUYX(L_382) or BUYX(L_500) or BUYX(L_618) or BUYX(H_764) //================= Chart 30m =================///// //Jurij h_left = 10 h_right = 10 //barCount = nz(barCount[1]) + 1 //check history and realtime PTZ h_left_low = lowest(h_left) h_left_high = highest(h_left) newlow = low <= h_left_low newhigh = high >= h_left_high central_bar_low = low[h_right + 1] central_bar_high = high[h_right + 1] full_zone_low = lowest(h_left + h_right + 1) full_zone_high = highest(h_left + h_right + 1) central_bar_is_highest = central_bar_high >= full_zone_high central_bar_is_lowest = central_bar_low <= full_zone_low plotchar(central_bar_is_highest ? -1 : 0, offset=-h_right-1 ,color=red, text="Top") plotchar(central_bar_is_lowest ? 1 : 0, offset=-h_right-1 ,location=location.belowbar, color=green, text="Bottom")