Strategi pelarian panjang berdasarkan K-line


Tarikh penciptaan: 2024-01-05 12:37:46 Akhirnya diubah suai: 2024-01-05 12:37:46
Salin: 0 Bilangan klik: 638
1
fokus pada
1621
Pengikut

Strategi pelarian panjang berdasarkan K-line

Gambaran keseluruhan

Strategi ini dengan menetapkan peraturan pertimbangan bentuk garis K yang mudah, untuk mewujudkan perdagangan terobosan jangka panjang untuk garis 4 jam Tesla. Strategi ini mempunyai kelebihan untuk mewujudkan kesederhanaan, kejernihan logik, dan mudah difahami.

Prinsip Strategi

Logik penghakiman utama strategi ini berdasarkan 4 peraturan bentuk garis K:

  1. Harga terendah K Line semasa adalah lebih rendah daripada harga pembukaan
  2. Garis K semasa lebih rendah daripada garis K terdahulu
  3. Harga penutupan K Line semasa lebih tinggi daripada harga pembukaan
  4. Harga penutupan K Line semasa lebih tinggi daripada harga pembukaan dan penutupan K Line sebelumnya

Apabila 4 peraturan di atas dipenuhi pada masa yang sama, operasi pembukaan kedudukan yang dilakukan dalam pelbagai arah akan dijalankan.

Selain itu, strategi ini juga menetapkan titik hentian dan penangguhan, untuk melakukan operasi posisi kosong apabila harga mencetuskan keadaan hentian atau penangguhan.

Analisis kelebihan

Strategi ini mempunyai beberapa kelebihan:

  1. Peraturan penghakiman garis K yang digunakan sangat mudah dan langsung, mudah difahami, dan mudah diamalkan.
  2. Ia hanya berdasarkan penilaian entiti harga, tanpa menggunakan petunjuk teknikal yang terlalu rumit, dan pengukuran kesan secara langsung.
  3. Implementasi kod kecil, kecekapan yang tinggi, mudah untuk mengoptimumkan dan memperbaiki.
  4. Ia boleh disesuaikan dengan parameter, bebas menetapkan keadaan stop loss dan mengawal risiko.

Analisis risiko

Antara risiko yang perlu diperhatikan ialah:

  1. Dengan menggunakan kuantiti tetap untuk membuka kedudukan, tanpa mempertimbangkan pengurusan kedudukan, terdapat risiko perdagangan berlebihan.
  2. Tanpa penapis, terlalu banyak transaksi yang tidak sah boleh berlaku dalam keadaan gegaran.
  3. Data pengesanan yang tidak mencukupi boleh menyebabkan kesesuaian dalam penilaian keberkesanan strategi.

Anda boleh mengurangkan risiko dengan:

  1. Menambah modul pengurusan kedudukan, menyesuaikan jumlah dagangan secara dinamik mengikut saiz dana.
  2. Menambah syarat penapisan dagangan untuk mengelakkan pembukaan kedudukan yang tidak teratur dalam cakera yang bergolak.
  3. Mengumpul lebih banyak data sejarah, memanjangkan jangka masa pengesanan semula, dan meningkatkan kebolehpercayaan keputusan.

Arah pengoptimuman

Strategi ini boleh dioptimumkan untuk:

  1. Menambah modul pengurusan kedudukan untuk menentukan saiz dagangan berdasarkan peratusan penggunaan dana.
  2. Reka bentuk mekanisme pengesanan anti-kerosakan, untuk mencapai pelepasan yang fleksibel.
  3. Tambah modul penapis transaksi untuk mengelakkan transaksi tidak sah.
  4. Mengoptimumkan parameter secara automatik menggunakan kaedah pembelajaran mesin.
  5. Ia menyokong pelbagai jenis perdagangan lelang.

ringkaskan

Walaupun terdapat ruang untuk penambahbaikan, tetapi dari segi kesederhanaan dan ketelusan, strategi ini adalah strategi jangka panjang yang sangat sesuai untuk difahami dan digunakan oleh pemula. Dengan terus mengoptimumkan, anda boleh menjadikan kesan strategi lebih baik.

Kod 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)