Strategi mengikut aliran berdasarkan Ichimoku Kinko Hyo


Tarikh penciptaan: 2023-10-12 17:29:46 Akhirnya diubah suai: 2023-10-12 17:29:46
Salin: 0 Bilangan klik: 665
1
fokus pada
1617
Pengikut

Gambaran keseluruhan

Strategi ini menggunakan Garis Konversi, Garis Pangkalan dalam Indeks Ichimoku Kinko Hyo dan Garis hadapan dan belakang awan garis untuk mengenal pasti arah trend harga, untuk melakukan perdagangan pengesanan trend. Apabila harga menembusi puncak awan, lakukan lebih banyak, apabila menembusi bawah awan, lakukan kosong, mencapai stop-loss yang ditetapkan untuk kadar keuntungan, dan berhenti pada stop-loss yang ditetapkan untuk kadar kerugian.

Prinsip Strategi

Strategi ini menggunakan garis petunjuk Ichimoku berikut:

  • Garis penukaran (Tenkan-sen): Garis penukaran, yang mewakili trend jangka pendek, rata-rata harga tertinggi dan terendah 9 kitaran
  • Base Line (Kijun-sen): Garis penanda aras, yang mewakili trend pertengahan, rata-rata harga tertinggi dan terendah selama 26 kitaran
  • Leading Span A (Senkou Span A): Leading Span A, yang merupakan purata garisan penukaran dan garisan asas
  • Leading Span B (Senkou Span B): Leading Span B, purata harga tertinggi dan terendah selama 52 kitaran

Apabila harga naik melintasi awan garis depan, buat lebih banyak; apabila harga turun melintasi awan garis depan, buat kosong. ConfigEntry dan ExitReason masing-masing membuka kedudukan apabila menerobos awan atas dan bawah, dan melonggarkan kedudukan apabila mencapai peratusan keuntungan dan kerugian.

Analisis kelebihan

  • Menggunakan petunjuk Ichimoku untuk mengenal pasti arah trend dan mengelakkan tertipu oleh kejutan pasaran
  • Mengenali titik-titik perubahan trend dan meningkatkan kecekapan dagangan dengan cara menembusi awan atas/dasar
  • Tetapkan titik hentian untuk membantu mendapatkan peluang keuntungan dan mengawal risiko

Analisis risiko

  • Indeks Ichimoku terlewat, mungkin terlepas titik terbaik untuk perubahan trend
  • Periode parameter yang perlu ditetapkan dengan munasabah, seperti garis penukaran, garis asas dan lain-lain yang boleh menyebabkan isyarat palsu
  • Penetapan titik kerugian terlalu kecil, mungkin berhenti terlalu awal; terlalu besar, risiko peningkatan kerugian

Arah pengoptimuman

  • Pertimbangan untuk meningkatkan ketepatan dalam kombinasi dengan trend pengenalan petunjuk lain
  • Siklus parameter pengoptimuman dinamik, menyesuaikan diri dengan pelbagai kitaran dan keadaan pasaran
  • Tetapkan tracking stop loss untuk menyesuaikan titik stop loss dengan turun naik harga dan mengelakkan stop loss awal
  • Pertimbangkan untuk membangunkan strategi stop loss automatik, menyesuaikan stop loss mengikut ketidaktentuan pasaran

ringkaskan

Strategi ini menggunakan arah trend pengiktirafan awan Ichimoku untuk melakukan perdagangan pengesanan trend dengan mudah dan berkesan. Walaupun terdapat risiko ketinggalan dan isyarat palsu, ia boleh diperbaiki melalui pengoptimuman parameter, penambahbaikan teknologi stop loss, dan gabungan dengan petunjuk lain. Strategi ini mudah difahami dan dilaksanakan, sesuai untuk pelajar pemula, dan boleh digunakan sebagai rujukan kepada strategi lain.

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