Penembusan harga berbilang fasa dan strategi perdagangan anjakan

OHLC SLTP PPV PVT MPB
Tarikh penciptaan: 2025-05-13 11:08:10 Akhirnya diubah suai: 2025-05-13 11:08:10
Salin: 1 Bilangan klik: 290
2
fokus pada
319
Pengikut

Penembusan harga berbilang fasa dan strategi perdagangan anjakan Penembusan harga berbilang fasa dan strategi perdagangan anjakan

Gambaran keseluruhan

Strategi perdagangan harga pecah dan penarikan balik berbilang fasa adalah sistem perdagangan berdasarkan tindakan harga, terutama mengiktiraf corak harga tertentu dan memasuki titik penembusan dengan tepat. Strategi ini dengan memantau hubungan antara harga pembukaan, harga tertinggi, harga terendah dan harga penutupan grafik, digabungkan dengan analisis perbezaan nilai titik, untuk menangkap masa perubahan dinamik pasaran. Strategi ini mempunyai mekanisme penilaian berbilang fasa, masing-masing menetapkan tiga peringkat masuk yang berbeza, dan dilengkapi dengan logik perdagangan dua arah berbilang ruang yang sesuai, serta mekanisme stop-loss pada titik tetap.

Prinsip Strategi

Prinsip teras strategi ini adalah untuk mengenal pasti dan memanfaatkan peluang yang berterusan selepas turun naik harga yang cepat. Dengan menganalisis kod secara mendalam, kita dapat melihat bahawa strategi ini mengikuti prinsip berikut:

  1. Sistem pengenalan kedudukanStrategi ini membahagikan logik perdagangan kepada tiga fasa ((phase 1-3), yang mencetuskan syarat kemasukan yang berbeza mengikut fasa yang berbeza.

  2. Pengesanan keadaan penembusanUntuk transaksi berbilang arah, syarat utama yang akan diperiksa ialah:

    • Fasa pertama: menilai sama ada ketinggian garis K terdahulu mencapai 300 mata dengan perbezaan harga bukaan, dan sama ada titik terendah lebih rendah daripada titik tertinggi tolak 50 mata
    • Fasa kedua: Apabila memasuki fasa 1, periksa sama ada titik terendah semasa telah ditarik balik ke harga pembukaan rujukan ditambah 250
    • Fasa ketiga: menilai sama ada perbezaan nilai tinggi semasa dengan nilai penutupan sebelumnya melebihi 300 mata, dan sama ada titik rendah memenuhi syarat penarikan balik
  3. Logik terbalik: Perdagangan kosong menggunakan logik terbalik yang sepenuhnya simetri dengan pelbagai kepala, untuk menentukan masa masuk dengan memantau hubungan antara harga pembukaan dan harga minimum.

  4. Tetapan penangguhan kerosakanStrategi menggunakan strategi stop-loss dengan titik tetap, dengan stop-loss berlainan arah ditetapkan pada 301 titik di bawah harga masuk, dan stop-loss ditetapkan pada 301 titik di atas harga penutupan sebelumnya; sebaliknya.

Kelebihan Strategik

Setelah mengkaji kod dengan lebih mendalam, strategi ini menunjukkan beberapa kelebihan yang jelas:

  1. Mekanisme penilaian pelbagai peringkatPenghakiman melalui tiga fasa yang berbeza, mengelakkan kesalahan yang disebabkan oleh satu syarat, meningkatkan ketepatan kemasukan.

  2. Mengambil arah dan menarik diriStrategi ini memberi tumpuan kepada pergerakan harga yang menembusi dan kemungkinan tindakan penarikan diri, dengan keseimbangan antara serangan dan pertahanan.

  3. Parameter yang fleksibelDengan menetapkan parameter nilai titik, strategi dapat disesuaikan dengan pasaran dan varieti yang berbeza dengan ciri-ciri turun naik, meningkatkan ruang lingkup strategi.

  4. Perdagangan dua halaStrategi ini merangkumi logik perdagangan dua hala yang terbuka pada masa yang sama, memanfaatkan peluang pasaran sepenuhnya dan tidak terhad kepada trend satu arah.

  5. Pengurusan risiko terbina dalam: Risiko dan potensi keuntungan setiap dagangan dikawal dengan jelas melalui titik hentian kerugian yang telah ditetapkan.

Risiko Strategik

Walaupun strategi ini direka dengan baik, terdapat risiko yang berpotensi:

  1. Tetapan titik tetapTitik tetap dalam strategi seperti 300, 50, 250 dan 301 mungkin tidak sesuai untuk semua keadaan pasaran, terutamanya pada masa perubahan kadar turun naik yang ketara. Penyelesaian adalah menyesuaikan parameter ini mengikut ciri-ciri varieti dan dinamik turun naik pasaran semasa.

  2. Risiko penembusan palsu: Pasaran mungkin mengalami fenomena pecah palsu yang cepat berundur selepas penembusan singkat, menyebabkan isyarat yang salah. Risiko seperti ini dapat dikurangkan dengan menambah petunjuk pengesahan seperti jumlah transaksi atau petunjuk momentum lain.

  3. Kemungkinan kerugian berterusanDalam pasaran yang bergolak, harga sering menyentuh titik terendah tetapi tidak membentuk trend, yang boleh menyebabkan kerugian berturut-turut. Penyelesaian adalah menambah penapis persekitaran pasaran, mengurangkan atau menangguhkan perdagangan dalam pasaran yang bergolak.

  4. Kesan titik geserStrategi bergantung pada titik harga yang tepat, masalah slippage mungkin berlaku dalam perdagangan sebenar, terutamanya di pasaran yang kurang likuid. Adalah disyorkan untuk mensimulasikan keadaan slippage semasa pengukuran semula, dan meluaskan syarat kemasukan yang sesuai di pasaran sebenar.

  5. Kompleksiti pengesanan positronReka bentuk berbilang fasa, walaupun meningkatkan ketepatan, tetapi juga meningkatkan kerumitan logik yang boleh menyebabkan kelewatan atau kesilapan dalam pelaksanaan transaksi. Pemeriksaan berkala dan logika yang disederhanakan dapat meningkatkan kecekapan pelaksanaan.

Arah pengoptimuman strategi

Di bawah ini adalah beberapa cara yang mungkin untuk mengoptimumkan strategi ini:

  1. Pengaturan parameter dinamik: mengubah parameter titik tetap menjadi parameter dinamik berdasarkan kadar turun naik pasaran (seperti penunjuk ATR) untuk membolehkan strategi menyesuaikan diri dengan lebih baik dengan keadaan pasaran yang berbeza. Dengan demikian, anda dapat mengurangkan nilai setinggi yang mencetuskan pada masa turun naik rendah dan meningkatkan nilai setinggi pada masa turun naik tinggi, meningkatkan daya serap.

  2. Menambah penapisan persekitaran pasaranMemperkenalkan petunjuk penilaian trend (seperti arah purata bergerak atau petunjuk ADX), melaksanakan strategi hanya dalam keadaan pasaran yang menguntungkan, dan mengelakkan perdagangan dalam keadaan yang tidak menguntungkan.

  3. Optimumkan tetapan Stop Loss: boleh mempertimbangkan untuk menggunakan tracking stop instead of fixed stop, yang membolehkan perdagangan yang menguntungkan untuk mempunyai ruang yang lebih besar untuk berkembang, sambil melindungi keuntungan yang telah dicapai.

  4. Menambah faktor pengesahan: meningkatkan jumlah transaksi, struktur pasaran atau pengesahan petunjuk teknikal lain apabila isyarat masuk dicetuskan, mengurangkan kesan isyarat palsu

  5. Penapis masaMenambah penapis tetingkap masa dagangan, mengelakkan masa pembukaan dan penutupan pasaran yang bergolak tetapi tidak jelas arahnya, dan memberi tumpuan kepada masa yang lebih stabil untuk berdagang.

  6. Kesederhanaan logik penukaran kedudukanReka bentuk semula logik peralihan fasa, mengurangkan pemeriksaan status yang tidak perlu, menyederhanakan struktur kod, meningkatkan kecekapan pelaksanaan.

ringkaskan

Strategi perdagangan pecah dan penarikan harga pelbagai fasa adalah sistem perdagangan yang terstruktur yang mengidentifikasi peluang perdagangan yang menguntungkan melalui analisis tingkah laku harga pelbagai peringkat. Kelebihan utamanya terletak pada mekanisme penilaian pelbagai fasa, keupayaan perdagangan dua hala, dan sistem pengurusan risiko yang terbina dalam. Walaupun terdapat masalah seperti penyesuaian parameter tetap dan risiko penembusan palsu, tetapi dengan memperkenalkan parameter dinamik, penapisan keadaan pasaran, dan langkah-langkah pengoptimuman seperti faktor pengesahan, kestabilan dan keuntungan strategi dijangka meningkat dengan ketara.

Strategi ini sangat sesuai untuk pedagang jangka pendek dan menengah, terutamanya mereka yang memperhatikan pergerakan harga dan ingin mengambil bahagian pada awal perubahan momentum. Dengan menyesuaikan parameter dengan teliti dan menambahkan syarat penapisan yang sesuai, strategi ini dapat berkembang menjadi sistem perdagangan yang boleh dipercayai dan menyediakan sumber pendapatan yang stabil untuk portofolio perdagangan kuantitatif.

Kod sumber strategi
/*backtest
start: 2024-05-13 00:00:00
end: 2025-05-11 08:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"DOGE_USDT"}]
*/

//@version=5
strategy("Custom Strategy", overlay=true, margin_long=1, margin_short=1, process_orders_on_close=true)

// 参数设置
point_value = input.float(0.0001, title="点值(例如:0.0001代表1个点)")

// 多单逻辑变量
var float long_ref_open = na
var float long_ref_high = na
var bool long_condition1 = false
var bool long_condition2 = false
var int long_phase = 0

// 空单逻辑变量
var float short_ref_open = na
var float short_ref_high = na
var bool short_condition1 = false
var bool short_condition2 = false
var int short_phase = 0

// 多单条件检查

// 多单第一条件检查
if not long_condition1 and not long_condition2
    if high[1] - open[1] >= 300 * point_value
        if low[1] <= high[1] - 50 * point_value
            strategy.entry("Long", strategy.long)
        else
            long_ref_open := open[1]
            long_ref_high := high[1]
            long_phase := 1

    else if close[1] - open[1] < 300 * point_value
        long_phase := 2

// 多单第二条件检查
if long_phase == 1
    if low <= long_ref_open + 250 * point_value
        strategy.entry("Long", strategy.long)
        long_phase := 0

if long_phase == 2
    if high - close[1] >= 300 * point_value
        if low <= high - 50 * point_value
            strategy.entry("Long", strategy.long)
            long_phase := 0
        else
            long_phase := 3
    else
        long_phase := 0

if long_phase == 3
    if low <= open[2] + 250 * point_value
        strategy.entry("Long", strategy.long)
        long_phase := 0

// 空单条件检查(反向逻辑)

// 空单第一条件检查
if not short_condition1 and not short_condition2
    if open[1] - low[1] >= 300 * point_value
        if high[1] >= low[1] + 50 * point_value
            strategy.entry("Short", strategy.short)
        else
            short_ref_open := open[1]
            short_ref_high := low[1]
            short_phase := 1

    else if open[1] - close[1] < 300 * point_value
        short_phase := 2

// 空单第二条件检查
if short_phase == 1
    if high >= short_ref_open - 250 * point_value
        strategy.entry("Short", strategy.short)
        short_phase := 0

if short_phase == 2
    if close[1] - low >= 300 * point_value
        if high >= low + 50 * point_value
            strategy.entry("Short", strategy.short)
            short_phase := 0
        else
            short_phase := 3
    else
        short_phase := 0

if short_phase == 3
    if high >= open[2] - 250 * point_value
        strategy.entry("Short", strategy.short)
        short_phase := 0

// 止损止盈逻辑
if strategy.position_size > 0
    strategy.exit("Long Exit", "Long", stop = strategy.position_avg_price - 301 * point_value,limit = close[1] + 301 * point_value)

if strategy.position_size < 0
    strategy.exit("Short Exit", "Short",stop = strategy.position_avg_price + 301 * point_value, limit = close[1] - 301 * point_value)