Ichimoku Kinko Hyo trend mengikuti strategi


Tarikh penciptaan: 2023-12-26 16:13:42 Akhirnya diubah suai: 2023-12-26 16:13:42
Salin: 1 Bilangan klik: 678
1
fokus pada
1621
Pengikut

Ichimoku Kinko Hyo trend mengikuti strategi

Gambaran keseluruhan

Strategi keseimbangan mata adalah strategi trend-following yang menentukan arah trend dengan mengira garis rata-rata dan menggabungkannya dengan indikator Ichimoku Kinko Hyo untuk mencapai perdagangan trend-following berisiko rendah.

Prinsip Strategi

Ichimoku Kinko Hyo, juga dikenali sebagai Ichimoku Kinko Hyo, adalah sebuah tanda keseimbangan yang terdiri daripada garis perpindahan (Tenkan-sen), garis asas (Kijun-sen), garis pendahulu (Senkou Span A) dan garis pengesahan (Senkou Span B) yang membentuk kawasan keseimbangan antara depan dan belakang, yang dikenali sebagai tanda awan keriting. Apabila harga berada di atas tanda awan keriting, tanda awan keriting adalah tanda kosong.

Strategi ini menggabungkan hubungan harga dengan garis rata untuk menentukan arah trend. Ia menghasilkan isyarat beli apabila harga melintasi garis rujukan dan garis penukaran; ia menghasilkan isyarat jual apabila harga menembusi kawasan awan di bawah.

Analisis kelebihan

  • Menggunakan Indeks Ichimoku Kinko Hyo untuk menilai trend, dan mengelakkan diri anda daripada tertipu oleh pasaran yang bergolak
  • Parameter garis purata boleh disesuaikan dan boleh dioptimumkan untuk kitaran yang berbeza
  • Penghakiman hubungan linear yang sama dapat mengesan arah trend dengan berkesan
  • Menggunakan Cloud Band Judgment untuk Meneroka Trend dan Meneroka Perdagangan Riska Rendah

Analisis risiko

  • Isyarat yang salah boleh berlaku dalam keadaan gegaran
  • Tetapan parameter yang tidak betul boleh menyebabkan isyarat perdagangan terlalu kerap atau tidak tepat pada masanya
  • Mencari arah trend dan penyesuaian parameter

Arah pengoptimuman

Strategi ini boleh dioptimumkan dalam beberapa aspek:

  1. Optimumkan parameter Ichimoku untuk lebih banyak kitaran masa
  2. Meningkatkan strategi penangguhan kerugian dan mengawal kerugian tunggal
  3. Meneroka trend yang kuat dan lemah, dan mengelakkan diri daripada tertipu oleh peristiwa gegaran
  4. Meningkatkan syarat untuk membuka dagangan dan mengelakkan dagangan dalam keadaan yang melampau

ringkaskan

Secara keseluruhannya, strategi keseimbangan pandangan pertama dapat menentukan arah trend melalui petunjuk Ichimoku Kinko Hyo, dapat mengunci trend dengan berkesan, dan menghasilkan isyarat perdagangan dengan penilaian hubungan garis rata, untuk perdagangan yang mengikuti trend dengan risiko rendah. Strategi ini dapat disesuaikan dan dioptimumkan dengan parameter untuk menyesuaikan diri dengan keadaan pasaran yang berbeza, dan layak untuk dipelajari dan digunakan oleh pelabur.

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

//@version=3
// Credit for the initial code to nathanhoffer - I simply added the ability to select a time period
//
strategy("Cloud Breakout", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_type=strategy.commission.percent, commission_value=0.0)

/////////////// Component Code Start ///////////////
testStartYear = input(2016, "Backtest Start Year") 
testStartMonth = input(1, "Backtest Start Month")
testStartDay = input(1, "Backtest Start Day")
testPeriodStart = timestamp(testStartYear,testStartMonth,testStartDay, 0, 0)

testStopYear = input(2019, "Backtest Stop Year")
testStopMonth = input(12, "Backtest Stop Month")
testStopDay = input(31, "Backtest Stop Day")
testPeriodStop = timestamp(testStopYear,testStopMonth,testStopDay, 0, 0)

testPeriod() => true

Ten = input(18, minval=1, title="Tenkan")
Kij = input(60, minval=1, title="Kijun")
LeadSpan = input(30, minval=1, title="Senkou B")
Displace = input(52, minval=1, title="Senkou A")
SpanOffset = input(52, minval=1, title="Span Offset")

