Strategie zur Momentumverfolgung

Schriftsteller:ChaoZhang, Datum: 2023-11-23 13:47:02
Tags:

img

Übersicht

Diese Strategie nutzt die Körpergröße der Kerzen und den Trendmomentum-Indikator EMA, um Markttrends zu bestimmen und automatisierten Handel für den Kauf von niedrigem und Verkauf von hohem zu implementieren.

Strategie Logik

  1. Die Leuchter werden nach Körpergröße in Krümel, kleine und große Kerzen eingeteilt.
  2. Wenn die EMA steigt, zeigt eine große rote Kerze eine Marktkorrektur an.
  3. Wenn die EMA fällt, wenn eine große grüne Kerze erscheint, bedeutet das, dass sich der Markt stabilisiert.
  4. Dynamische Anpassung der Positionen auf der Grundlage der Echtzeitüberwachung von Veränderungen der Kerzen und EMA-Tendenzen.

Analyse der Vorteile

  1. Die Strategieidee ist einfach und leicht verständlich, indem die Marktstruktur anhand einfacher Indikatoren beurteilt wird.
  2. Die Strategie hat nur wenige Parameter und ist nicht anfällig für Überanpassung, was zu einer hohen Stabilität führt.
  3. Es setzt die Logik des niedrigen Kaufs und des hohen Verkaufs um und erzielt spürbare Gewinne bei erheblichen Marktschwankungen.
  4. Sie berücksichtigt sowohl Trends als auch Umkehrungen und kann rasch auf Veränderungen der Marktbedingungen reagieren.

Risiken und Optimierung

  1. Es berücksichtigt nicht die absolute Amplitude der Vermögenspreise, was zu Stop-Loss-Risiken führen kann.
  2. Es berücksichtigt nicht die Basisemission von Kryptowährungen und kann auf mehr Handelsparen getestet werden.
  3. Maschinelle Lernalgorithmen können eingeführt werden, um bei der Beurteilung von Kerzenmustern zu helfen.
  4. Die Handelsvolumenindikatoren können verwendet werden, um Sorten auszuwählen.
  5. Es können verschiedene Zeitrahmenparameter eingestellt werden.

Schlussfolgerung

Die allgemeine Idee dieser Strategie ist einfach und leicht zu verstehen, mit momentum und tracking als Hauptmerkmale. Sie bestimmt die Hauptmarktrichtung durch den einfachen EMABOLL-Indikator und verwendet Kerzenkörper, um lokale Anpassungen zu beurteilen, um einen effizienten Handel zu realisieren, indem sie niedrig kauft und hoch verkauft. Die Strategie hat eine hohe Stabilität und funktioniert außergewöhnlich gut in Kryptowährungen, was sie für weitere Tests und Optimierungen lohnt.


/*backtest
start: 2023-10-23 00:00:00
end: 2023-11-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
//Author @divonn1994

strategy(title='Trend Follower Strategy v2 [divonn1994]', shorttitle='TrendFollowStrategyV2', overlay=false, pyramiding=0, default_qty_value=100, default_qty_type=strategy.percent_of_equity, precision=7, currency=currency.USD, commission_value=0.1, commission_type=strategy.commission.percent, initial_capital=100)

//Important Constants for Classifying Candle Size----------------------------------------------------------------------------------------------------------------------------------------------

timesBigger = 2
crumbSize = 1400
crumbSize2 = 2100
bigCandleSize = 3800

//Key Alerts and Classifications of Candle Size and EMAs---------------------------------------------------------------------------------------------------------------------------------------

emaAlert = ta.ema(close, 8) > ta.ema(open, 8) ? 1 : 0 
CandleSize = close * 1 - open * 1
previousCandleSize = close[1] * 1 - open[1] * 1
greenCandle = close > open ? 1 : 0
previousGreenCandle = close[1] > open[1] ? 1 : 0

crumb = (greenCandle==1 and CandleSize<=crumbSize) or (greenCandle==0 and -CandleSize<=crumbSize) ? 1 : 0
bigCrumb = (greenCandle==1 and CandleSize<=crumbSize2 and CandleSize>crumbSize) or (greenCandle==0 and -CandleSize<=crumbSize2 and -CandleSize>crumbSize) ? 1 : 0
previousCandleIsSmallCrumb = (previousGreenCandle==1 and previousCandleSize<=crumbSize) or (previousGreenCandle==0 and -previousCandleSize<=crumbSize) ? 1 : 0
previousCandleIsBigCrumb = (previousGreenCandle==1 and previousCandleSize<=crumbSize2 and previousCandleSize>crumbSize) or (previousGreenCandle==0 and -previousCandleSize<=crumbSize2 and -previousCandleSize>crumbSize) ? 1 : 0

bigCandle = (greenCandle==1 and previousCandleIsBigCrumb==1 and CandleSize>=math.abs(timesBigger*previousCandleSize)) or (greenCandle==1 and previousCandleIsSmallCrumb==1 and CandleSize>=bigCandleSize) or (greenCandle==1 and previousCandleIsSmallCrumb==0 and previousCandleIsBigCrumb==0 and CandleSize>=math.abs(timesBigger*previousCandleSize)) ? 1 : 0

//Engine (Secret Sauce)------------------------------------------------------------------------------------------------------------------------------------------------------------------------

buy = (crumb==0 and bigCrumb==0 and greenCandle==0) or (greenCandle==1 and bigCandle==1) or (emaAlert==0) ? 0 : 1

//Strategy-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

if ta.crossover(buy, 0.5)
    strategy.entry('long', strategy.long, comment='long')
if ta.crossunder(buy, 0.5)
    strategy.close('long')

//Plot Strategy Behavior-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

plot(buy, color=color.new(color.silver, 0))
plot(0.5, color=color.new(color.fuchsia, 0))

Mehr