Die Ressourcen sind geladen. Beförderung...

Hochfrequenz-Flip-Prozentsatz-Momentumsstrategie

Schriftsteller:ChaoZhang, Datum: 2024-07-29 14:12:08
Tags:KAMATP

img

Übersicht

Die High-Frequency Flip Percentage Tracking Momentum Strategy ist ein Hochfrequenz-Handelsansatz, der auf dem Kaufman Adaptive Moving Average (KAMA) basiert. Diese Strategie verwendet den KAMA-Indikator auf einem 1-Stunden-Zeitrahmen als primäre Referenz bei der Ausführung von Trades auf kürzeren Zeitrahmen, wie z. B. 15 Minuten. Das Kernkonzept beinhaltet ein schnelles Umschalten zwischen langen und kurzen Positionen, wenn der Preis die KAMA-Linie überschreitet, mit einem Gewinnziel von 1% zur Sicherung kleiner, aber häufiger Gewinne.

Strategieprinzipien

  1. Verwenden Sie die KAMA-Linie auf einem Zeitrahmen von 1 Stunde als Haupttrendindikator.
  2. Öffnen Sie eine Long-Position, wenn der Preis über die KAMA-Linie geht, und eine Short-Position, wenn er unterhalb der KAMA-Linie geht.
  3. Bei einer Long-Position, wenn der Preis unterhalb der KAMA-Linie überschreitet, schließt man die Long-Position und eröffnet eine Short-Position; umgekehrt bei Short-Positionen.
  4. Stellen Sie ein Gewinnziel von 1% fest, und schließen Sie die Position sofort ab und setzen Sie den Kontostand zurück.
  5. Verwenden Sie 90% des Kontostandes als Positionsgröße für jeden Handel.
  6. Handel in kürzerer Zeit (z. B. 15 Minuten) durchführen, um mehr Handelsmöglichkeiten zu nutzen.

Der Kern der Strategie besteht darin, die KAMA-Linie zu nutzen, um kurzfristige Trends zu erfassen und sich durch häufiges Positionswechsel an Marktschwankungen anzupassen.

Strategische Vorteile

  1. Merkmale des häufigen Handels: Die Strategie kann kurzfristige Marktvolatilität, eine höhere Handelsfrequenz und potenzielle Gewinnchancen erfassen.

  2. Risikokontrolle: Durch die Festlegung eines Gewinnziels von 1% kann die Strategie schnell kleine Gewinne erzielen und so das Risiko pro Handel reduzieren.

  3. Hohe Anpassungsfähigkeit: Der KAMA-Indikator verfügt über Anpassungsmerkmale, die es ihm ermöglichen, die Empfindlichkeit unter verschiedenen Marktbedingungen anzupassen und somit die Anpassungsfähigkeit der Strategie zu erhöhen.

  4. Hohe Kapitaleffizienz: Die Strategie verwendet 90% des Kontostandes als Positionsgröße und nutzt die verfügbaren Mittel vollständig.

  5. Auslastungskontrolle: Häufige kleine Gewinne helfen, die maximale Auslastung zu kontrollieren, wodurch die Strategie stabiler wird.

  6. Hebelwirkungspotenzial: Aufgrund der geringeren Abzüge kann die Strategie höhere Hebelwirkung nutzen, um die Rendite zu erhöhen.

  7. Volle Automatisierung: Die Strategie-Logik ist klar und einfach umzusetzen für den vollautomatisierten Handel, wodurch menschliches Eingreifen reduziert wird.

Strategische Risiken

  1. Überhändeln: Hochfrequente Umdrehungen können zu einem übermäßigen Handel, zu erhöhten Transaktionskosten und zu Schlupfverlusten führen.

  2. Ungünstig bei unruhigen Märkten: In seitlichen, unruhigen Märkten können häufige lange-kurze Umschläge zu kumulierten kleinen Verlusten führen.

  3. Fehlende Trends: Das Gewinnziel von 1% kann in stark trendigen Märkten zu frühen Ausstiegen führen und größere Gewinnchancen verpassen.

  4. Risiko eines falschen Ausbruchs: Häufige Preiskreuzungen um die KAMA-Linie können zu mehreren falschen Ausbruchsgeschäften führen.

  5. Geldmanagementrisiko: Die Verwendung von 90% des Kontostandes als Positionsgröße kann bei aufeinanderfolgenden Verlusten das Kapital rasch erodieren.

  6. Beschränkte Anwendbarkeit: Die Strategie ist möglicherweise nur für stark volatile Märkte geeignet, die in Umgebungen mit geringer Volatilität unterdurchschnittlich abschneiden.

  7. Technische Abhängigkeit: Die Strategie stützt sich stark auf den KAMA-Indikator; wenn der Indikator fehlschlägt, kann dies zu erheblichen Verlusten führen.

