Strategi Terobosan Panjang Berdasarkan Konstruksi K-Line

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

img

Gambaran umum

Strategi ini mewujudkan perdagangan long position breakout pada garis Tesla 4 jam dengan menetapkan aturan penilaian pola K-line yang sederhana.

Prinsip Strategi

Logika penilaian inti dari strategi didasarkan pada aturan pola 4 K-line berikut:

  1. Harga terendah dari K-line saat ini lebih rendah dari harga pembukaan
  2. Harga terendah dari garis K saat ini lebih rendah dari harga terendah dari garis K sebelumnya
  3. Harga penutupan K-line saat ini lebih tinggi dari harga pembukaan
  4. Harga penutupan K-line saat ini lebih tinggi dari harga pembukaan dan harga penutupan K-line sebelumnya

Ketika semua 4 aturan dipenuhi pada saat yang sama, operasi pembukaan posisi panjang dilakukan.

Selain itu, strategi juga menetapkan kondisi stop loss dan take profit untuk menutup posisi ketika harga memicu kondisi stop loss atau take profit.

Analisis Keuntungan

Strategi ini memiliki keuntungan berikut:

  1. Aturan penilaian K-line yang digunakan sangat sederhana dan langsung, mudah dimengerti, dan mudah dipraktekkan.
  2. Hal ini sepenuhnya didasarkan pada penilaian entitas harga tanpa menggunakan indikator teknis yang terlalu kompleks, dan hasil backtest mudah.
  3. Implementasi kode berukuran kecil, berjalan secara efisien, dan mudah dioptimalkan dan ditingkatkan.
  4. Stop loss dan take profit dapat diatur secara fleksibel dengan menyesuaikan parameter untuk mengendalikan risiko.

Analisis Risiko

Risiko utama yang harus diperhatikan adalah:

  1. Jumlah tetap digunakan untuk membuka posisi tanpa mempertimbangkan ukuran posisi, yang dapat menimbulkan risiko overtrading.
  2. Tidak ada filter yang ditetapkan yang dapat menghasilkan terlalu banyak perdagangan yang tidak valid di pasar yang terbatas pada kisaran.
  3. Data backtest yang tidak cukup dapat mempengaruhi penilaian kinerja strategi.

Metode berikut dapat diadopsi untuk mengurangi risiko:

  1. Menggabungkan model ukuran posisi untuk menyesuaikan ukuran perdagangan secara dinamis berdasarkan ukuran modal.
  2. Tambahkan filter perdagangan untuk menghindari pembukaan perdagangan yang tidak teratur dalam kondisi pasar yang bergolak.
  3. Mengumpulkan lebih banyak data historis untuk memperluas durasi backtest dan meningkatkan keandalan hasil.

Arahan Optimasi

Arah optimasi potensial untuk strategi meliputi:

  1. Menggabungkan modul ukuran posisi untuk menentukan ukuran perdagangan berdasarkan rasio pemanfaatan modal.
  2. Desain stop loss dan mengambil mekanisme profit trailing untuk keluar fleksibel.
  3. Tambahkan filter perdagangan untuk menghindari perdagangan yang tidak valid.
  4. Otomatis mengoptimalkan parameter menggunakan metode pembelajaran mesin.
  5. Mendukung perdagangan spread di berbagai produk.

Kesimpulan

Strategi ini mewujudkan perdagangan terobosan panjang menggunakan aturan pola K-line yang sederhana. Meskipun ada beberapa ruang yang tersisa untuk perbaikan, dari perspektif kesederhanaan dan ketegasan, ini adalah strategi posisi panjang yang sangat cocok untuk dimengerti dan digunakan oleh pemula. Dengan optimasi terus-menerus, kinerja strategi dapat ditingkatkan lebih lanjut.


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