Die Ressourcen sind geladen. Beförderung...

Alligator verfolgt langfristige Trends und Strategien

Schriftsteller:ChaoZhang, Datum: 2024-05-17 15:40:13
Tags:SMMASMA

Alligator 长期趋势跟踪交易策略

Übersicht

Die Alligator-Strategie ist eine quantitative Handelsstrategie, die auf dem Williams-Alligator-Indikator basiert. Die Strategie nutzt eine Kombination von gleitenden Durchschnitten aus verschiedenen Perioden, um die wichtigsten Trends des Marktes zu erfassen und ist für den mittleren und langen Zeitraum geeignet. Die Strategie zielt darauf ab, die Richtung und Intensität des Trends durch die Öffnungsrichtung des Alligator-Indikators und die relative Position des Preises gegenüber dem Alligator-Indikator zu bestimmen und somit eine Handelsentscheidung zu treffen.

Die Strategie

Die Alligator-Strategie verwendet drei verschiedene Perioden, um die Alligator-Indikatoren zu konstruieren:

  1. Jaw-Line: 13 Zyklen SMMA, schwebend in die Zukunft 8 K-Linien
  2. Teeth-Linien: 8 Zyklen SMMA, 5 K-Linien, die in die Zukunft schieben
  3. Lippenstränge: 5 Zyklen SMMA, 3 K-Stränge, die in die Zukunft schieben

Wenn der Alligator-Indikator nach oben in die Öffnungsrichtung geht, d.h. die Jaw-Linie am untersten Ende, die Teeth-Linie in der Mitte und die Lips-Linie am obersten Ende, während der Preis über dem Alligator-Indikator liegt, wird die Strategie mehr gehandelt. Dies zeigt, dass eine Aufwärtstrendwelle bestätigt wurde und wir die Position bis zum Ende des Trends halten möchten.

Wenn der Preis die Jaw-Linie überschreitet, wird die Strategie mehrere Bestellungen ausgleichen. Dies kann garantieren, dass wir keine weitere Position im Bärenmarkt halten.

Strategische Vorteile

  1. Für mittlere und lange Zeit Handel: Die Strategie basiert auf dem Alligator-Indikator und kann die wichtigsten Trends des Marktes effektiv erfassen.
  2. Niedrige Handelsfrequenz: Strategie, die nur bei der Bestätigung des Trends eröffnet und am Ende des Trends ausgeglichen wird, mit relativ geringer Handelsfrequenz, die die Handelskosten effektiv reduziert.
  3. Breite Anwendbarkeit: Die Strategie kann in verschiedenen Finanzmärkten wie Forex, Kryptowährungen usw. angewendet werden und bietet eine hohe Anpassungsfähigkeit und Flexibilität.
  4. Keine Optimierung der Parameter: Die Strategie folgt vollständig den Markttrends, ohne Optimierung der Parameter, einfach und einfach zu bedienen.

Strategische Risiken

  1. Potenzielles Slippage-Risiko: In Fällen von starker Marktfluktuation oder unzureichender Liquidität können Transaktionsorders nicht zu den erwarteten Preisen abgewickelt werden, was zu einem Slippage-Risiko führt.
  2. Fehlende feste Risikomanagement: Die Strategie hat keine feste Risikomanagement-Einstellung und erfordert die Anpassung der Positionsgröße pro Handel entsprechend der eigenen Risikopräferenzen.
  3. Kurzfristige Chancen können verpasst werden: Da die Strategie darauf ausgerichtet ist, mittelfristige und langfristige Trends zu erfassen, können einige kurzfristige Handelschancen verpasst werden.

Strategische Optimierung

  1. Einbeziehung in Risikomanagement-Module: Einbeziehung von Risikomanagement-Maßnahmen wie Stopp-Loss, Dynamic Position Adjustment usw. kann in Betracht gezogen werden, um Risiken besser zu kontrollieren.
  2. Kombination mit anderen technischen Indikatoren: Es kann versucht werden, den Alligator-Indikator mit anderen technischen Indikatoren wie RSI, MACD usw. zu kombinieren, um die Präzision und Zuverlässigkeit der Strategie zu verbessern.
  3. Optimierung der Parameter-Einstellungen: Obwohl diese Strategie keine Parameter-Optimierung erfordert, kann versucht werden, verschiedene Zeitrahmen und Handelszeichen zu überprüfen, um die beste Parameterkombination zu finden.

Zusammenfassung

Die Alligator-Strategie ist eine einfache, einfach zu bedienende, quantitative Handelsstrategie mit vielfältigen Anwendungsmöglichkeiten. Durch die Nutzung der Alligator-Indikatoren, um die wichtigsten Markttrends zu erfassen, kann eine stabile Rendite in der mittleren und langen Zeit erzielt werden. Obwohl die Strategie einige potenzielle Risiken birgt, können die Performance und Stabilität der Strategie durch die Einbindung von Risikomanagementmodulen, die Kombination anderer technischer Indikatoren und die Optimierung der Parameter-Einstellungen weiter verbessert werden. Für Investoren, die einen langfristigen Trend-Tracking-Handel bevorzugen, ist die Alligator-Strategie eine Option, die man in Betracht ziehen sollte.


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

