Strategi Terobosan Panjang Berdasarkan Pembinaan K-Line

Penulis:ChaoZhang, Tarikh: 2024-01-05 12:37:46
Tag:

img

Ringkasan

Strategi ini merealisasikan perdagangan long position breakout pada garis Tesla 4 jam dengan menetapkan peraturan penghakiman corak K-line yang mudah.

Prinsip Strategi

Logik penghakiman teras strategi ini berdasarkan peraturan corak 4 K-line berikut:

  1. Harga terendah K-line semasa adalah lebih rendah daripada harga pembukaan
  2. Harga terendah K-line semasa adalah lebih rendah daripada harga terendah K-line sebelumnya
  3. Harga penutupan K-line semasa lebih tinggi daripada harga pembukaan
  4. Harga penutupan K-line semasa lebih tinggi daripada harga pembukaan dan harga penutupan K-line sebelumnya

Apabila semua 4 peraturan dipenuhi pada masa yang sama, operasi pembukaan kedudukan panjang dilakukan.

Di samping itu, strategi juga menetapkan stop loss dan mengambil keuntungan untuk menutup kedudukan apabila harga mencetuskan berhenti kerugian atau mengambil keuntungan syarat.

Analisis Kelebihan

Strategi ini mempunyai kelebihan berikut:

  1. Peraturan penghakiman K-line yang digunakan sangat mudah dan lurus, mudah difahami, dan mudah diamalkan.
  2. Ia sepenuhnya berdasarkan penilaian entiti harga tanpa menggunakan penunjuk teknikal yang terlalu kompleks, dan hasil backtest adalah mudah.
  3. Pelaksanaan kod adalah kecil, berjalan dengan cekap, dan mudah dioptimumkan dan ditingkatkan.
  4. Stop loss dan mengambil keuntungan boleh ditetapkan dengan fleksibel dengan menyesuaikan parameter untuk mengawal risiko.

Analisis Risiko

Risiko utama yang perlu diperhatikan ialah:

  1. Jumlah tetap digunakan untuk membuka kedudukan tanpa mengambil kira saiz kedudukan, yang boleh menimbulkan risiko perdagangan berlebihan.
  2. Tidak ada penapis yang ditetapkan yang boleh menghasilkan terlalu banyak perdagangan yang tidak sah di pasaran yang terhad.
  3. Data backtest yang tidak mencukupi boleh menjejaskan penilaian prestasi strategi.

Kaedah berikut boleh digunakan untuk mengurangkan risiko:

  1. Menggabungkan model saiz kedudukan untuk menyesuaikan saiz perdagangan secara dinamik berdasarkan saiz modal.
  2. Tambah penapis perdagangan untuk mengelakkan pembukaan perdagangan yang tidak teratur dalam keadaan pasaran yang bergolak.
  3. Mengumpul lebih banyak data sejarah untuk meluaskan tempoh backtest dan meningkatkan kebolehpercayaan hasil.

Arahan pengoptimuman

Arah pengoptimuman yang berpotensi untuk strategi termasuk:

  1. Memasukkan modul saiz kedudukan untuk menentukan saiz perdagangan berdasarkan nisbah penggunaan modal.
  2. Reka bentuk stop loss dan mengambil keuntungan mekanisme untuk keluar fleksibel.
  3. Tambah penapis perdagangan untuk mengelakkan perdagangan yang tidak sah.
  4. Mengoptimumkan parameter menggunakan kaedah pembelajaran mesin.
  5. Sokongan perdagangan tersebar di pelbagai produk.

Kesimpulan

Strategi ini merealisasikan perdagangan terobosan panjang menggunakan peraturan corak K-line yang mudah. Walaupun terdapat beberapa ruang untuk peningkatan, dari perspektif kesederhanaan dan ketegasan, ia adalah strategi kedudukan panjang yang sangat sesuai untuk dimengerti dan digunakan oleh pemula. Dengan pengoptimuman berterusan, prestasi strategi dapat ditingkatkan lagi.


/*backtest
start: 2023-12-01 00:00:00
end: 2023-12-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © TheQuantScience

//@version=5
strategy("SimpleBarPattern_LongOnly", overlay=true, default_qty_type = strategy.percent_of_equity, default_qty_value = 100, currency = currency.EUR, initial_capital = 1000, commission_type = strategy.commission.percent, commission_value = 0.03)

// Make input options that configure backtest date range
startDate = input.int(title="Start Date",
     defval=1, minval=1, maxval=31)
startMonth = input.int(title="Start Month",
     defval=1, minval=1, maxval=12)
startYear = input.int(title="Start Year",
     defval=2017, minval=1800, maxval=2100)

endDate = input.int(title="End Date",
     defval=8, minval=1, maxval=31)
endMonth = input.int(title="End Month",
     defval=3, minval=1, maxval=12)
endYear = input.int(title="End Year",
     defval=2022, minval=1800, maxval=2100)
     
// Look if the close time of the current bar
// Falls inside the date range
inDateRange = true

// Setting Conditions 
ConditionA = low < open 
ConditionB = low < low[1]
ConditionC = close > open
ConditionD = close > open[1] and close > close[1]

FirstCondition = ConditionA and ConditionB 
SecondCondition = ConditionC and ConditionD
IsLong = FirstCondition and SecondCondition

TakeProfit_long = input(4.00)
StopLoss_long = input(4.00)
Profit = TakeProfit_long*close/100/syminfo.mintick
Loss = StopLoss_long*close/100/syminfo.mintick

EntryCondition = IsLong and inDateRange

// Trade Entry&Exit Condition 
if EntryCondition and strategy.opentrades == 0
    strategy.entry(id = 'Open_Long', direction = strategy.long)
    strategy.exit(id = "Close_Long", from_entry = 'Open_Long', profit = Profit, loss = Loss)







Lebih lanjut