Strategieoptimierungsrichtlinien

  1. Dynamisches Gewinnspiel: Es sollte in Betracht gezogen werden, das festgelegte Gewinnziel von 1% auf ein dynamisches Gewinnspiel auf der Grundlage von ATR oder Volatilität zu ändern, um sich an unterschiedliche Marktbedingungen anzupassen.

  2. Eintrittsfilterung: Einführung zusätzlicher Filterbedingungen (z. B. RSI, Volumen) zur Verringerung falscher Breakout-Trades.

  3. Beurteilung der Trendstärke: Beurteilen Sie die Trendstärke vor dem Eintritt und handeln Sie nur, wenn die Trends klar sind, um häufige Handelsgeschäfte in unruhigen Märkten zu vermeiden.

  4. Optimierung des Positionsmanagements: Einführung einer flexibleren Positionsgrößenstrategie, bei der die Positionsgröße anhand der Kontoergebnisse oder der Marktvolatilität angepasst wird.

  5. Multi-Timeframe-Analyse: Die Analyse aus längeren Zeitrahmen ist zu integrieren, um die Genauigkeit der Handelsrichtung zu verbessern.

  6. Einrichtung eines Stop-Loss-Mechanismus: Einführung geeigneter Stop-Loss-Mechanismen, um übermäßige Verluste bei einzelnen Geschäften zu vermeiden.

  7. Parameteroptimierung: Optimieren Sie die KAMA-Parameter, um die beste Kombination aus schnellen und langsamen Perioden zu finden.

  8. Anpassungsfähigkeit des Marktes: Entwicklung eines Mechanismus zur Anerkennung des Marktzustands zur automatischen Anpassung der Strategieparameter oder zur Unterbrechung des Handels unter unterschiedlichen Marktbedingungen.

Schlussfolgerung

Die High-Frequency Flip Percentage Tracking Momentum Strategy ist eine innovative Hochfrequenz-Handelsmethode, die auf dem KAMA-Indikator basiert.

Durch die Optimierung der Einstiegsbedingungen, die Einführung dynamischer Take-Profits und die Verbesserung des Positionsmanagements hat diese Strategie das Potenzial, ihre Leistung und Stabilität weiter zu verbessern. Trader sollten jedoch ihre Risiken bei der Verwendung dieser Strategie vollständig erkennen und geeignete Anpassungen anhand persönlicher Risikopräferenzen und Marktbedingungen vornehmen. Insgesamt ist dies eine vielversprechende quantitative Handelsstrategie, die besonders für Anleger geeignet ist, die auf der Suche nach Hochfrequenz- und risikoarmen Handelsmöglichkeiten sind.


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

//@version=5
// indicator('TeeLek Flip 1 Percent', shorttitle='TeeLek Flip 1 Percent', overlay=true)
strategy("TeeLek Flip 1 Percent", shorttitle="TeeLek Flip 1 Percent", overlay=true)

// ----------------------------------------
// Input
// ----------------------------------------
BALANCE_USDT = input.float(1000, title="Start Balance (USDT)", minval=100)
PERCENT_POSITION_SIZE = input.float(90, title="Position Size (%USDT)", minval=1, maxval=100)
PERCENT_TAKE_PROFIT = input.float(10, title="Take Profit (%)", minval=0.1, maxval=100)
// KAMA Setup
KAMA_PERIOD = int(10)
KMA_FAST_LEN = input.int(5, "KMA Fast Legnth", minval=1,group="KAMA Setup")
KMA_SLOW_LEN = input.int(50, "KMA Slow Legnth", minval=1,group="KAMA Setup")

// ----------------------------------------
// Function
// ----------------------------------------
pine_kama(source) =>
    price_change = math.abs(source - source[KAMA_PERIOD])
    sum_price_change = math.sum(math.abs(source - source[1]), KAMA_PERIOD)
    fastest = 2/(KMA_FAST_LEN + 1)
    slowest = 2/(KMA_SLOW_LEN + 1)
    ER = price_change / sum_price_change
    SC =  math.pow((ER * (fastest-slowest) + slowest), 2)
    alpha = SC
    sum = 0.0
    sum := na(sum[1]) ? source : sum[1] + SC * (source - nz(sum[1]))

// ----------------------------------------
// Variable
// ----------------------------------------
var CurrentBalance_USDT = float(0)
var Accom_USDT = float(0)
var PositionSize_USDT = float(0)
var PositionSize_BTC = float(0)
var PositionTarget_USDT = float(0)
var TargetPrice = float(0)

var Long_BTC = float(0)
var Long_AvgPrice = float(0)
var Short_BTC = float(0)
var Short_AvgPrice = float(0)