//_______ <licence>
// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Skyrex

//_______ <version>
//@version=5

//_______ <declaration_statement>
strategy(title = "Alligator Long Term Trend Following Strategy [Skyrex.io]", 
         shorttitle = "Alligator Strategy [Skyrex.io]", 
         overlay = true, 
         format = format.inherit, 
         pyramiding = 1, 
         calc_on_order_fills = false, 
         calc_on_every_tick = true, 
         default_qty_type = strategy.percent_of_equity, 
         default_qty_value = 100, 
         initial_capital = 10000, 
         currency = currency.NONE,  
         commission_type = strategy.commission.percent, 
         commission_value = 0.1,
         slippage = 5)


//_______ <constant_declarations>
var color skyrexGreen = color.new(#2ECD99, 0)
var color skyrexGray = color.new(#F2F2F2, 0)
var color skyrexWhite = color.new(#FFFFFF, 0)

var color barcolor = na


//_______ <inputs>
// Trading bot settings
sourceUuid = input.string(title = "sourceUuid:", defval = "yourBotSourceUuid", group = "Trading Bot Settings")
secretToken = input.string(title = "secretToken:", defval = "yourBotSecretToken", group = "Trading Bot Settings")

// Trading Period Settings
lookBackPeriodStart = input(title = "Trade Start Date/Time", defval = timestamp('2023-01-01T00:00:00'), group = "Trading Period Settings")
lookBackPeriodStop = input(title = "Trade Stop Date/Time", defval = timestamp('2025-01-01T00:00:00'), group = "Trading Period Settings")

//_______ <function_declarations>
//@function       Used to calculate Simple moving average for Alligator
//@param src      Sourse for smma Calculations
//@param length   Number of bars to calculate smma
//@returns        The calculated smma value 
smma(src, length) =>
    smma =  0.0
    smma := na(smma[1]) ? ta.sma(src, length) : (smma[1] * (length - 1) + src) / length
    smma


//@function       Used to decide if current candle above the Alligator
//@param jaw      Jaw line of an Alligator
//@param teeth    Teeth line of an Alligator
//@param lips     Lips line of an Alligator
//@returns        Bool value  
is_LowAboveAlligator(jaw, teeth, lips) =>
    result = low > jaw and low > lips and low > teeth 
    result


//@function       Used to decide if current candle below the Alligator
//@param jaw      Jaw line of an Alligator
//@param teeth    Teeth line of an Alligator
//@param lips     Lips line of an Alligator
//@returns        Bool value  
is_HighBelowAlligator(jaw, teeth, lips) =>
    result = high < jaw and high < lips and high < teeth 
    result


//@function       Used to decide if Alligator's mouth is open
//@param jaw      Jaw line of an Alligator
//@param teeth    Teeth line of an Alligator
//@param lips     Lips line of an Alligator
//@returns        Bool value 
is_AlligatorHungry(jaw, teeth, lips) =>
    result = lips > jaw[5] and lips > teeth[2] and teeth > jaw[3]
    result


//_______ <calculations>
jaw = smma(hl2, 13)[8]
teeth = smma(hl2, 8)[5]
lips = smma(hl2, 5)[3]


jaw_o = smma(hl2, 13)
teeth_o = smma(hl2, 8)
lips_o = smma(hl2, 5)


//_______ <strategy_calls>
longCondition = is_LowAboveAlligator(jaw, teeth, lips) and is_AlligatorHungry(jaw_o, teeth_o, lips_o) 
if (longCondition)
    strategy.entry(id = "entry1", direction = strategy.long, alert_message = '{\n"base": "' + syminfo.basecurrency + '",\n"quote": "' + syminfo.currency + '",\n"position": "entry1",\n"price": "' + str.tostring(close) + '",\n"sourceUuid": "' + sourceUuid + '",\n"secretToken": "' + secretToken + '",\n"timestamp": "' + str.tostring(timenow) + '"\n}')

if close < jaw
    strategy.close(id = "entry1", alert_message = '{\n"base": "' + syminfo.basecurrency + '",\n"quote": "' + syminfo.currency + '",\n"position": "close",\n"price": "' + str.tostring(close) + '",\n"sourceUuid": "' + sourceUuid + '",\n"secretToken": "' + secretToken + '",\n"timestamp": "' + str.tostring(timenow) + '"\n}')



//_______ <visuals>
if strategy.opentrades > 0
    barcolor := skyrexGreen
else 
    barcolor := skyrexGray

barcolor(barcolor)
//_______ <alerts>

Inhalte dazu

Weitere Informationen