Die Ressourcen sind geladen. Beförderung...

Dynamische Strategie zur Richtung der Kerze

Schriftsteller:ChaoZhang, Datum: 2023-10-25 16:57:05
Tags:

img

Übersicht

Diese Strategie bestimmt die zukünftige Richtung der Kerze, indem sie den Schlusskurs in Bezug auf den Eröffnungskurs der vergangenen N Kerzen analysiert.

Strategie Logik

Die Kernlogik dieser Strategie lautet:

  1. Setzen Sie den Parameter NUM_CANDLES, um die Anzahl der zu analysierenden Kerzen zu bestimmen.

  2. Definition der Funktion candle_dir zur Bestimmung der Richtung einer einzelnen Kerze. close>open ist bullish, close

  3. Definieren Sie die Funktion count_candles, um die Anzahl der Kerzen mit einer bestimmten Richtung in früheren NUM_CANDLES-Kerzen zu zählen.

  4. Zählen Sie die Anzahl der bullischen, bärischen und neutralen Kerzen in den vergangenen NUM_CANDLES-Kerzen, speichern Sie in ups, dns, neu.

  5. Definition des Indikators, dessen Wert gleich ups-dns plus/minus neu ist.

  6. Lange/kurze Einträge werden anhand des Indikators bestimmt.

Durch die Analyse der Kerzenrichtung einer bestimmten Anzahl von Kerzen schätzt diese Strategie die Wahrscheinlichkeit der zukünftigen Kerzenrichtung für Handelsentscheidungen.

Analyse der Vorteile

  1. Strategie-Logik ist klar und leicht zu verstehen, zu interpretieren und zu überprüfen.

  2. Nur die Daten der Kerze werden benötigt, wodurch die Rechenkosten reduziert werden.

  3. Einfache Anpassung der Empfindlichkeit durch Einstellung des NUM_CANDLES-Parameters.

  4. Anwendbar auf alle Produkte und Zeitrahmen, hohe Anpassungsfähigkeit.

  5. Einfach zu optimieren, um die beste Kombination zu finden.

Risikoanalyse

  1. Unfähigkeit, den Markt im Bereich zu bewältigen, kann zu einem Überhandel führen.

  2. Eine unangemessene Probenzeit kann zu Signalverzögerungen führen, NUM_CANDLES muss sorgfältig abgestimmt werden.

  3. Unfähigkeit, sich an eine Trendwende anzupassen, Gefahr von Verlusten bei einer Trendwende.

  4. Die Auswirkungen auf die Handelskosten müssen berücksichtigt werden, um einen Überhandel zu vermeiden.

  5. Vorsicht bei der Parameteroptimierung vor Überanpassung, erfordern mehrere Marktprüfungen.

Optimierungsrichtlinien

  1. Sie sollten einen Stop-Loss zum Limit-Loss hinzufügen.

  2. Kombination mit dem Trendindikator, um einen gegentrendischen Handel zu vermeiden.

  3. Die Stichprobengröße erhöhen oder einen kürzeren Zeitrahmen verwenden, um die Stabilität zu verbessern.

  4. Betrachten Sie Multi-Markt-Compounding, um die Gewinnrate zu verbessern.

  5. Verwenden Sie maschinelles Lernen für die automatische Optimierung von Parametern.

Schlussfolgerung

Diese Strategie bestimmt die Handelsrichtung durch Analyse der Kerzenrichtung, mit klarer und einfacher Logik. Die Empfindlichkeit ist durch Parameter-Tuning kontrollierbar. Die Vorteile sind Einfachheit, geringe Anforderungen und breite Anpassungsfähigkeit, aber einige Risiken bestehen und weitere Optimierungen sind erforderlich, um die Stabilität zu verbessern. Insgesamt bietet diese Strategie einen einfachen und praktischen Ansatz für den quantitativen Handel.


/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Refined CandleCounter Strategy by origo", overlay=true)

// how many candles to count
NUM_CANDLES = 7

// determine candle direction
candle_dir = close > open ? 1 : (round(close-open) == 0 ? 0 : -1)

// return # of candles with a given direction
count_candles(dir, max) =>
    count = 0
    for i = 0 to max
        if candle_dir[i] == dir
            count := count + 1
    count

ups = count_candles(1, NUM_CANDLES)
dns = count_candles(-1, NUM_CANDLES)
neu = count_candles(0, NUM_CANDLES)

indic = ups-dns


if indic > 0
    indic := indic+neu
else
    indic := indic-neu

plotarrow(neu, title="UP vs DN")

longCondition = (indic) > 0
shortCondition = (indic) <= 0

strategy.entry("buy", strategy.long, 1, when = longCondition and not shortCondition)
strategy.entry("sell", strategy.short, 1, when = shortCondition and not longCondition)


Mehr