Strategi Momentum Breakout

Penulis:ChaoZhang, Tanggal: 2024-02-29 14:04:50
Tag:

img

Gambaran umum

Ide utama di balik strategi ini adalah untuk memutuskan kapan membeli dan menjual cryptocurrency berdasarkan indikator momentum harga.

Logika Strategi

Strategi ini menggunakan dua metrik untuk menentukan sinyal masuk dan keluar. Yang pertama adalah harga itu sendiri ini memeriksa harga tertinggi dan terendah selama 10 candlestick terakhir. Yang kedua adalah indikator momentum berdasarkan harga - nilai %K.

Secara khusus, ketika harga turun di bawah 98% dari harga tertinggi selama 10 candlestick terakhir (batas beli), strategi memicu sinyal beli. Ini berarti terobosan ke bawah telah terjadi. Demikian pula ketika harga naik di atas 102% dari harga terendah selama 10 candlestick terakhir (batas jual), strategi memicu sinyal jual, yang berarti terobosan ke atas telah terjadi.

Dengan cara ini strategi dapat menangkap titik pembalikan ketika tren baru terbentuk dalam pergerakan harga.

Analisis Keuntungan

Keuntungan terbesar dari strategi ini adalah bahwa ia mempertimbangkan faktor tingkat harga dan momentum. Bergantung pada indikator momentum memungkinkan penangkapan yang lebih dapat diandalkan dari pembalikan tren sejati daripada disesatkan oleh pecah palsu. Keuntungan spesifik adalah:

  1. Menyaring kebisingan menggunakan momentum metrik untuk mengidentifikasi sinyal nyata
  2. Hasil backtest yang sangat baik dengan penarikan maksimum yang relatif kecil
  3. Frekuensi dapat dikontrol melalui parameter yang dapat disesuaikan
  4. Risiko dapat dikelola secara efektif dengan memasukkan stop loss

Analisis Risiko

Beberapa risiko yang perlu diperhatikan dengan strategi ini:

  1. Kehancuran pasar yang mengarah pada crash flash yang tidak dapat dihentikan
  2. Dampak dari biaya perdagangan dan slippage
  3. Salah konfigurasi parameter yang mengakibatkan overtrading atau kesempatan yang hilang

Pengurangan:

  1. Menggunakan model multifaktor untuk mencegah kegagalan indikator tunggal
  2. Menggabungkan stop loss untuk membatasi kerugian maksimum
  3. Mengoptimalkan parameter untuk membuat strategi lebih kuat

Peluang Peningkatan

Optimalisasi lebih lanjut untuk strategi:

  1. Tambahkan lebih banyak filter seperti volume, Bollinger Bands dll.
  2. Mengatur parameter secara dinamis berdasarkan pembelajaran mesin
  3. Menggabungkan analisis fundamental untuk menyesuaikan strategi di sekitar peristiwa kunci
  4. Mengoptimalkan pemanfaatan modal melalui leverage untuk memperkuat pengembalian

Ringkasan

Secara keseluruhan strategi momentum breakout ini sangat cocok untuk menangkap peluang perdagangan jangka pendek dalam cryptocurrency. Ini secara efektif memanfaatkan karakteristik momentum pembalikan harga untuk keuntungan sambil mengendalikan risiko. Perbaikan terus-menerus pada parameter dan model dapat membuat strategi lebih kuat untuk pengembalian yang konsisten.


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

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © nyxover

//@version=5
strategy("Stratégie d'achat bas/vendre haut", shorttitle="Achat/Vente")

// Paramètres d'entrée
crypto = input("BTC", "Crypto-monnaie")
capital = input(1.0, "Capital de départ")
buy_threshold = input(0.02, "Seuil d'achat")
sell_threshold = input(0.02, "Seuil de vente")
fee_rate = input(0.01, "Taux de frais")

// Balances
var float initial_balance = na
var float current_balance = na

// Fonction pour calculer les frais
calculate_fees(amount) =>
    amount * fee_rate

// Fonction pour acheter
should_buy() =>
    close < ta.highest(close, 10) * (1 - buy_threshold)

// Fonction pour vendre
should_sell() =>
    close > ta.lowest(close, 10) * (1 + sell_threshold)

// Logique de la stratégie
if barstate.isfirst
    initial_balance := capital
    current_balance := capital

if should_buy()
    amount_to_buy = current_balance / close
    fees = calculate_fees(amount_to_buy)
    current_balance := current_balance - amount_to_buy - fees
    strategy.entry("Achat", strategy.long)

if should_sell()
    amount_to_sell = current_balance
    fees = calculate_fees(amount_to_sell)
    current_balance := current_balance - amount_to_sell - fees
    strategy.close("Achat")

// Affichage des informations
plot(initial_balance, color=color.green, title="Capital de départ")
plot(current_balance, color=color.blue, title="Capital actuel")



Lebih banyak