Die Strategie basiert auf dem Durchbruch der Schwankungsgeschäfte im Brei-Band

Schriftsteller:ChaoZhang, Datum: 2024-02-21 14:39:14
Tags:

基于突破布林带震荡交易策略

Übersicht

Die Brett-Band-Rebellion-Handelsstrategie ist eine Handelsstrategie, die angewendet wird, wenn der Markt in einem ruhigen Zustand ist. Die Strategie verwendet die Brett-Band-Anzeige, um die ruhigen Zustände des Marktes zu beurteilen und ein Handelssignal auszusenden, wenn der Preis den Brett berührt. Im Gegensatz zu traditionellen Trend-Folge-Strategien ist die Strategie für ein horizontalisches Marktumfeld geeignet.

Die Strategie

Die Strategie basiert hauptsächlich auf der Implementierung von Bringsbändern. Die Bringsbänder bestehen aus Mittel-, Auf- und Abwärtsträgern.

Insbesondere wird die Strategie zunächst mit Hilfe des DMI-Indikators beurteilt, ob sich der Markt in einem Aufschwung befindet. Wenn die Differenz zwischen +DMI und -DMI kleiner als 20 ist, wird der Markt als transversal aufgeschüttelt betrachtet. Unter diesen Bedingungen wird mehr getan, wenn der Preis in die Strecke geht, und die Stop-Loss-Punkte in der Nähe der entgegengesetzten Strecke.

Strategische Vorteile

Im Vergleich zur Trend-Folge-Strategie eignet sich die Strategie besser für den Marktumfeld, in dem sich die Trends in der Trend-Folge bewegen, und wird nicht durch die Verfolgung von Trends verletzt. Die Strategie erhöht die Wahrscheinlichkeit des Eingangs, indem sie die Überkäufe und Überkäufe des Marktes mit Hilfe des Brennband-Indikators genauer beurteilt.

Strategische Risiken

Die Strategie beruht hauptsächlich auf der Einschätzung von Marktbewegungen und Überkauf-Überverkauf, was zu falschen Signalen führt, wenn die Breite oder die Verengung des Breitbands abnormal ist. Außerdem ist der Stop-Loss nahe und ein einzelner Stop-Loss kann größer sein. Es wird empfohlen, eine Optimierung der Stop-Loss-Strategie für das Finanzmanagement einzusetzen.

Strategische Optimierung

Es kann in Erwägung gezogen werden, die Eintrittssignale durch andere Indikatoren zu filtern, z. B. durch RSI, um die Einstiegsgenauigkeit zu erhöhen. Außerdem ist es wichtig, die Stop-Loss-Strategie zu optimieren, um größere Stop-Loss-Einheiten zu vermeiden. Es kann auch eine Handelsvariante gewählt werden, die besser für diese Strategie geeignet ist, z. B. eine niedrig bewertete Münze.

Zusammenfassung

Die Strategie ist insgesamt für den Marktschaukel geeignet und kann verwendet werden, wenn die Trendstrategie fehlschlägt. Aber es gibt noch Raum für Optimierung, dass sie auf Indikatoren angewiesen ist, um die Marktlage zu beurteilen. Wir können die Strategie durch Methoden wie Multikondikatoren-Portifikate, Fondsmanagement und andere weiter verbessern, um ihre Wirkung stabiler und hervorragender zu machen.


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

//@version=4
strategy(shorttitle='Sideways Strategy DMI + Bollinger Bands',title='Sideways Strategy DMI + Bollinger Bands (by Coinrule)', overlay=true, initial_capital = 100, process_orders_on_close=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, commission_type=strategy.commission.percent, commission_value=0.1)

// Works on ETHUSD 3h, 1h, 2h, 4h

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2021, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 12,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 31,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2022, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true

[pos_dm, neg_dm, adx] = dmi(14, 14)


lengthBB = input(20, minval=1)
src = input(close, title="Source")
mult = input(2.0, minval=0.001, maxval=50, title="StdDev")
basis = sma(src, lengthBB)
dev = mult * stdev(src, lengthBB)
upper = basis + dev
lower = basis - dev
offset = input(0, "Offset", type = input.integer, minval = -500, maxval = 500)

sideways = (abs(pos_dm - neg_dm) < 20)



//Stop_loss= ((input (3))/100)
//Take_profit= ((input (2))/100)

//longStopPrice  = strategy.position_avg_price * (1 - Stop_loss)
//longTakeProfit = strategy.position_avg_price * (1 + Take_profit)

//closeLong = close < longStopPrice or close > longTakeProfit or StopRSI


//Entry 
strategy.entry(id="long", long = true, when = sideways and (crossover(close, lower)) and window())


//Exit
strategy.close("long", when = (crossunder(close, upper)))


Weitere Informationen