Schwingungsstrategie des hohen und niedrigen TEMA-Durchschnitts

Schriftsteller:ChaoZhang, Datum: 2023-11-15 17:49:52
Tags:

img

Übersicht

Diese Strategie verwendet TEMA, VWMACD und HMA-Indikatoren, um den Abwärtstrend von Bitcoin zu erfassen. Seine Hauptlogik besteht darin, kurz zu gehen, wenn VWMACD unter 0 fällt, ist der Preis unter HMA und schnelle TEMA unter langsame TEMA. Es wird die Position verlassen, wenn VWMACD über 0 fällt, der Preis über HMA oder schnelle TEMA über langsame TEMA fällt.

Grundsätze

Zuerst berechnen Sie VWMACD (der einzige Unterschied zum normalen MACD ist die Art, gleitende Durchschnitte zu berechnen) und zeichnen Sie es als Histogramm aus. Fügen Sie dann HMA als Trendfilter hinzu. Danach erstellen und addieren Sie schnelle TEMA (5 Perioden) und langsame TEMA (8 Perioden) und berechnen Sie den Unterschied zwischen ihnen, um um 0 zu zeichnen. Dies ist die wichtigste Entscheidung, um kurz zu gehen.

Die spezifische Einstiegsregel lautet: Wenn der VWMACD unter 0 liegt, liegt der Preis unter HMA und der schnelle TEMA unter dem langsamen TEMA, geht man kurz.

Die spezifische Ausstiegsregel lautet: Wenn der VWMACD über 0 geht, liegt der Preis über HMA oder wenn der schnelle TEMA über den langsamen TEMA geht, ist die Position geschlossen.

Analyse der Vorteile

  • Verwendet eine Kombination von drei Indikatoren, verbessert die Zuverlässigkeit der Handelssignale.
  • Der VWMACD kann Abweichungen erkennen und genaue Trendbeurteilungen erstellen.
  • HMAfilter als Trendfilter verhindert Geräuschstörungen.
  • Die schnelle und langsame TEMA-Kombination erfasst kurzfristige Umkehrpunkte.
  • Er nimmt kurzfristige Parameter an, die für den Hochfrequenzhandel geeignet sind, und erfasst kurzfristige Abwärtstrends.

Risikoanalyse

  • Mehrfache Indikatorenkombination, komplexe Parameter-Tuning erforderlich.
  • Obwohl wir einen HMA-Filter haben, müssen wir immer noch falsche Ausbrüche in verschiedenen Märkten verhindern.
  • Kurze Zeiträume, die anfällig für Marktlärmstörungen sind, können zu falschen Signalen führen.
  • Sie benötigen einen strikten Stop-Loss, um unerwartete große Verluste zu vermeiden.
  • Wir müssen uns auf die Transaktionskostenkontrolle konzentrieren, Hochfrequenzhandel wird leicht durch Reibung verletzt.

Optimierungsrichtlinien

  • Kann verschiedene Parameterkombinationen testen, um optimale Parameter zu finden.
  • Kann andere Indikatoren wie RSI, KD zur Unterstützung hinzufügen.
  • Kann anpassungsfähige Parameter entsprechend den unterschiedlichen Marktbedingungen verwenden.
  • Kann die Stop-Loss-Strategie optimieren, wie zum Beispiel den Stop-Loss.
  • Kann mit Volumenanzeigen kombiniert werden, um unzureichenden Schub zu vermeiden.

Schlussfolgerung

Diese Strategie verwendet die Kombination von VWMACD, HMA und schneller/langsamer TEMA, um kurzfristige Abwärtstrends von Bitcoin zu erfassen. Seine Vorteile sind relativ zuverlässige Signale und Eignung für den Hochfrequenzhandel. Aber sie birgt auch Risiken wie komplexe Parameter-Tuning, anfällig für Geräuschstörungen. Eine weitere Optimierung von Parameter-Combos und das Hinzufügen von Hilfsindikatoren kann die Strategie stabiler und zuverlässiger machen. Insgesamt kann diese Strategie durch die Verwendung mehrerer Indikatorbestätigungen und Kurzzeitparameter relativ genaue Urteile über die kurzfristigen Abwärtstrends von Bitcoin treffen und ist eine effektive Hochfrequenz-Kurzstrategie.


/*backtest
start: 2022-11-08 00:00:00
end: 2023-11-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
strategy(title="TEMA_HMA_VWMACD short strategy", shorttitle="Short strategy", overlay=false, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.018, currency='USD')
startP = timestamp(input(2017, "Start Year"), input(12, "Month"), input(17, "Day"), 0, 0)
end   = timestamp(9999,1,1,0,0)
_testPeriod() =>
    iff(time >= startP and time <= end, true, false)
    

slow = input(13, "Short period")
fast = input(21, "Long period")
signal = input(5, "Smoothing period")

Fast = ema( volume * close, fast ) / ema( volume, fast ) 
Slow = ema( volume * close, slow ) / ema( volume, slow ) 
Macd = Slow - Fast 
Signal = ema(Macd, signal) 
Hist=Macd-Signal
plot(Hist, color=color.silver, linewidth=1, style=plot.style_histogram)
plot(0, color=color.red)

length = input(400, minval=1, title = "HMA")
hullma = wma(2*wma(close, length/2)-wma(close, length), floor(sqrt(length)))

tema_length_1 = input(5, "Fast moving TEMA")
tema_length_2 = input(8, "Slow moving TEMA")


tema(sec, length)=>
    tema1= ema(sec, length)
    tema2= ema(tema1, length)
    tema3= ema(tema2, length)
    tema = 3*tema1-3*tema2+tema3

tema1 = tema(hlc3, tema_length_1)
tema2 = tema(hlc3, tema_length_2)

threshold  = 0
tm = tema1 - tema2
plot_fast = plot(tm, color = tm > 0 ? color.green : color.red)
plot(threshold, color=color.purple)

up =  crossover(tm, 0) 
down = crossunder(tm, 0)

longCondition =  (Hist < 0) and hullma > close and (tema1 < tema2)  and _testPeriod() 
strategy.entry('BUY', strategy.short, when=longCondition)  
 
shortCondition =  (Hist > 0) or hullma < close or up
strategy.close('BUY', when=shortCondition)


// Take profit  
tp = input(1, type=input.float, title='Take Profit (%)')  
sl = input(4, type=input.float, title='Stop Loss (%)')  
strategy.exit('XLong', from_entry='BUY', profit=(close * (tp/100) * (1/syminfo.mintick)), loss=(close * (sl/100) * (1/syminfo.mintick)))

Mehr