Strategi breakout panjang berdasarkan K-line


Tanggal Pembuatan: 2024-01-05 12:37:46 Akhirnya memodifikasi: 2024-01-05 12:37:46
menyalin: 0 Jumlah klik: 638
1
fokus pada
1621
Pengikut

Strategi breakout panjang berdasarkan K-line

Ringkasan

Strategi ini memiliki keuntungan untuk mencapai kesederhanaan, logika yang jelas, dan mudah dipahami.

Prinsip Strategi

Strategi ini didasarkan pada 4 aturan bentuk garis K:

  1. Harga minimum K Line saat ini lebih rendah dari harga pembukaan
  2. Minimum K Line saat ini lebih rendah dari Minimum K Line sebelumnya
  3. Harga penutupan K Line saat ini lebih tinggi dari harga pembukaan
  4. Harga penutupan K saat ini lebih tinggi dari harga pembukaan dan penutupan K sebelumnya

Bila 4 aturan di atas terpenuhi secara bersamaan, maka dilakukanlah operasi membuka posisi yang bersifat multi arah.

Selain itu, strategi juga menetapkan stop loss dan stop loss, melakukan operasi posisi kosong ketika harga memicu stop loss atau kondisi stop loss.

Analisis Keunggulan

Strategi ini memiliki beberapa keuntungan:

  1. K-Line Judgment Rules sangat sederhana dan langsung, mudah dipahami, dan mudah dipraktekkan.
  2. Hanya berdasarkan penilaian entitas harga, tidak menggunakan indikator teknis yang terlalu rumit, dan pengukuran efeknya langsung.
  3. Implementasi dengan jumlah kode yang kecil, efisiensi yang tinggi, dan mudah untuk dioptimalkan dan ditingkatkan.
  4. Hal ini dapat disesuaikan dengan parameter, bebas mengatur kondisi stop loss, dan mengendalikan risiko.

Analisis risiko

Beberapa risiko yang perlu diperhatikan adalah:

  1. Dengan menggunakan jumlah tetap untuk membuka posisi, tanpa mempertimbangkan manajemen posisi, mungkin ada risiko perdagangan berlebihan.
  2. Jika tidak ada filter, mungkin akan ada terlalu banyak transaksi yang tidak valid dalam situasi yang tidak stabil.
  3. Data yang tidak memadai dapat memengaruhi penilaian tentang efektivitas strategi.

Risiko dapat dikurangi dengan melakukan hal berikut:

  1. Menambahkan modul manajemen posisi, menyesuaikan jumlah transaksi secara dinamis sesuai dengan ukuran dana.
  2. Meningkatkan kondisi penyaringan perdagangan untuk menghindari pembukaan posisi yang tidak teratur di bursa yang bergoyang.
  3. Untuk mengumpulkan lebih banyak data historis, memperpanjang jangka waktu pengukuran, dan meningkatkan keandalan hasil.

Arah optimasi

Strategi ini dapat dioptimalkan untuk:

  1. Menambahkan modul manajemen posisi untuk menentukan ukuran transaksi berdasarkan proporsi penggunaan dana.
  2. Desain mekanisme anti-kerusakan dan pelacakan, untuk memungkinkan permainan yang fleksibel.
  3. Menambahkan modul penyaringan transaksi untuk menghindari transaksi yang tidak valid.
  4. Mengoptimalkan parameter secara otomatis menggunakan metode pembelajaran mesin.
  5. Dukungan untuk perdagangan Arbitrage Multi-varietas.

Meringkaskan

Strategi ini memungkinkan untuk melakukan beberapa transaksi terobosan dengan aturan penilaian bentuk K-line sederhana, meskipun ada ruang untuk perbaikan, tetapi dari segi kesederhanaan dan langsung, strategi ini adalah strategi long position yang sangat cocok untuk dipahami dan digunakan oleh pemula. Dengan terus mengoptimalkan, Anda dapat membuat efek strategi lebih baik.

Kode Sumber Strategi
/*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)