Strategi ini menggunakan indikator KAMA sebagai acuan utama pada jangka waktu 1 jam dan melakukan perdagangan pada jangka waktu yang lebih singkat (misalnya 15 menit). Gagasan inti dari strategi ini adalah untuk membalik posisi terbuka dengan cepat saat harga melintasi garis KAMA, sambil menetapkan target keuntungan 1% untuk mengunci keuntungan kecil tetapi sering. Metode ini bertujuan untuk memanfaatkan fluktuasi pasar jangka pendek, sementara mengendalikan risiko dengan stop-loss cepat.
Inti dari strategi ini adalah memanfaatkan garis KAMA untuk menangkap tren jangka pendek dan beradaptasi dengan fluktuasi pasar melalui pembalikan posisi yang sering. Target keuntungan 1% memastikan keuntungan yang cepat terkunci, mengurangi waktu memegang posisi dan potensi risiko.
Fitur perdagangan frekuensi tinggi: Strategi dapat menangkap fluktuasi pasar jangka pendek, meningkatkan frekuensi perdagangan dan potensi peluang keuntungan.
Pengendalian risiko: Dengan menetapkan target keuntungan 1%, strategi ini dapat mengunci keuntungan kecil dengan cepat dan mengurangi paparan risiko pada satu transaksi.
Adaptif: Indikator KAMA memiliki sifat adaptif, mampu menyesuaikan sensitivitas dalam kondisi pasar yang berbeda, meningkatkan kemampuan adaptasi strategi.
Efisiensi dana: Strategi menggunakan 90% dari saldo akun sebagai ukuran posisi, memanfaatkan sepenuhnya dana yang tersedia.
Kendali drawdown: Kendali drawdown kecil yang sering digunakan untuk mengendalikan drawdown maksimum dan membuat strategi lebih stabil.
Potensi Leverage: Dengan drawdown yang lebih rendah, strategi memiliki potensi untuk menggunakan leverage yang lebih tinggi untuk meningkatkan keuntungan.
Otomatisasi penuh: Strategi logis yang jelas, mudah untuk mencapai transaksi otomatis penuh, mengurangi intervensi manusia.
Overtrading: Flipping frekuensi tinggi dapat menyebabkan overtrading, meningkatkan biaya transaksi dan kehilangan slippage.
Pasar bergoyang tidak menguntungkan: Dalam pasar bergoyang horizontal, sering berbalik-balik dapat menyebabkan akumulasi kerugian kecil berturut-turut.
Kehilangan tren: Target keuntungan 1% dapat menyebabkan terjadinya penutupan prematur di pasar yang sedang tren dan kehilangan peluang keuntungan yang lebih besar.
Risiko terobosan palsu: Seringnya harga melintasi garis KAMA dapat memicu beberapa terobosan palsu.
Risiko manajemen dana: Menggunakan 90% saldo akun sebagai posisi dapat mengikis dana dengan cepat jika terjadi kerugian berturut-turut.
Keterbatasan penerapan: Strategi mungkin hanya berlaku untuk pasar yang lebih volatile dan kurang efektif di pasar yang kurang volatile.
Ketergantungan teknologi: Strategi sangat bergantung pada indikator KAMA, yang dapat menyebabkan kerugian besar jika indikator gagal.
Stop-loss dinamis: Pertimbangkan untuk mengubah target keuntungan 1% yang tetap menjadi stop-loss dinamis berdasarkan ATR atau volatilitas untuk menyesuaikan dengan kondisi pasar yang berbeda.
Penyaringan masuk: Masukkan kondisi penyaringan tambahan (misalnya RSI, volume transaksi) untuk mengurangi perdagangan palsu.
Penilaian kekuatan tren: menilai kekuatan tren sebelum membuka posisi, hanya melakukan perdagangan saat tren jelas, hindari sering melakukan perdagangan di pasar yang bergoyang.
Optimalisasi manajemen posisi: menerapkan strategi manajemen posisi yang lebih fleksibel, seperti menyesuaikan ukuran posisi berdasarkan keuntungan dan kerugian akun atau fluktuasi pasar.
Analisis Multi-Frames: Dengan kombinasi analisis jangka waktu yang lebih lama, ini meningkatkan akurasi arah transaksi.
Mekanisme penangguhan kerugian: Memperkenalkan mekanisme penangguhan kerugian yang tepat untuk mencegah kerugian yang berlebihan dari transaksi tunggal.
Optimasi parameter: mengoptimalkan parameter KAMA untuk mencari kombinasi siklus garis cepat dan lambat yang optimal.
Adaptasi pasar: mengembangkan mekanisme untuk mengidentifikasi status pasar, secara otomatis menyesuaikan parameter strategi atau menghentikan perdagangan dalam kondisi pasar yang berbeda.
High-frequency reversal percentage tracking momentum strategi adalah sebuah metode perdagangan frekuensi tinggi inovatif berdasarkan indikator KAMA. Strategi ini bertujuan untuk mencapai keuntungan kecil yang sering dengan menangkap perubahan tren jangka pendek dengan cepat dan menetapkan target keuntungan tetap. Keunggulan strategi ini adalah fleksibilitas yang tinggi, penarikan rendah dan potensi efisiensi dana yang tinggi, tetapi juga menghadapi tantangan seperti risiko overtrading dan pasar yang bergoyang.
Strategi ini memiliki potensi untuk meningkatkan kinerja dan stabilitas lebih lanjut dengan cara mengoptimalkan persyaratan masuk, memperkenalkan stop-loss dinamis, dan meningkatkan manajemen posisi. Namun, pedagang harus sepenuhnya memahami risikonya saat menggunakan strategi ini, dan melakukan penyesuaian yang tepat sesuai dengan preferensi risiko pribadi dan kondisi pasar. Secara keseluruhan, ini adalah strategi perdagangan kuantitatif yang berpotensi, terutama cocok untuk investor yang mencari peluang perdagangan frekuensi tinggi dan risiko rendah.
/*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
// ----------------------------------------