
Diese Strategie nutzt die Goldspaltlinie des Brin-Bandes in Kombination mit der Gleichlinienform, um den Rücklauf zu handeln. Wenn der Preis die Goldspaltlinie des Brin-Bandes berührt, wird dies als Kaufsignal betrachtet und die ausgewogene Rücklaufcharakteristik des Preises genutzt.
Die Verwendung von VWMA anstelle von SMA als Mittelstrecke für die Brinbands kann die Bewegungen der Preise besser reflektieren
Die Goldspaltung ist eine wichtige Unterstützung/Widerstandszone, die die Grundlage für die Rückkehr bildet.
Mehrköpfige Anordnung der Mittellinien, um einen großen Aufwärtstrend zu gewährleisten
Fixed Stop-Losses, um die Einzelschäden zu kontrollieren
Die Goldschnittlinie ist keine gesicherte Stütze, der Preis könnte direkt durchfallen
Ein fester Stop-Loss könnte zu arbiträr sein und sollte berücksichtigt werden, um sich an Marktschwankungen anzupassen.
Eine durchschnittliche mehrköpfige Anordnung kann auch ein falscher Durchbruch sein, der mit mehr Kennzahlen beurteilt werden sollte.
Die Rückfahrt ist unsicher und erfordert eine angemessene Abfahrt.
Verschiedene Kombinationen von Parametern können getestet werden, wie z. B. Brin-Band-Perioden, Standarddifferenz-Multiplikatoren, Fixed Stop-Loss-Prozentsätze usw.
Weitere Indikatoren, wie MACD, KD und andere, können hinzugefügt werden, um Markttrends und die Wahrscheinlichkeit einer Rückkehr zu beurteilen.
Dynamische Stop-Losses können berücksichtigt werden, basierend auf ATR-Stopp oder Tracking-Stopp
Optimierung von Stop-Strategie, wie z. B. bewegliche Stopps, Bündelung von Stopps usw.
Diese Strategie nutzt die Brin-Gold-Spaltlinie für den gleichmäßigen Rücklaufhandel und hat die Vorteile, dass die Handelslogik klar ist, die Parameter einfach eingestellt und die Rücknahme kontrolliert werden kann. Es besteht jedoch ein gewisses Risiko, dass weitere Tests und Optimierungen erforderlich sind, um mehr technische Kennzahlen zu beurteilen und Verlust-/Stopp-Tools hinzuzufügen, bevor sie in die Praxis umgesetzt werden können. Insgesamt bietet die Strategie eine Idee für den quantitativen Handel unter Verwendung der Goldspaltungsregel und ist es wert, weiter untersucht zu werden.
/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © mohanee
//@version=4
strategy(title="Bollinger Band with Fib Golden Ratio (0.618)", shorttitle="Bollinger Band with Fib Golden Ratio" , overlay=true, pyramiding=1, default_qty_type=strategy.percent_of_equity, default_qty_value=20, initial_capital=10000, currency=currency.USD)
length = input(50,title="BB Length" , minval=1)
src1 = input(hlc3, title="Source")
//mult1 = input(1.33, minval=0.001, maxval=50)
mult = input(1.5,title="multplier", minval=0.001, maxval=50)
stopLoss=input(5,title="Stop Loss",minval=1)
basis = vwma(src1, length)
dev = mult * stdev(src1, length)
//dev3 = mult3 * stdev(src, length)
upper_618= basis + (0.618*dev)
lower_618= basis - (0.618*dev)
//lower_618_dev3= basis - (0.618*dev3)
plot_upper618= plot(upper_618, color=color.purple, linewidth=2, title="0.618")
plot(basis, color=color.purple,style=plot.style_circles, linewidth=2)
plot_lower618= plot(lower_618, color=color.purple, linewidth=2, title="0.618 entry")
//plot_lower618_dev3= plot(lower_618_dev3, color=color.red, linewidth=1, title="0.618 stop")
//plot_lower618= plot(lower_618, color=color.purple, linewidth=1, title="0.618 entry")
ema200=ema(close,200)
ema50=ema(close,50)
plot (ema200, title="ema200", color=color.orange, linewidth=2)
plot (ema50, title="ema50", color=color.blue , linewidth=2)
longCondition= ema50 > ema200
strategy.entry(id="BB_Fib618", long=true, when = longCondition and ( close < lower_618 or low <= lower_618) )
strategy.close(id="BB_Fib618", comment="points="+tostring(close - strategy.position_avg_price, "###.##") , when = strategy.position_size >= 1 and crossover(close,upper_618 ))
//stoploss exit
stopLossVal = strategy.position_size>=1 ? strategy.position_avg_price * ( 1 - (stopLoss/100) ) : 0.00
strategy.close(id="BB_Fib618", comment="SL="+tostring(close - strategy.position_avg_price, "###.##"), when=abs(strategy.position_size)>=1 and close < stopLossVal ) //and close > strategy.position_avg_price )