Strategi Dagangan hujung minggu

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

img

Ringkasan

Ini adalah strategi perdagangan jangka pendek yang menggunakan peningkatan jumlah dagangan hujung minggu Bitcoin menggunakan leverage 10x. Idea utama adalah untuk merekod harga penutupan Jumaat, bandingkan harga penutupan harian pada hari Sabtu dan Ahad dengan harga penutupan Jumaat, dan pergi panjang atau pendek jika ambang melebihi. Posisi akan ditutup pada hari Isnin.

Logika Strategi

Strategi pertama mencatat harga penutupan hari Jumaat, kemudian mengira bilangan hari sejak hari Jumaat. Pada hari Sabtu dan Ahad, jika harga penutupan harian lebih daripada 4.5% di atas harga penutupan hari Jumaat, pergi pendek; jika harga penutupan harian lebih daripada 4.5% di bawah harga penutupan hari Jumaat, pergi panjang. Setiap perdagangan menggunakan leverage 10x. Jika keuntungan mencapai 10% daripada modal awal, tutup semua kedudukan. Pada hari Isnin, tutup semua kedudukan tidak kira.

Secara khusus, strategi ini mendapat harga penutupan Jumaat, kemudian membandingkan harga penutupan semasa dengan Jumaat pada hari Sabtu dan Ahad.strategy.short; jika harga penutupan semasa lebih rendah daripada 4.5% daripada hari Jumaat, pergi panjang melaluistrategy.long. Leverage ditetapkan kepada 10x melaluileverageJika keuntungan mencapai 10% daripada modal awal, tutup semua kedudukan melaluistrategy.close_all()Pada hari Isnin, tutup semua kedudukan melaluistrategy.close_all().

Analisis Kelebihan

  • Menggunakan peningkatan jumlah perdagangan hujung minggu Bitcoin untuk perdagangan jangka pendek, menangkap trend hujung minggu
  • Leverage 10x meningkatkan pulangan
  • Syarat mengambil keuntungan membantu mengunci keuntungan dan mengelakkan kerugian daripada berkembang
  • Penutupan kedudukan pada hari Isnin mengelakkan risiko dari pembukaan hari Isnin yang tidak menentu

Analisis Risiko

  • Harga Bitcoin berubah-ubah pada hujung minggu, risiko kerugian
  • Leverage 10x meningkatkan kerugian
  • Penempatan stop loss yang tidak betul boleh membawa kepada kerugian besar
  • Pembukaan Isnin yang tidak menentu boleh menghalang keuntungan penuh

Peningkatan berpotensi untuk mengurangkan risiko:

  1. Tetapkan stop loss untuk mengawal kerugian setiap perdagangan.
  2. Sesuaikan leverage untuk mengurangkan risiko.
  3. Mengoptimumkan mengambil mata keuntungan, mengambil keuntungan dalam kumpulan selepas mencapai tahap keuntungan tertentu.
  4. Tetapkan jumlah atau masa mengambil keuntungan sebelum pembukaan Isnin untuk mengelakkan turun naik.

Arahan pengoptimuman

Strategi ini boleh ditingkatkan dalam aspek berikut:

  1. Tambah penunjuk lain untuk masa kemasukan yang lebih baik.

  2. Mengoptimumkan strategi stop loss dan mengambil keuntungan. Gunakan stop trailing, mengambil keuntungan bertahap dan lain-lain untuk mengunci keuntungan dan mengawal risiko.

  3. Sesuaikan saiz leverage untuk mengurangkan risiko. Melaksanakan penyesuaian leverage dinamik, menurunkan leverage semasa penarikan.

  4. Tambah cryptocurrency lain. Perdagangan crypto tambahan dengan corak hujung minggu untuk arbitrage pelbagai aset.

  5. Gunakan pembelajaran mesin untuk mengoptimumkan parameter. Kumpulkan set data sejarah yang besar dan gunakan ML untuk mengoptimumkan penyesuaian parameter dinamik secara automatik.

Ringkasan

Ini adalah strategi perdagangan jangka pendek biasa yang menggunakan peningkatan jumlah hujung minggu Bitcoin. Ia memanfaatkan jumlah hujung minggu dengan menilai trend pada hari Sabtu dan Ahad, pergi panjang atau pendek. Strategi ini mempunyai kelebihan seperti penguatan keuntungan dan kawalan risiko, tetapi juga mempunyai beberapa risiko. Langkah seterusnya adalah untuk mengoptimumkan bidang seperti kemasukan, menghentikan kerugian, pengurusan leverage, pengembangan aset dan lain-lain untuk menjadikan strategi lebih mantap dan pintar.


/*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 lanjut