Strategi Momentum Pengesanan Peratusan Flip Frekuensi Tinggi adalah pendekatan perdagangan frekuensi tinggi berdasarkan Kaufman Adaptive Moving Average (KAMA). Strategi ini menggunakan penunjuk KAMA pada jangka masa 1 jam sebagai rujukan utamanya semasa melaksanakan perdagangan pada jangka masa yang lebih pendek, seperti 15 minit. Konsep teras melibatkan pembalikan dengan cepat antara kedudukan panjang dan pendek apabila harga melintasi garis KAMA, dengan sasaran keuntungan 1% untuk mendapatkan keuntungan kecil tetapi kerap. Kaedah ini bertujuan untuk memanfaatkan turun naik pasaran jangka pendek sambil mengawal risiko melalui pengambilan keuntungan yang cepat.
Inti strategi ini adalah menggunakan garis KAMA untuk menangkap trend jangka pendek dan menyesuaikan diri dengan turun naik pasaran melalui pembalikan kedudukan yang kerap.
Ciri-ciri perdagangan frekuensi tinggi: Strategi boleh menangkap turun naik pasaran jangka pendek, meningkatkan kekerapan perdagangan dan peluang keuntungan yang berpotensi.
Kawalan risiko: Dengan menetapkan sasaran keuntungan 1%, strategi dapat dengan cepat mengunci keuntungan kecil, mengurangkan pendedahan risiko setiap perdagangan.
Kemudahan penyesuaian yang tinggi: Penunjuk KAMA mempunyai ciri penyesuaian, yang membolehkannya menyesuaikan kepekaan di bawah keadaan pasaran yang berbeza, meningkatkan kemampuan penyesuaian strategi.
Kecekapan modal yang tinggi: Strategi menggunakan 90% baki akaun sebagai saiz kedudukan, menggunakan sepenuhnya dana yang ada.
Kawalan pengeluaran: Keuntungan kecil yang kerap membantu mengawal pengeluaran maksimum, menjadikan strategi lebih stabil.
Potensi leverage: Oleh kerana pengeluaran yang lebih rendah, strategi mempunyai potensi untuk menggunakan leverage yang lebih tinggi untuk meningkatkan pulangan.
Automasi penuh: Logik strategi jelas dan mudah dilaksanakan untuk perdagangan automatik sepenuhnya, mengurangkan campur tangan manusia.
Perdagangan yang berlebihan: Pembalikan frekuensi tinggi boleh menyebabkan perdagangan yang berlebihan, meningkatkan kos transaksi dan kerugian seluncur.
Tidak menguntungkan di pasaran bergolak: Di pasaran bergolak, bergolak, lemparan panjang pendek yang kerap boleh mengakibatkan kerugian kecil terkumpul.
Trend yang hilang: Sasaran keuntungan 1% boleh menyebabkan keluar awal di pasaran trend yang kuat, kehilangan peluang keuntungan yang lebih besar.
Risiko pecah palsu: Pembebasan harga yang kerap di sekitar garis KAMA boleh mencetuskan pelbagai perdagangan pecah palsu.
Risiko pengurusan wang: Menggunakan 90% baki akaun sebagai saiz kedudukan boleh dengan cepat mengikis modal semasa kerugian berturut-turut.
Penggunaan terhad: Strategi ini mungkin hanya sesuai untuk pasaran yang sangat tidak menentu, berprestasi rendah dalam persekitaran yang tidak menentu.
Kebergantungan teknikal: Strategi ini sangat bergantung pada penunjuk KAMA; jika penunjuk itu gagal, ia boleh membawa kepada kerugian yang ketara.
Mengambil keuntungan dinamik: Pertimbangkan untuk menukar sasaran keuntungan tetap 1% kepada keuntungan dinamik berdasarkan ATR atau turun naik untuk menyesuaikan diri dengan keadaan pasaran yang berbeza.
Penapisan kemasukan: Memperkenalkan syarat penapisan tambahan (seperti RSI, jumlah) untuk mengurangkan perdagangan pecah palsu.
Penilaian kekuatan trend: Menilai kekuatan trend sebelum memasuki, hanya berdagang apabila trend jelas untuk mengelakkan perdagangan yang kerap di pasaran yang bergolak.
Pengoptimuman pengurusan kedudukan: Melaksanakan strategi ukuran kedudukan yang lebih fleksibel, menyesuaikan saiz kedudukan berdasarkan prestasi akaun atau turun naik pasaran.
Analisis pelbagai jangka masa: Sertakan analisis dari jangka masa yang lebih lama untuk meningkatkan ketepatan arah perdagangan.
Mekanisme Stop-Loss: Memperkenalkan mekanisme Stop-Loss yang sesuai untuk mengelakkan kerugian yang berlebihan pada perdagangan individu.
Pengoptimuman parameter: Mengoptimumkan parameter KAMA untuk mencari kombinasi terbaik tempoh cepat dan perlahan.
Kemampuan penyesuaian pasaran: Membangunkan mekanisme pengiktirafan keadaan pasaran untuk menyesuaikan parameter strategi secara automatik atau menghentikan perdagangan di bawah keadaan pasaran yang berbeza.
Strategi Momentum Pengesanan Peratusan Flip Frekuensi Tinggi adalah kaedah perdagangan frekuensi tinggi yang inovatif berdasarkan penunjuk KAMA. Dengan cepat menangkap perubahan trend jangka pendek dan menetapkan sasaran keuntungan tetap, strategi ini bertujuan untuk mencapai keuntungan kecil yang kerap. Kelebihannya terletak pada kemampuan beradaptasi yang tinggi, pengeluaran yang rendah, dan potensi kecekapan modal yang tinggi, tetapi juga menghadapi cabaran seperti perdagangan berlebihan dan risiko di pasaran yang bergolak.
Dengan mengoptimumkan syarat kemasukan, memperkenalkan mengambil keuntungan dinamik, dan meningkatkan pengurusan kedudukan, strategi ini mempunyai potensi untuk meningkatkan prestasi dan kestabilan lebih lanjut. Walau bagaimanapun, peniaga harus sepenuhnya menyedari risikonya ketika menggunakan strategi ini dan membuat penyesuaian yang sesuai berdasarkan pilihan risiko peribadi dan keadaan pasaran. Secara keseluruhan, ini adalah strategi perdagangan kuantitatif yang menjanjikan, terutama sesuai untuk pelabur yang mencari peluang perdagangan frekuensi tinggi dan berisiko 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 // ----------------------------------------