Handelsstrategie auf der Grundlage von Hull Moving Average und Candlestick

Schriftsteller:ChaoZhang, Datum: 21.09.2023
Tags:

Übersicht

Die Kernidee dieser Strategie besteht darin, den Hull Moving Average (HMA) mit Kerzenwerten zu vergleichen, um Kauf- und Verkaufssignale zu generieren.

Grundsätze

Zunächst berechnet die Strategie HMA eines bestimmten Zeitraums mit der hma() Funktion. Dann erhält sie den Eröffnungspreis des vorherigen Kerzen als Benchmark. Wenn HMA höher ist als der vorherige Kerzeneröffnungspreis, wird ein Kaufsignal generiert. Wenn HMA niedriger ist als der vorherige Kerzeneröffnungspreis, wird ein Verkaufssignal generiert.

Die Einstiegsbedingungen sind, dass der Preis HMA in umgekehrter Richtung durchbrechen muss, bevor er in den Markt eintritt. Das bedeutet, dass er nur kauft, wenn der Preis von unten über HMA bricht. Er wird nur verkaufen, wenn der Preis von oben unter HMA bricht. Dies vermeidet, dass er von oszillierenden Märkten geschlagen wird.

Die Exit-Bedingungen sind, Verlust zu stoppen, wenn der Preis wieder auf die andere Seite der HMA fällt. Zum Beispiel, wenn der Preis nach dem Kauf unter HMA fällt, wird er Verlustverkauf stoppen.

Zusammenfassend lässt sich sagen, dass diese Strategie die wichtigste Trendrichtung identifiziert, indem die Glatzheit der HMA zur Erzeugung von Signalen verwendet wird.

Analyse der Vorteile

  1. Die Verwendung von HMA anstelle von SMA kann Trends besser identifizieren und Lärm filtern.

  2. Der Breakout-Mechanismus kann die Wahrscheinlichkeit verringern, eingeschlossen zu werden und sich wiederholende Positionen zu eröffnen.

  3. Die Annahme des früheren Kerzenpreises anstelle des aktuellen Preises vermeidet eine Kurvenanpassung.

  4. Die Regeln sind einfach und klar, geeignet für die Optimierung von Parametern und den Robotertrading.

  5. Sie kann flexibel auf jedes Instrument und jeden Zeitrahmen angewendet werden und ist universell.

Risiken und Verbesserungen

  1. Eine unsachgemäße Einstellung der HMA-Parameter kann Trends verpassen oder zu empfindlich sein.

  2. Die Verwendung eines einzigen Indikators kann durch erneute Ausbruchversuche verhindert werden. Überlegen Sie, andere Indikatoren zu kombinieren, um Signale zu filtern.

  3. Wenn der Stop-Loss zu nahe an der HMA liegt, kann er durch einen späteren Ausbruch wieder eingeschlossen werden.

  4. Es ist nicht möglich, die Richtung und Stärke des Trends zu bestimmen.

  5. Ein fester Stop-Loss verursacht große Schwankungen in der Risiko-Rendite.

Schlussfolgerung

Diese Strategie ist relativ einfach und praktisch insgesamt mit einer klaren Kernidee. Sie identifiziert den Haupttrend mit HMA und filtert gefälschte Signale mit Ausbruch. Sie vermeidet, von unruhigen Märkten verwirrt zu werden. Richtige Parameteroptimierung kann anständige Ergebnisse erzielen. Allerdings sind Zuverlässigkeit und Gewinnrate als einzelne Indikatorstrategie immer noch begrenzt. Es wird empfohlen, mit anderen technischen Indikatoren oder Geldmanagementmethoden zu kombinieren, um die Robustheit erheblich zu verbessern. Abschließend bietet diese Strategie einen einfachen und effektiven Ansatz für den quantitativen Handel, der eine gründliche Forschung und Anwendung wert ist.


/*backtest
start: 2023-08-21 00:00:00
end: 2023-09-20 00:00:00
period: 2h
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/
// © SeaSide420. Any timeFrame/pair , Hull Moving Average vs Candle
//@version=4
strategy("Hull Moving Average vs Candle",shorttitle="HMA-vs-Candle",overlay=true,default_qty_type=strategy.percent_of_equity,default_qty_value=100,commission_type=strategy.commission.cash_per_order,commission_value=1.00,slippage=1)
Period=input(title="Hull MA Period",type=input.integer,defval=50,minval=1)
Resolution=input(title="Candle Resolution", type=input.resolution,defval="D")
Price=input(title="Source of Price",type=input.source,defval=open)
HMA=hma(Price,Period)
Candle=security(syminfo.tickerid,Resolution,Price,barmerge.gaps_off,barmerge.lookahead_off)
change_color=HMA>Candle?color.green:color.red
plot1=plot(Candle,color=change_color,title="Candle Line",linewidth=2,transp=50)
plot2=plot(HMA[1],color=change_color,title="Hull MA Line",linewidth=2,transp=50)
fill(plot1,plot2,color=change_color,transp=50)
strategy.close("BUY",when=Price<HMA and HMA<Candle,comment="close buy entry")
strategy.close("SELL",when=Price>HMA and HMA>Candle,comment="close sell entry")
if (Price>HMA and HMA>Candle and Price>Price[1])
    strategy.entry("BUY",strategy.long)
if (Price<HMA and HMA<Candle and Price<Price[1])
    strategy.entry("SELL",strategy.short)



//                                                                   /L'-, 
//                               ,'-.           /MM . .             /  L '-, 
//     .                    _,--dMMMM\         /MMM  `..           /       '-, 
//     :             _,--,  )MMMMMMMMM),.      `QMM   ,<>         /_      '-,' 
//     ;     ___,--. \MM(    `-'   )M//MM\       `  ,',.;      .-'* ;     .' 
//     |     \MMMMMM) \MM\       ,dM//MMM/     ___ < ,; `.      )`--'    / 
//     |      \MM()M   MMM)__   /MM(/MP'  ___, \  \ `  `. `.   /__,    ,' 
//     |       MMMM/   MMMMMM( /MMMMP'__, \     | /      `. `-,_\     / 
//     |       MM     /MMM---' `--'_ \     |-'  |/         `./ .\----.___ 
//     |      /MM'   `--' __,-  \""   |-'  |_,               `.__) . .F. )-. 
//     |     `--'       \   \    |-'  |_,     _,-/            J . . . J-'-. `-., 
//     |         __  \`. |   |   |         \    / _           |. . . . \   `-.  F 
//     |   ___  /  \  | `|   '      __  \   |  /-'            F . . . . \     '` 
//     |   \  \ \  /  |        __  /  \  |  |,-'        __,- J . . . . . \ 
//     |    | /  |/     __,-  \  ) \  /  |_,-     __,--'     |. .__.----,' 
//     |    |/    ___     \    |'.  |/      __,--'           `.-;;;;;;;;;\ 
//     |     ___  \  \     |   |  `   __,--'                  /;;;;;;;;;;;;. 
//     |     \  \  |-'\    '    __,--'                       /;;;;;;;;;;;;;;\ 
// \   |      | /  |      __,--'                             `--;;/     \;-'\ 
//  \  |      |/    __,--'                                   /  /         \  \ 
//   \ |      __,--'                                        /  /           \  \ 
//    \|__,--'                                          _,-;M-K,           ,;-;\ 
//                                                     <;;;;;;;;           '-;;;; 
//                                                                                        ~ priceless artwork by SeaSide420

Mehr