Strategi arah K-line dinamik


Tarikh penciptaan: 2023-10-25 16:57:05 Akhirnya diubah suai: 2023-10-25 16:57:05
Salin: 0 Bilangan klik: 643
1
fokus pada
1617
Pengikut

Strategi arah K-line dinamik

Gambaran keseluruhan

Strategi ini menganalisis harga penutupan N-root K-line yang lebih tinggi / lebih rendah daripada harga pembukaan untuk menilai arah K-line masa depan. Mengikut keadaan kosong di arah K-line, lakukan lebih banyak atau melakukan operasi kosong.

Prinsip Strategi

Logik utama strategi ini ialah:

  1. Tetapkan parameter NUM_CANDLES untuk menentukan bilangan K yang perlu dianalisis.

  2. Tentukan fungsi candle_dir, untuk menentukan arah garis K tunggal. close>open untuk berbilang kepala, close

  3. Tentukan fungsi count_candles untuk mengkaji jumlah garis K yang berlainan arah dalam garis K root NUM_CANDLES.

  4. Mengira jumlah baris K bermulut, kosong, dan bergoyang pada baris K akar NUM_CANDLES yang lalu, disimpan dalam ups, dns, neu.

  5. Tentukan indikator indic, yang bernilai sama dengan ups-dns ditambah nilai positif negatif neu.

  6. Menurut indeks indic, masa untuk bekerja lebih dan masa untuk bekerja lebih.

Strategi ini membuat keputusan perdagangan dengan mengkaji arah K-line tertentu untuk menentukan kebarangkalian arah K-line masa depan. Dengan parameter NUM_CANDLES, anda boleh mengawal jumlah K-line statistik dan menyesuaikan sensitiviti strategi.

Analisis kelebihan strategi

  1. Strategi yang jelas, mudah difahami, mudah difahami dan mudah difahami.

  2. Tidak perlu mengira petunjuk rumit, hanya memerlukan data K-line, mengurangkan kos pengiraan.

  3. Anda boleh menyesuaikan bilangan baris K statistik dengan parameter untuk mengawal kepekaan strategi.

  4. Ia boleh digunakan dalam mana-mana jenis dan mana-mana kitaran.

  5. Mudah untuk mengoptimumkan parameter, mencari kombinasi parameter yang optimum.

Analisis risiko

  1. Tidak dapat mengendalikan pasaran yang bergolak dan mungkin akan sering membuka dan menutup posisi.

  2. Siklus statistik yang tidak betul boleh menyebabkan isyarat terlewat, parameter yang perlu ditetapkan dengan munasabah.

  3. Tidak dapat menangani perubahan trend, risiko kerugian akibat kejatuhan.

  4. Perlu dipertimbangkan kesan kos urus niaga untuk mengelakkan terlalu banyak urus niaga.

  5. Perhatian perlu diberikan kepada parameter yang dioptimumkan untuk masalah kecocokan, perlu disahkan oleh banyak kajian semula pasaran.

Arah pengoptimuman

  1. Anda boleh mempertimbangkan untuk memasukkan logik stop loss untuk mengurangkan risiko kerugian.

  2. Ia boleh digabungkan dengan indikator trend untuk mengelakkan operasi berlawanan arah.

  3. Anda boleh meningkatkan kitaran statistik atau menggunakan kitaran rendah, mengoptimumkan parameter untuk meningkatkan kestabilan strategi.

  4. Ia boleh dipertimbangkan untuk menggabungkan pelbagai jenis untuk meningkatkan peluang strategi.

  5. Parameter pengoptimuman automatik boleh digabungkan dengan kaedah pembelajaran mesin.

ringkaskan

Strategi ini berdasarkan analisis arah K untuk menentukan arah perdagangan, idea ini jelas dan mudah difahami, dengan parameter yang boleh mengawal kepekaan strategi. Keuntungan strategi adalah logik yang mudah, penggunaan yang rendah, aplikasi yang luas, tetapi ada juga risiko tertentu, perlu lebih lanjut mengoptimumkan untuk meningkatkan kestabilan strategi. Secara keseluruhan, strategi ini menyediakan satu pemikiran perdagangan yang mudah dan praktikal untuk perdagangan kuantitatif.

Kod sumber strategi
/*backtest
start: 2023-09-24 00:00:00
end: 2023-10-24 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Refined CandleCounter Strategy by origo", overlay=true)

// how many candles to count
NUM_CANDLES = 7

// determine candle direction
candle_dir = close > open ? 1 : (round(close-open) == 0 ? 0 : -1)

// return # of candles with a given direction
count_candles(dir, max) =>
    count = 0
    for i = 0 to max
        if candle_dir[i] == dir
            count := count + 1
    count

ups = count_candles(1, NUM_CANDLES)
dns = count_candles(-1, NUM_CANDLES)
neu = count_candles(0, NUM_CANDLES)

indic = ups-dns


if indic > 0
    indic := indic+neu
else
    indic := indic-neu

plotarrow(neu, title="UP vs DN")

longCondition = (indic) > 0
shortCondition = (indic) <= 0

strategy.entry("buy", strategy.long, 1, when = longCondition and not shortCondition)
strategy.entry("sell", strategy.short, 1, when = shortCondition and not longCondition)