이치모쿠 긴코 효 트렌드 팔로잉 전략


생성 날짜: 2023-12-26 16:13:42 마지막으로 수정됨: 2023-12-26 16:13:42
복사: 1 클릭수: 678
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

이치모쿠 긴코 효 트렌드 팔로잉 전략

개요

1눈 균형 전략은 평균선을 계산하고 Ichimoku Kinko Hyo 지표와 결합하여 트렌드 방향을 판단하여 낮은 위험의 트렌드 추적 거래를 실현하는 트렌드 추적 전략이다.

전략 원칙

이 전략은 주로 Ichimoku Kinko Hyo 지표에 기반하여 트렌드 방향을 판단한다. 이치모쿠 킨코 Hyo (Ichimoku Kinko Hyo) 는 전환선 ((Tenkan-sen), 기준선 ((Kijun-sen), 선도선 ((Senkou Span A) 과 확인선 ((Senkou Span B) 으로 구성되어 있으며, 앞과 뒤 사이의 균형 영역을 형성하며, ?? 구름 반지 ?? 이라고 부른다. 가격이 구름 반지 위쪽에 다중 트렌드일 때, 가격 아래 구름 반지는 허공 신호로 깨진다.

이 전략은 가격과 평균선의 관계를 결합하여 트렌드 방향을 판단한다. 가격이 기준선과 전환선을 넘을 때 구매 신호를 생성하고, 가격이 하단으로 클라우드 대역을 뚫을 때 판매 신호를 생성한다. 이러한 조합 판단을 통해 가짜 돌파구를 효과적으로 필터링하여 트렌드 방향을 잠금 할 수 있다.

우위 분석

  • Ichimoku Kinko Hyo 지표를 사용하여 트렌드를 판단하고, 흔들리는 시장의 가짜 돌파구에 의해 오해받지 마십시오.
  • 평균선 변수는 조정 가능하며, 다른 주기들에 대해 최적화할 수 있다
  • 동선관계 판단과 결합하여 트렌드 방향을 효과적으로 고정할 수 있다.
  • 클라우드 배드 판단을 통해 낮은 위험의 트렌드 추적 거래

위험 분석

  • 지진이 발생하면 잘못된 신호가 발생하기 쉽다.
  • 잘못된 매개 변수 설정으로 인해 거래 신호가 너무 자주 또는 불시적으로 발생 할 수 있습니다.
  • 트렌드 방향과 변수 조정

최적화 방향

이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. 이치모쿠 변수를 최적화하여 더 많은 시간 주기를 적용합니다.
  2. 단편적 손실을 통제하기 위한 전략
  3. 다른 지표와 함께 강하고 약한 경향을 판단하여, 변동 현상을 오해하지 마십시오.
  4. 포지션 개설 조건을 높여 극한 상황에서 포지션 개설을 피하십시오.

요약하다

전반적으로, 일시 균형 전략은 Ichimoku Kinko Hyo 지표를 통해 트렌드 방향을 판단하여 트렌드를 효과적으로 잠금하고, 평선 관계 판단과 함께 거래 신호를 생성하여 낮은 위험을 실현하는 트렌드 추적 거래를 구현할 수 있다. 이 전략은 파라미터를 조정하고 최적화하여 다른 시장 환경에 적응할 수 있으며, 투자자가 더 많은 연구와 사용을 할 가치가 있다.

전략 소스 코드
/*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)