Purata strategi pembukaan beransur-ansur pemulihan


Tarikh penciptaan: 2024-01-29 15:47:24 Akhirnya diubah suai: 2024-01-29 15:47:24
Salin: 0 Bilangan klik: 638
1
fokus pada
1617
Pengikut

Purata strategi pembukaan beransur-ansur pemulihan

Gambaran keseluruhan

Strategi Mean Return Gradual Opening adalah skrip strategi perdagangan kuantitatif canggih yang direka oleh HedgerLabs, yang memberi tumpuan kepada teknik Mean Return dalam pasaran kewangan. Strategi ini ditujukan kepada peniaga yang lebih suka kaedah sistematik dan menekankan cara pembukaan kedudukan secara beransur-ansur berdasarkan harga berbanding purata bergerak.

Prinsip Strategi

Pusat strategi ini adalah purata bergerak sederhana (SMA). Semua perdagangan masuk dan keluar dilakukan di sekitar purata bergerak. Pedagang boleh menyesuaikan panjang MA, menjadikannya sesuai untuk gaya perdagangan dan jangka masa yang berbeza.

Strategi ini adalah unik kerana mekanisme pembukaan kedudukan yang beransur-ansur. Strategi ini akan memulakan kedudukan pertama apabila harga menyimpang dari purata bergerak lebih dari satu peratusan. Kemudian, sebagai harga terus menyimpang dari purata bergerak semakin besar, strategi ini akan meningkatkan kedudukan dengan cara yang lebih beransur-ansur yang ditentukan oleh peniaga.

Strategi ini juga akan menguruskan kedudukan dengan bijak. Apabila harga lebih rendah daripada purata bergerak, lebih banyak dan lebih tinggi daripada waktu kosong, untuk menyesuaikan diri dengan keadaan pasaran yang berbeza. Titik kedudukan yang ditetapkan apabila harga menyentuh purata bergerak, bertujuan untuk menangkap titik-titik perubahan yang berpotensi untuk mencapai kedudukan penutupan yang optimum.

Dengan mengaktifkancalc_on_every_tickStrategi ini boleh terus menilai keadaan pasaran dan bertindak balas tepat pada masanya.

Analisis kelebihan

Strategi pembukaan kedudukan beransur-ansur pada nilai purata mempunyai kelebihan berikut:

  1. Tingkat sistematisasi yang tinggi dapat mengurangkan risiko kesalahan subjektif
  2. Posisi yang dibuka secara beransur-ansur boleh menghasilkan keuntungan yang lebih tinggi apabila pasaran berubah-ubah.
  3. Parameter yang boleh disesuaikan seperti kitaran MA untuk menyesuaikan diri dengan pelbagai jenis
  4. Mekanisme pengurusan kedudukan yang lebih pintar, boleh menyesuaikan kedudukan kosong secara automatik
  5. Pilih titik keluar yang munasabah untuk menangkap reversal dan menutup kedudukan

Analisis risiko

Strategi ini mempunyai beberapa risiko:

  1. Bergantung kepada petunjuk teknikal, risiko isyarat palsu boleh berlaku
  2. Tidak dapat menilai trend pasaran, mudah terjebak
  3. Penetapan parameter MA yang tidak betul boleh menyebabkan gangguan yang kerap
  4. Penempatan Posisi Secara Beransur-ansur Meningkatkan Risiko

Risiko di atas boleh dikurangkan dengan mengoptimumkan keluar dengan betul, menilai trend dengan lebih baik, atau mengurangkan margin kedudukan dengan betul.

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Meningkatkan syarat penyingkiran trend untuk mengelakkan kedudukan berlawanan
  2. Optimumkan margin pembukaan kedudukan dengan penunjuk kadar turun naik
  3. Mengoptimumkan Stop Loss Bergerak untuk Mengunci Keuntungan
  4. Cuba jenis purata bergerak yang berbeza
  5. Tambah penapis untuk mengurangkan isyarat tidak sah

ringkaskan

Strategi pembukaan kedudukan beransur-ansur dengan pulangan rata-rata memberi tumpuan kepada teknik perdagangan beransur-ansur, menggunakan kedudukan pengurusan pembukaan kedudukan beransur-ansur yang sistematik, parameter yang boleh disesuaikan sesuai untuk pelbagai jenis perdagangan. Strategi ini berfungsi dengan baik di pasaran yang bergolak dan sesuai untuk pedagang kuantitatif yang memberi perhatian kepada operasi garis pendek.

Kod sumber strategi
/*backtest
start: 2023-12-29 00:00:00
end: 2024-01-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Mean Reversion with Incremental Entry by HedgerLabs", overlay=true, calc_on_every_tick=true)

// Input for adjustable settings
maLength = input.int(30, title="MA Length", minval=1)
initialPercent = input.float(5, title="Initial Percent for First Order", minval=0.01, step=0.01)
percentStep = input.float(1, title="Percent Step for Additional Orders", minval=0.01, step=0.01)

// Calculating Moving Average
ma = ta.sma(close, maLength)

// Plotting the Moving Average
plot(ma, "Moving Average", color=color.blue)

var float lastBuyPrice = na
var float lastSellPrice = na

// Function to calculate absolute price percentage difference
pricePercentDiff(price1, price2) =>
    diff = math.abs(price1 - price2) / price2 * 100
    diff

// Initial Entry Condition Check Function
initialEntryCondition(price, ma, initialPercent) =>
    pricePercentDiff(price, ma) >= initialPercent

// Enhanced Entry Logic for Buy and Sell
if (low < ma)
    if (na(lastBuyPrice))
        if (initialEntryCondition(low, ma, initialPercent))
            strategy.entry("Buy", strategy.long)
            lastBuyPrice := low
    else
        if (low < lastBuyPrice and pricePercentDiff(low, lastBuyPrice) >= percentStep)
            strategy.entry("Buy", strategy.long)
            lastBuyPrice := low

if (high > ma)
    if (na(lastSellPrice))
        if (initialEntryCondition(high, ma, initialPercent))
            strategy.entry("Sell", strategy.short)
            lastSellPrice := high
    else
        if (high > lastSellPrice and pricePercentDiff(high, lastSellPrice) >= percentStep)
            strategy.entry("Sell", strategy.short)
            lastSellPrice := high

// Exit Conditions - Close position if price touches the MA
if (close >= ma and strategy.position_size > 0)
    strategy.close("Buy")
    lastBuyPrice := na

if (close <= ma and strategy.position_size < 0)
    strategy.close("Sell")
    lastSellPrice := na

// Reset last order price when position is closed
if (strategy.position_size == 0)
    lastBuyPrice := na
    lastSellPrice := na