Ichimoku Balance Line Trend Tracking Strategi

Penulis:ChaoZhang, Tanggal: 2023-10-12 17:29:46
Tag:

Gambaran umum

Strategi ini menggunakan garis konversi, garis dasar dan batas awan dari indikator Ichimoku Kinko Hyo untuk mengidentifikasi arah tren dan mengimplementasikan perdagangan pelacakan tren.

Logika Strategi

Strategi ini terutama menggunakan garis indikator Ichimoku berikut:

  • Garis Konversi (Tenkan-sen): Merupakan tren jangka pendek, dihitung sebagai rata-rata tertinggi tertinggi dan terendah terendah selama 9 periode terakhir
  • Garis dasar (Kijun-sen): Merupakan tren jangka menengah, yang dihitung sebagai rata-rata tertinggi tertinggi dan terendah terendah selama 26 periode terakhir
  • Leading Span A (Senkou Span A): Rata-rata Konversi dan Garis Dasar
  • Leading Span B (Senkou Span B): Rata-rata tertinggi tertinggi dan terendah terendah selama 52 periode terakhir.

Ini pergi panjang ketika harga pecah di atas awan dan pergi pendek ketika harga pecah di bawah awan. Alasan Entry dan Exit dipicu ketika harga memecahkan awan atas dan bawah masing-masing. Exits dipicu ketika rasio keuntungan atau kerugian tercapai.

Analisis Keuntungan

  • Menggunakan Ichimoku untuk mengidentifikasi arah tren, menghindari sinyal palsu dari suara pasar
  • Pemecahan awan atas/bawah mengidentifikasi titik pembalikan tren secara efisien
  • Mengambil keuntungan dan stop loss poin membantu mengunci keuntungan dan mengendalikan risiko

Analisis Risiko

  • Ichimoku memiliki lag dan mungkin melewatkan titik masuk terbaik
  • Penyesuaian parameter yang buruk dari garis seperti Konversi Line dapat menyebabkan sinyal palsu
  • Stop loss set terlalu ketat risiko awal keluar; terlalu longgar risiko kerugian besar

Arahan Optimasi

  • Pertimbangkan untuk menggabungkan indikator lain untuk meningkatkan akurasi
  • Optimalkan parameter secara dinamis untuk periode dan pasar yang berbeda
  • Menggunakan stop loss trailing untuk menyesuaikan stop berdasarkan aksi harga dan menghindari keluar lebih awal
  • Mengembangkan strategi profit/loss otomatis untuk menyesuaikan poin secara cerdas berdasarkan volatilitas

Ringkasan

Strategi ini menggunakan Ichimoku cloud untuk mengidentifikasi tren dan menerapkan pelacakan tren sederhana. Meskipun ada beberapa lag dan sinyal palsu, optimasi dalam parameter, berhenti, dan menggunakan indikator lain dapat memperbaikinya. Mudah dipahami dan diterapkan, ini baik untuk pemula untuk belajar dari dan referensi ketika mengembangkan strategi lain. pengujian dan optimasi terus-menerus akan meningkatkan parameter dan aturan untuk kinerja langsung yang lebih baik.


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

Lebih banyak