Strategi perdagangan akhir pekan

Penulis:ChaoZhang, Tanggal: 2023-11-14 11:29:12
Tag:

img

Gambaran umum

Ini adalah strategi perdagangan jangka pendek yang memanfaatkan volume perdagangan akhir pekan Bitcoin yang meningkat dengan menggunakan leverage 10x. Ide utamanya adalah untuk mencatat harga penutupan Jumat, membandingkan harga penutupan harian pada hari Sabtu dan Minggu dengan harga penutupan Jumat, dan pergi panjang atau pendek jika ambang batas melebihi. Posisi akan ditutup pada hari Senin.

Logika Strategi

Strategi pertama mencatat harga penutupan hari Jumat, kemudian menghitung jumlah hari sejak hari Jumat. Pada hari Sabtu dan Minggu, jika harga penutupan harian lebih dari 4,5% di atas harga penutupan hari Jumat, pergi pendek; jika harga penutupan harian lebih dari 4,5% di bawah harga penutupan hari Jumat, pergi panjang. Setiap perdagangan menggunakan leverage 10x. Jika keuntungan mencapai 10% dari modal awal, tutup semua posisi. Pada hari Senin, tutup semua posisi terlepas.

Secara khusus, strategi ini mengambil harga penutupan hari Jumat, lalu membandingkan harga penutupan saat ini dengan hari Jumat pada hari Sabtu dan Minggu.strategy.shortJika harga penutupan saat ini lebih dari 4,5% lebih rendah dari hari Jumat, pergi panjang melaluistrategy.long. Leverage diatur menjadi 10x melaluileverageJika keuntungan mencapai 10% dari modal awal, tutup semua posisi melaluistrategy.close_all()Pada hari Senin, tutup semua posisi melaluistrategy.close_all().

Analisis Keuntungan

  • Menggunakan Bitcoin meningkatnya volume perdagangan akhir pekan untuk perdagangan jangka pendek, menangkap tren akhir pekan
  • 10x leverage memperkuat pengembalian
  • Kondisi mengambil keuntungan membantu mengunci keuntungan dan mencegah kerugian dari memperluas
  • Penutupan posisi pada hari Senin menghindari risiko dari bukaan volatile hari Senin

Analisis Risiko

  • Harga Bitcoin berfluktuasi di akhir pekan, risiko kerugian
  • 10x leverage memperkuat kerugian
  • Penempatan stop loss yang tidak tepat dapat menyebabkan kerugian besar
  • Pembukaan Senin yang fluktuatif dapat mencegah keuntungan penuh

Peningkatan potensial untuk mengurangi risiko:

  1. Atur stop loss untuk mengendalikan kerugian per perdagangan.
  2. Sesuaikan leverage untuk mengurangi risiko.
  3. Mengoptimalkan mengambil poin keuntungan, mengambil keuntungan dalam batch setelah mencapai tingkat keuntungan tertentu.
  4. Atur volume atau waktu mengambil keuntungan sebelum bukaan Senin untuk menghindari volatilitas.

Arahan Optimasi

Strategi ini dapat ditingkatkan dalam hal berikut:

  1. Tambahkan indikator lain untuk waktu entri yang lebih baik. sertakan moving average, RSI dll untuk menyaring entri dan meningkatkan akurasi.

  2. Mengoptimalkan strategi stop loss dan take profit. Gunakan trailing stop, staged profit taking dll untuk mengunci keuntungan dan mengendalikan risiko.

  3. Sesuaikan ukuran leverage untuk mengurangi risiko. menerapkan penyesuaian leverage dinamis, menurunkan leverage selama penarikan.

  4. Menambahkan cryptocurrency lainnya. Perdagangan crypto tambahan dengan pola akhir pekan untuk arbitrage multi-aset.

  5. Menggunakan pembelajaran mesin untuk mengoptimalkan parameter. Mengumpulkan dataset historis besar dan menggunakan ML untuk mengoptimalkan penyesuaian parameter dinamis secara otomatis.

Ringkasan

Ini adalah strategi perdagangan jangka pendek yang khas yang memanfaatkan volume akhir pekan Bitcoin yang meningkat. Ini memanfaatkan volume akhir pekan dengan menilai tren pada hari Sabtu dan Minggu, pergi panjang atau pendek. Strategi ini memiliki keuntungan seperti amplifikasi keuntungan dan pengendalian risiko, tetapi juga memiliki beberapa risiko. Langkah selanjutnya adalah mengoptimalkan bidang seperti masuk, stop loss, manajemen leverage, ekspansi aset dll untuk membuat strategi lebih kuat dan cerdas.


/*backtest
start: 2023-10-14 00:00:00
end: 2023-11-13 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
//Copyright Boris Kozak 
strategy("XBT Weekend Trade Strategy", overlay=false)
leverage = input(10,"Leverage")
profitTakingPercentThreshold = input(0.10,"Profit Taking Percent Threshold")

//****Code used for setting up backtesting.****///
testStartYear = input(2017, "Backtest Start Year")
testStartMonth = input(12, "Backtest Start Month")
testStartDay = input(10, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay,0,0)

testStopYear = input(2025, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(30, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay,0,0)

// A switch to control background coloring of the test period
testPeriodBackground = input(title="Color Background?", type=bool, defval=true)
testPeriodBackgroundColor = testPeriodBackground and (time >= testPeriodStart) and (time <= testPeriodStop) ? #00FFFF : na
bgcolor(testPeriodBackgroundColor, transp=50)

testPeriod() => true
    
//****END Code used for setting up backtesting.****///


//*** Main entry point is here***//
// Figure out how many days since the Friday close 
days_since_friday = if dayofweek == 6
    0
else 
    if dayofweek == 7
        1
    else
        if dayofweek == 1
            2
        else
            if dayofweek == 2
                3
            else
                if dayofweek == 3
                    4
                else
                    if dayofweek == 4
                        5
                    else
                        6
    
// Grab the Friday close price
fridaycloseprice = request.security(syminfo.tickerid,'D',close[days_since_friday])
plot(fridaycloseprice)
strategy.initial_capital = 50000
// Only perform backtesting during the window specified 
if testPeriod()
    // If we've reached out profit threshold, exit all positions 
    if ((strategy.openprofit/strategy.initial_capital) > profitTakingPercentThreshold)
        strategy.close_all()
    // Only execute this trade on saturday and sunday (UTC)
    if (dayofweek == 7.0 or dayofweek == 1.0)
        // Begin - Empty position (no active trades)
        if (strategy.position_size == 0)
            // If current close price > threshold, go short 
            if ((close>fridaycloseprice*1.045))
                strategy.entry("Short Entry", strategy.short, leverage)
            else
                // If current close price < threshold, go long
                if (close<(fridaycloseprice*0.955))
                    strategy.entry("Long Entry",strategy.long, leverage)
        // Begin - we already have a position
        if (abs(strategy.position_size) > 0)
            // We are short 
            if (strategy.position_size < 0)
                if ((close>strategy.position_avg_price*1.045))
                    // Add to the position
                    strategy.entry("Adding to Short Entry", strategy.short, leverage)
            else
                strategy.entry("Long Entry",strategy.long,leverage)
    // On Monday, if we have any open positions, close them 
    if (dayofweek==2.0)
        strategy.close_all()
 






Lebih banyak