var Long_Profit = float(0)
var Short_Profit = float(0)
// เริ่มต้นจากจำนวน Balanace ที่กำหนดมาให้
if CurrentBalance_USDT==0
    CurrentBalance_USDT:=BALANCE_USDT

// ----------------------------------------
// Signal
// ----------------------------------------
// kama line
kama_1h = request.security(syminfo.tickerid, "60",pine_kama(close))

// ----------------------------------------
// Strategy Preparing
// ----------------------------------------
// คำนวณ Position Size เตรียมเอาไว้
PositionSize_USDT:=CurrentBalance_USDT*PERCENT_POSITION_SIZE/100
PositionSize_BTC:=PositionSize_USDT/close
// คำนวณหามูลค่าเป้าหมาย ถ้าถึงก็จะขายเลย
PositionTarget_USDT:=CurrentBalance_USDT+(CurrentBalance_USDT*PERCENT_TAKE_PROFIT/100)

// ถ้ายังไม่ได้เปิด Order // ให้รอ ราคาตัดเส้น KAMA 1H ก่อน
if Long_BTC==0 and Short_BTC==0
    // ตัดขึ้น ให้ซื้อขึ้น Long
    if close>kama_1h and close[1]<=kama_1h[1]
        strategy.entry("L", strategy.long)
        Long_BTC:=PositionSize_BTC
        Long_AvgPrice:=close
    // ตัดลง ให้ซื้อลง  Short
    else if close<kama_1h and close[1]>=kama_1h[1]
        strategy.entry("S", strategy.short)
        Short_BTC:=PositionSize_BTC
        Short_AvgPrice:=close

// ----------------------------------------
// Strategy Switch Side
// ----------------------------------------
// ถ้าเปิด Long อยู่
if Long_BTC>0 
    // ถ้าตัดลง ให้ปิด Long แล้วซื้อลง Short
    if close<kama_1h and close[1]>=kama_1h[1]
        strategy.close_all("X")
        strategy.entry("S", strategy.short)
        Accom_USDT:=Accom_USDT+(close*Long_BTC)-(Long_AvgPrice*Long_BTC)
        Long_AvgPrice:=0
        Long_BTC:=0
        Short_AvgPrice:=close
        Short_BTC:=PositionSize_BTC
// ถ้าเปิด Short อยู่
if Short_BTC>0
    // ตัดขึ้น ให้ปิด Short แล้วซื้อขึ้น Long
    if close>kama_1h and close[1]<=kama_1h[1]
        strategy.close_all("X")
        strategy.entry("L", strategy.long)
        Accom_USDT:=Accom_USDT+(Short_AvgPrice*Short_BTC)-(close*Short_BTC)
        Short_AvgPrice:=0
        Short_BTC:=0
        Long_AvgPrice:=close
        Long_BTC:=PositionSize_BTC

// ----------------------------------------
// Strategy Take Profit
// ----------------------------------------
// ถ้าเปิด Long อยู่
if Long_BTC>0
    // คำนวณหาราคา Target price
    TargetPrice:=(PositionTarget_USDT+(Long_AvgPrice*Long_BTC)-(CurrentBalance_USDT+Accom_USDT))/Long_BTC
    // ถ้าราคามากกว่าราคาเป้าหมายก็ปิดทำกำไรได้เลย
    if close>=TargetPrice
        strategy.close_all("Take Profit")
        // เก็บกำไรเป็นทุน ไปเริ่มรอบใหม่
        CurrentBalance_USDT:=CurrentBalance_USDT+(close*Long_BTC)-(Long_AvgPrice*Long_BTC)
        Long_BTC:=0
        Long_AvgPrice:=0
        Accom_USDT:=0

// ถ้าเปิด Short อยู่
if Short_BTC>0
    // คำนวณหาราคา Target price
    TargetPrice:=((CurrentBalance_USDT+Accom_USDT)+(Short_AvgPrice*Short_BTC)-PositionTarget_USDT)/Short_BTC
    // ถ้าราคามากกว่าราคาเป้าหมายก็ปิดทำกำไรได้เลย
    if close<=TargetPrice
        strategy.close_all("Take Profit")
        // เก็บกำไรเป็นทุน ไปเริ่มรอบใหม่
        CurrentBalance_USDT:=CurrentBalance_USDT+(Short_AvgPrice*Short_BTC)-(close*Short_BTC)
        Short_BTC:=0
        Short_AvgPrice:=0
        Accom_USDT:=0

// ----------------------------------------
// Draw
// ----------------------------------------
// KAMA
plot(kama_1h,"KAMA 1H", #f18a23 , linewidth = 2)

// ----------------------------------------
// Alert
// ----------------------------------------

// ----------------------------------------
// Info Table
// ----------------------------------------


Verwandt

Mehr