sts = input(true, title="Show Tenkan")
sks = input(true, title="Show Kijun")
ssa = input(true, title="Show Span A")
ssb = input(true, title="Show Span B")
sc = input(true, title="Show Chikou")

source = close

//Script for Ichimoku Indicator
donchian(len) => avg(lowest(len), highest(len))
TS = donchian(Ten)
KS = donchian(Kij)
SpanA = avg(TS, KS)
SpanB = donchian(LeadSpan)

CloudTop = max(TS, KS)

Chikou = source[Displace]
SpanAA = avg(TS, KS)[SpanOffset]
SpanBB = donchian(LeadSpan)[SpanOffset]

//Kumo Breakout (Long)
SpanA_Top = SpanAA >= SpanBB ? 1 : 0
SpanB_Top = SpanBB >= SpanAA ? 1 : 0

SpanA_Top2 = SpanA >= SpanB ? 1 : 0
SpanB_Top2 = SpanB >= SpanA ? 1 : 0

SpanA1 = SpanA_Top2 ? SpanA : na
SpanA2 = SpanA_Top2 ? SpanB : na

SpanB1 = SpanB_Top2 ? SpanA : na
SpanB2 = SpanB_Top2 ? SpanB : na

//plot for Tenkan and Kijun (Current Timeframe)
p1= plot(sts and TS ? TS : na, title="Tenkan", linewidth = 2, color = gray)
p2 = plot(sks and KS ? KS : na, title="Kijun", linewidth = 2, color = black)
//p5 = plot(sc and KS ? KS : na, title="Chikou", linewidth = 2, color = orange)
p5 = plot(sc and Displace ? close: na, title="Chikou", linewidth = 2, offset=-Displace, color = orange)

//Plot for Kumo Cloud (Dynamic Color)
p3 = plot(ssa and SpanA ? SpanA : na, title="SpanA", linewidth=2, offset=Displace, color=green)
p4 = plot(ssb and SpanB ? SpanB : na, title="SpanB", linewidth=2, offset=Displace, color=red)

p8 = plot(ssa and SpanA1 ? SpanA1 : na, title="Span A1 above", style=linebr, linewidth=1, offset=Displace, color=green)
p9 = plot(ssa and SpanA2 ? SpanA2 : na, title="Span A2 above", style=linebr, linewidth=1, offset=Displace, color=green)
p10 = plot(ssb and SpanB1 ? SpanB1 : na, title="Span B1 above", style=linebr, linewidth=1, offset=Displace, color=red)
p11 = plot(ssb and SpanB2 ? SpanB2 : na, title="Span B2 above", style=linebr, linewidth=1, offset=Displace, color=red)

fill(p8, p9, color = lime, transp=70, title="Kumo Cloud Up")
fill (p10, p11, color=red, transp=70, title="Kumo Cloud Down")

LongSpan = (SpanA_Top and source[1] < SpanAA[1] and source > SpanAA) or (SpanB_Top and source[1] < SpanBB[1] and source > SpanBB) ? 1 : 0
cupSpan = LongSpan  == 1 ? LongSpan : 0

Long_Breakout = (SpanA_Top ==1 and crossover(source, SpanAA)) or (SpanB_Top ==1 and crossover(source, SpanBB))

ShortSpan = (SpanB_Top and source[1] > SpanAA[1] and source < SpanAA) or (SpanA_Top and source[1] > SpanBB[1] and source < SpanBB) ? 1 : 0
cdnSpan = ShortSpan == 1 ? ShortSpan : 0

Short_Breakout = (SpanA_Top ==1 and crossunder(source, SpanBB)) or (SpanB_Top ==1 and crossunder(source, SpanAA))

//Kumo Twist
Kumo_Twist_Long = SpanA[1] < SpanB[1] and SpanA > SpanB ? 1 : 0
Kumo_Twist_Short = SpanA[1] > SpanB[1] and SpanA < SpanB ? 1 : 0

cupD = Kumo_Twist_Long == 1 ? Kumo_Twist_Long : 0
cdnD = Kumo_Twist_Short == 1 ? Kumo_Twist_Short : 0

Chikou_Above = close > Chikou
Chikou_Below = close < Chikou

long = (cross(TS, SpanA) or cross(TS, SpanB)) and TS>SpanA and TS>SpanB and TS>=KS
short = cross(TS, KS) and KS >= TS

if testPeriod()
    strategy.entry("long", strategy.long, when=Long_Breakout)
    strategy.entry("short", strategy.short, when=Short_Breakout)