Kod perdagangan strategi sisihan harga purata harian


Tarikh penciptaan: 2023-12-15 15:44:18 Akhirnya diubah suai: 2023-12-15 15:44:18
Salin: 0 Bilangan klik: 611
1
fokus pada
1621
Pengikut

Kod perdagangan strategi sisihan harga purata harian

Gambaran keseluruhan

Strategi ini adalah berdasarkan satu set indikator grafik Ichimoku Kinko Hyo untuk menghasilkan isyarat perdagangan. Ichimoku Kinko Hyo yang diterjemahkan secara harfiah sebagai satu set indikator keseimbangan, ia menggabungkan kelebihan rata-rata bergerak dan indikator band gelombang, yang dapat mengenali arah trend dan menyokong rintangan pada masa yang sama, dan dianggap sebagai satu indikator komposit.

Strategi ini menggunakan garis komponen Ichimoku Kinko Hyo untuk menentukan arah dan kekuatan trend. Ia menghasilkan isyarat perdagangan apabila harga menembusi grafik awan dan turun ke bawah.

Prinsip Strategi

Strategi ini menggunakan lima garis komponen Ichimoku Kinko Hyo:

  1. Garis Tenkan ((garis putar): purata 9 hari harga tertinggi dan terendah
  2. Garis Kijun ((garis asas): purata 26 hari harga tertinggi dan harga terendah
  3. Senkou Span A (dahulu): purata garisan Tenkan dan garisan Kijun
  4. Senkou Span B ((sebelum kedua): purata 52 hari harga tertinggi dan terendah
  5. Garis Chikou ((garis lambat): purata 26 hari kelewatan harga penutupan

Selain itu, peta awan Ichimoku, yang terdiri daripada Senkou Span A dan Senkou Span B, secara besar-besaran mewakili kawasan trend semasa.

Isyarat perdagangan untuk strategi ini berasal dari:

  1. Harga menembusi carta awan dari bawah ke atas: buat lebih banyak isyarat
  2. Harga menembusi carta awan dari atas ke bawah: isyarat kosong
  3. Harga masuk dari bawah ke dalam carta awan: buat peluang masuk di tepi tepi tepi tepi
  4. Harga masuk ke dalam carta awan dari atas: peluang masuk ke dalam carta awan di tepi tepi

Selain itu, strategi ini juga menilai Tengkan Line dan Kijun Line sebagai masa untuk berhenti dan menghentikan kerugian.

Kelebihan Strategik

Kelebihan utama strategi ini adalah keupayaan untuk menentukan arah trend dan menyokong rintangan menggunakan indikator Ichimoku Kinko Hyo.

  1. Menggunakan grafik awan untuk menentukan arah trend utama dan mengelakkan operasi berlawanan arah.
  2. Menggunakan garis komponen untuk mengenal pasti tahap rintangan sokongan dan mencari peluang perdagangan yang boleh dirobohkan.
  3. Meningkatkan peluang untuk beraksi di tepi tepi dan memperluaskan ruang untuk keuntungan.

Di samping itu, strategi ini mempunyai modul stop loss dan stop loss yang boleh mengunci sebahagian keuntungan dan mengawal risiko.

Risiko dan penyelesaian

Risiko utama strategi ini adalah potensi lompatan yang disebabkan oleh algoritma baris komponen Ichimoku. Ini akan menyebabkan risiko penembusan palsu.

Penyelesaian adalah dengan menyesuaikan parameter algoritma dengan betul, mengurangkan jarak antara barisan komponen, atau menambahkan syarat penapis untuk mengelakkan masuk ke dalam zon getaran.

Pengoptimuman Strategi

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Mengoptimumkan parameter bagi garisan komponen Ichimoku, menyesuaikan kitaran purata garisan untuk lebih banyak jenis dan kitaran.

  2. Untuk meningkatkan pengesahan jumlah transaksi, dan mengelakkan isyarat palsu yang disebabkan oleh lompatan udara.

  3. Digabungkan dengan penapisan indikator lain seperti MACD, RSI dan lain-lain, untuk mengenal pasti trend dan kawasan overbought dan oversold.

  4. Mengoptimumkan logik hentian hentian, seperti kaedah hentian bergerak, pengurangan dan sebagainya.

ringkaskan

Ringkasnya, strategi ini menggunakan grafik awan dan garis komponen Ichimoku Kinko Hyo untuk menentukan arah trend dan peluang perdagangan. Kelebihan strategi adalah bahawa penghakiman trend jelas, masa masuk tepat. Dengan mengoptimumkan parameter dan menambah syarat penapisan, nisbah isyarat palsu dapat dikurangkan lebih lanjut, sehingga menghasilkan prestasi strategi yang lebih baik.

Kod sumber strategi
/*backtest
start: 2022-12-08 00:00:00
end: 2023-12-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Ichimoku Cloud", shorttitle="Ichimoku", overlay=true)

previous_close = close[1]

conversionPeriods = input.int(20, minval=1, title="Conversion Line Periods"),
basePeriods = input.int(60, minval=1, title="Base Line Periods")
laggingSpan2Periods = input.int(120, minval=1, title="Lagging Span 2 Periods"),
displacement = input.int(30, minval=1, title="Displacement")

long_entry = input.bool(true, title="Long Entry")
short_entry = input.bool(true, title="Short Entry")
e2e_entry = input.bool(true, title="E2E Entry")

donchian(len) => math.avg(ta.lowest(len), ta.highest(len))

tenkan = donchian(conversionPeriods)
kijun = donchian(basePeriods)
spanA = math.avg(tenkan, kijun)
spanB = donchian(laggingSpan2Periods)

plot(tenkan, color=#0496ff, title="Conversion Line")
plot(kijun, color=#991515, title="Base Line")
plot(close, offset = -displacement, color=#459915, title="Lagging Span")

p1 = plot(spanA, offset = displacement, color=#459915, title="Lead 1")
p2 = plot(spanB, offset = displacement, color=#991515, title="Lead 2")
fill(p1, p2, color = spanA > spanB ? #459915 : #991515)

ss_high = math.max(spanA[displacement - 1], spanB[displacement - 1])
ss_low = math.min(spanA[displacement - 1], spanB[displacement - 1])

// Entry/Exit Signals
tk_cross_bull = tenkan > kijun
tk_cross_bear = tenkan < kijun
kumo_twist_bull = ta.mom(close, displacement) > 0
kumo_twist_bear = ta.mom(close, displacement) < 0

price_above_kumo = close > ss_high
price_below_kumo = close < ss_low

price_enters_kumo_top = previous_close > ss_high[1] and close < ss_high
price_enters_kumo_bottom = previous_close < ss_low[1] and close > ss_low

bullish = tk_cross_bull and kumo_twist_bull and price_above_kumo
bearish = tk_cross_bear and kumo_twist_bear and price_below_kumo

bullishe2e = price_enters_kumo_bottom // and tk_cross_bull
bearishe2e = price_enters_kumo_top // and tk_cross_bear

price_touches_kumo_top = ta.cross(close, ss_high)
price_touches_kumo_bottom = ta.cross(close, ss_low)

strategy.entry("Long", strategy.long, when=bullish and long_entry)
strategy.close("Long", when=tk_cross_bear)
strategy.close("Long", when=price_enters_kumo_top)

strategy.entry("Long e2e", strategy.long, when=bullishe2e and e2e_entry)
strategy.close("Long e2e", when=price_touches_kumo_top)
strategy.close("Long e2e", when=price_below_kumo, qty_percent = 100)
// strategy.close("Long e2e", when=ta.cross(close, kijun), qty_percent = 50)

strategy.entry("Short", strategy.short, when=bearish and short_entry)
strategy.close("Short", when=tk_cross_bull)
strategy.close("Short", when=price_enters_kumo_bottom)

strategy.entry("Short e2e", strategy.short, when=bearishe2e and e2e_entry)
strategy.close("Short e2e", when=price_touches_kumo_bottom)
strategy.close("Short e2e", when=price_above_kumo, qty_percent = 100)
// strategy.close("Long e2e", when=ta.cross(close, kijun), qty_percent = 50)