Strategi mengikuti tren berdasarkan Ichimoku Kinko Hyo


Tanggal Pembuatan: 2023-10-12 17:29:46 Akhirnya memodifikasi: 2023-10-12 17:29:46
menyalin: 0 Jumlah klik: 665
1
fokus pada
1617
Pengikut

Ringkasan

Strategi ini menggunakan garis konversi, garis dasar, dan garis depan dan belakang dari awan garis dalam indikator Ichimoku Kinko Hyo untuk mengidentifikasi arah tren harga dan untuk melakukan perdagangan pelacakan tren. Lakukan lebih banyak ketika harga menembus puncak awan dan kosong saat menembus dasar awan, mencapai stop profit yang ditentukan, dan stop loss yang ditentukan.

Prinsip Strategi

Strategi ini menggunakan garis indikator Ichimoku sebagai berikut:

  • Conversion Line (Tenkan-sen): Garis konversi, mewakili tren jangka pendek, rata-rata harga tertinggi dan terendah selama 9 periode
  • Base Line (Kijun-sen): garis acuan, mewakili tren jangka menengah, rata-rata harga tertinggi dan terendah selama 26 periode
  • Leading Span A (Senkou Span A): Leading Span A, rata-rata garis konversi dan garis acuan
  • Leading Span B (Senkou Span B): Leading Span B, rata-rata harga tertinggi dan terendah selama 52 periode

Ketika harga naik melewati awan garis depan, lakukan lebih banyak; ketika harga turun melewati awan garis depan, lakukan kosong. ConfigEntry dan ExitReason masing-masing membuka posisi saat menembus awan atas dan bawah, dan menutup posisi saat mencapai rasio untung-rugi.

Analisis Keunggulan

  • Menggunakan indikator Ichimoku untuk mengidentifikasi arah tren dan menghindari tertipu oleh guncangan pasar
  • Identifikasi titik balik tren dengan cara menembus cloud top/cloud bottom untuk meningkatkan efisiensi perdagangan
  • Tetapkan Stop Loss untuk Mengambil Keuntungan dan Mengontrol Risiko

Analisis risiko

  • Indeks Ichimoku tertinggal, mungkin melewatkan titik terbaik untuk membalikkan tren
  • Periode parameter harus diatur secara rasional, seperti garis konversi, garis acuan, dan lain-lain. Periode yang tidak tepat dapat menyebabkan sinyal palsu
  • Stop loss set terlalu kecil, mungkin stop loss prematur; set terlalu besar, risiko peningkatan kerugian

Arah optimasi

  • Pertimbangkan untuk meningkatkan akurasi dalam kombinasi dengan tren identifikasi indikator lainnya
  • Siklus parameter optimasi dinamis, beradaptasi dengan siklus yang berbeda dan lingkungan pasar
  • Setting Tracking Stop Loss, yang memungkinkan stop loss untuk disesuaikan dengan fluktuasi harga, untuk menghindari stop loss prematur
  • Pertimbangkan untuk mengembangkan strategi stop-loss otomatis, dengan penyesuaian stop-loss berdasarkan volatilitas pasar yang cerdas

Meringkaskan

Strategi ini memanfaatkan arah identifikasi tren awan Ichimoku untuk melakukan perdagangan pelacakan tren dengan mudah dan efektif. Meskipun ada beberapa risiko keterlambatan dan sinyal palsu, namun dapat diperbaiki dengan cara mengoptimalkan parameter, perbaikan teknologi stop loss, dan kombinasi dengan indikator lainnya. Strategi ini mudah dipahami dan diterapkan, cocok untuk dipelajari oleh pemula, dan dapat digunakan sebagai referensi untuk strategi lain.

Kode Sumber Strategi
/*backtest
start: 2023-10-04 00:00:00
end: 2023-10-08 00:00:00
period: 5m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Estratégia com Ichimoku" , pyramiding=0, calc_on_every_tick = true, initial_capital = 20000, commission_type = strategy.commission.cash_per_order, commission_value = 10.00)

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////Ichimoku Clouds////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////(VERSÃO 40.0)//////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

periodoLinhaDeConversao = input(defval=9, title="Tenkan-sen (Linha de Conversão)",  minval=1)
periodoLinhaBase = input(defval=26, title="Kijun-sen (Linha Base)",  minval=1)
periodoNivelAdiantadoB = input(defval=52, title="Senkou Span B (Nível adiantado B)",  minval=1)
deslocamento = input(defval=26, title="Deslocamento",  minval=1)

linhaDeConversao = (highest(high,periodoLinhaDeConversao)+lowest(low,periodoLinhaDeConversao))/2
linhaBase = (highest(high,periodoLinhaBase)+lowest(low,periodoLinhaBase))/2
nivelAdiantadoA = (linhaDeConversao + linhaBase)/2
nivelAdiantadoB = (highest(high,periodoNivelAdiantadoB)+lowest(low,periodoNivelAdiantadoB))/2

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
strategy.initial_capital = 50000
//Hardcoded quantity - strategy.entry(qty=)
capitalInicial = strategy.initial_capital
lotes = (strategy.initial_capital - (strategy.initial_capital % (open*100)))/open

//Percentage input goal - strategy.exit(profit=)
percentGoal = input (defval = 5.0, title = "Goal (%)", type = float, minval=0.0, step=0.1)
longGoal = (strategy.position_avg_price * (percentGoal/100)) * 100
shortGoal = (strategy.position_avg_price - (strategy.position_avg_price / (1+(percentGoal/100)))) * 100

//Percentage input stop - strategy.exit(loss=)
percentStop = input (defval = 0.5, title = "Stop (%)", type = float, minval=0.0, step=0.1)
longStop = (strategy.position_avg_price * (percentStop/100)) * 100
shortStop = (strategy.position_avg_price * (percentStop/100)) * 100

strategy.entry('entryLong', strategy.long, lotes, when = strategy.position_size == 0 and crossover(close,max(nivelAdiantadoA[deslocamento], nivelAdiantadoB[deslocamento])))
strategy.entry('entryShort', strategy.short, lotes, when = strategy.position_size == 0 and crossunder(close,min(nivelAdiantadoA[deslocamento], nivelAdiantadoB[deslocamento])))
strategy.exit('exitLong', 'entryLong', profit = longGoal, loss = longStop)
strategy.exit('exitShort', 'entryShort', profit = shortGoal, loss = shortStop)

plot(strategy.equity, title="Variação de capital", color=white)
//plot(strategy.position_size, color=red)