Ichimoku Balance Line Trend Tracking Strategi

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

Ringkasan

Strategi ini menggunakan Garis Penukaran, Garis Asas dan sempadan awan dari penunjuk Ichimoku Kinko Hyo untuk mengenal pasti arah trend dan melaksanakan perdagangan penjejakan trend. Ia pergi lama apabila harga memecahkan di atas puncak awan dan pergi pendek apabila harga memecahkan di bawah bawah awan. Keuntungan diambil apabila nisbah keuntungan yang telah ditetapkan. Kerugian dipotong apabila nisbah kerugian yang telah ditetapkan dicapai.

Logika Strategi

Strategi ini terutamanya menggunakan garis petunjuk Ichimoku berikut:

  • Garis Penukaran (Tenkan-sen): Melambangkan trend jangka pendek, dikira sebagai purata tertinggi tertinggi dan terendah terendah selama 9 tempoh terakhir
  • Garis Asas (Kijun-sen): Melambangkan trend jangka sederhana, dikira sebagai purata tertinggi tertinggi dan terendah terendah selama 26 tempoh terakhir
  • Leading Span A (Senkou Span A): purata penukaran dan garis asas
  • Leading Span B (Senkou Span B): purata tertinggi tertinggi dan terendah terendah sepanjang 52 tempoh yang lalu

Ia menjadi panjang apabila harga memecahkan di atas awan dan menjadi pendek apabila harga memecahkan di bawah awan. sebab Masuk dan Keluar dicetuskan apabila harga memecahkan awan atas dan bawah masing-masing. Keluar dicetuskan apabila nisbah keuntungan atau kerugian dicapai.

Analisis Kelebihan

  • Menggunakan Ichimoku untuk mengenal pasti arah trend, mengelakkan isyarat palsu dari bunyi pasaran
  • Membongkar awan atas / bawah mengenal pasti titik pembalikan trend dengan cekap
  • Ambil keuntungan dan titik berhenti kerugian membantu mengunci keuntungan dan mengawal risiko

Analisis Risiko

  • Ichimoku mempunyai lag dan mungkin terlepas titik masuk terbaik
  • Penyesuaian parameter yang buruk dari garis seperti Garis Penukaran boleh menyebabkan isyarat palsu
  • Set Stop Loss terlalu ketat risiko keluar awal; terlalu longgar risiko kerugian besar

Arahan pengoptimuman

  • Pertimbangkan untuk menggabungkan penunjuk lain untuk meningkatkan ketepatan
  • Mengoptimumkan parameter secara dinamik untuk tempoh dan pasaran yang berbeza
  • Menggunakan stop loss untuk menyesuaikan stop berdasarkan tindakan harga dan mengelakkan keluar awal
  • Membangunkan strategi keuntungan / kerugian automatik untuk menyesuaikan mata dengan bijak berdasarkan turun naik

Ringkasan

Strategi ini menggunakan awan Ichimoku untuk mengenal pasti trend dan melaksanakan penjejakan trend yang mudah. Walaupun terdapat beberapa kelewatan dan isyarat palsu, pengoptimuman dalam parameter, berhenti, dan menggunakan penunjuk lain dapat memperbaikinya. Mudah difahami dan dilaksanakan, ia baik untuk pemula belajar dari dan rujukan semasa membangunkan strategi lain. Ujian dan pengoptimuman berterusan akan meningkatkan parameter dan peraturan untuk prestasi 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 lanjut