
Die High-Frequency-Flip-Percentage-Tracking-Dynamik-Strategie ist eine Hochfrequenz-Trading-Strategie, die auf dem Kaufman Adaptive Moving Average (KAMA) basiert. Die Strategie verwendet den KAMA-Indikator als Hauptreferenz auf einem 1-Stunden-Zeitrahmen und handelt auf einem kürzeren Zeitrahmen (z. B. 15 Minuten). Die Kernidee der Strategie besteht darin, eine offene Position schnell zu umkehren, wenn der Preis die KAMA-Linie überschreitet, während ein Gewinnziel von 1% festgelegt wird, um kleine, aber häufige Gewinne zu sichern.
Der Kern der Strategie besteht darin, die KAMA-Linie zu nutzen, um kurzfristige Trends zu erfassen und sich durch häufige Positionsumkehrungen an Marktschwankungen anzupassen. Die Gewinnziele von 1% gewährleisten eine schnelle Gewinnschließung und reduzieren die Positionszeit und das potenzielle Risiko.
Hochfrequenz-Trading-Eigenschaften: Die Strategie kann kurzfristige Marktschwankungen erfassen und die Handelsfrequenz und potenzielle Gewinnchancen erhöhen.
Risikokontrolle: Durch die Festlegung eines Gewinnziels von 1% kann die Strategie kleine Gewinne schnell sperren und die Risikoexposition für einzelne Geschäfte verringern.
Anpassungsfähigkeit: Die KAMA-Indikatoren sind anpassungsfähig und können ihre Sensibilität auf verschiedene Marktbedingungen anpassen, um die Anpassungsfähigkeit der Strategie zu verbessern.
Kapital-Effizienz: Die Strategie nutzt 90% des Kontostandes als Positionsgröße und nutzt die verfügbaren Mittel optimal.
Drawdown-Kontrolle: Häufige kleine Gewinne helfen, die maximale Rücknahme zu kontrollieren und die Strategie stabiler zu machen.
Leveraging Potential: Die Strategie hat das Potenzial, mit einem niedrigeren Drawdown ein höheres Leverage zu nutzen, um die Gewinne zu erhöhen.
Voll-Automatisierung: Die Strategie ist klar, die Transaktionen sind leicht zu automatisieren und es gibt weniger menschliche Eingriffe.
Übertriebenheit: Hochfrequente Umkehrungen können zu Übertriebenheit führen, was zu erhöhten Transaktionskosten und Verlusten von Gleitpunkten führt.
Unverträglich ist der Schwankungsmarkt: In einem schwankenden Markt können häufige Überschwemmungen zu einer Anhäufung kleiner Verluste führen.
Trendverlust: Ein Gewinnziel von 1% kann dazu führen, dass ein zu frühzeitiger Ausverkauf in einem stark trendigen Markt eine größere Gewinnmöglichkeit verpasst.
Gefahr von False Breakouts: Häufige Preiskreuzungen in der Nähe der KAMA-Linie können zu mehreren False Breakouts führen.
Risiken bei der Geldverwaltung: Die Verwendung von 90% des Kontostandes als Position kann bei fortlaufenden Verlusten zu einem schnellen Verlust des Kontostandes führen.
Einschränkung: Die Strategie ist möglicherweise nur für sehr volatile Märkte geeignet und wirkt in niedrig volatilen Märkten weniger gut.
Technische Abhängigkeit: Die Strategie ist stark auf die KAMA-Indikatoren angewiesen, die bei einem Fehlschlag zu erheblichen Verlusten führen können.
Dynamische Stopps: Erwägen Sie, das festgelegte 1%-Gewinnziel in eine dynamische Stopps umzuwandeln, die auf ATR oder Volatilität basieren, um sich an unterschiedliche Marktbedingungen anzupassen.
Eintrittsfilter: Einführung von zusätzlichen Filterbedingungen (z. B. RSI, Transaktionsvolumen) zur Verringerung von falschen Durchbruchgeschäften.
Beurteilung der Trendstärke: Beurteilung der Trendstärke vor dem Positionseröffnen, nur dann zu handeln, wenn der Trend eindeutig ist, und vermeiden Sie häufige Geschäfte in einem wackligen Markt.
Optimierung der Positionsverwaltung: Implementierung flexiblerer Strategien zur Positionsverwaltung, z. B. Positionsgröße anhand von Kontoerträgen oder Marktschwankungen.
Mehrfache Zeitrahmenanalyse: In Verbindung mit einer längerfristigen Zeitrahmenanalyse erhöht die Genauigkeit der Handelsrichtung.
Stop-Loss-Mechanismen: Einführung geeigneter Stop-Loss-Mechanismen, um übermäßige Verluste bei Einzelgeschäften zu verhindern.
Parameteroptimierung: Optimierung der KAMA-Parameter, um die optimale Kombination aus schnellen und langsamen Zeilen zu finden.
Marktadaptivität: Entwicklung von Mechanismen zur Erkennung von Marktzuständen, um Strategieparameter automatisch anzupassen oder den Handel unter verschiedenen Marktbedingungen auszusetzen.
Die High-Frequency-Flip-Percentage-Tracking-Dynamik-Strategie ist eine innovative High-Frequency-Trading-Methode, die auf dem KAMA-Indikator basiert. Die Strategie zielt darauf ab, häufige kleine Gewinne zu erzielen, indem sie kurzfristige Trendänderungen schnell erfasst und ein festes Gewinnziel gesetzt. Die Vorteile liegen in der hohen Anpassungsfähigkeit, der niedrigen Drawdown und der potenziell hohen Kapital-Effizienz, aber auch in den Herausforderungen wie Überhandel und Marktschockrisiken.
Die Strategie hat das Potenzial, ihre Leistung und Stabilität durch Optimierung der Einstiegsbedingungen, die Einführung von dynamischen Stop-Points und die Verbesserung der Positionsverwaltung weiter zu verbessern. Trader sollten sich jedoch der Risiken bewusst sein, wenn sie diese Strategie verwenden, und sie entsprechend ihren persönlichen Risikopräferenzen und den Marktbedingungen anpassen.
/*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
// ----------------------------------------