이 전략은 이치모쿠 클라우드 지표와 이동평균 지표를 결합하여 간단한 양적 거래 전략을 구현합니다. 전환선이 기본선 위에 있고 종료 가격이 전환선 위에있을 때 구매 신호를 생성합니다. 전환선이 기본선 아래에 있고 종료 가격이 전환선 아래에있을 때 판매 신호를 생성합니다. 이 전략은 암호화폐와 같은 높은 변동성 자산의 단기 거래에 적합합니다.
이치모쿠 클라우드는 변환선, 기본선 및 지연 스판 (lagging span) 이라는 세 개의 라인을 포함하고 있다. 변환선은 단기 평균 가격을, 기본선은 장기 평균 가격을 나타낸다. 지연 스판은 일반적으로 변환과 기본선의 평균이다. 단기 평균이 장기 평균보다 높을 때 상승 추세를 나타낸다.
이치모쿠 클라우드는 또한 두 개의 선도선을 포함하고 있습니다: 선도 스판 A 및 선도 스판 B. 그들은 다른 기간 동안 가격 변동의 평균 범위를 나타냅니다. 선도 스판 A가 선도 스판 B보다 높으면 단기간에 변동성과 상승 동력을 확대하는 것을 나타냅니다.
이 전략은 전체 트렌드 방향을 결정하기 위해 전환선을 사용하며 추진력을 측정하기 위해 선도선을 사용합니다. 트렌드, 추진력 및 폐쇄 가격에 따라 거래 신호를 생성합니다. 상승 추세와 확장 변동성이있을 때 길게 이동하고 하락 추세와 수축 변동성이있을 때 짧게 이동합니다.
이 전략의 주요 장점은 다음과 같습니다.
이 전략의 주요 위험은 다음과 같습니다.
이 전략이 향상될 수 있는 몇 가지 방법:
요약하자면, 이것은 이치모쿠 클라우드와 이동 평균을 결합하여 트레이드 신호의 트렌드 및 모멘텀을 결정하는 매우 간단한 양적 거래 전략입니다. 그것은 좋은 수익 잠재력을 가진 단기 거래 변동성 자산에 적합합니다. 물론 어떤 전략도 완벽하지 않으며 이것은 더 견고하게 만들기 위해 엔트리 규칙, 스톱 손실, 매개 변수 선택 등을 통해 개선할 여지가 있습니다.
/*backtest start: 2024-01-20 00:00:00 end: 2024-02-19 00:00:00 period: 1h basePeriod: 15m exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //@version=5 strategy("Ichimoku Cloud + ema 50 Strategy", overlay=true) len = input.int(50, minval=1, title="Length") src = input(close, title="Source") out = ta.ema(src, len) conversionPeriods = input.int(9, minval=1, title="Conversion Line Length") basePeriods = input.int(26, minval=1, title="Base Line Length") laggingSpan2Periods = input.int(52, minval=1, title="Leading Span B Length") displacement = input.int(1, minval=1, title="Lagging Span") donchian(len) => math.avg(ta.lowest(len), ta.highest(len)) conversionLine = donchian(conversionPeriods) baseLine = donchian(basePeriods) leadLine1 = math.avg(conversionLine, baseLine) leadLine2 = donchian(laggingSpan2Periods) p1 = plot(leadLine1, offset = displacement - 1, color=#A5D6A7, title="Leading Span A") p2 = plot(leadLine2, offset = displacement - 1, color=#EF9A9A, title="Leading Span B") fill(p1, p2, color = leadLine1 > leadLine2 ? color.rgb(67, 160, 71, 90) : color.rgb(244, 67, 54, 90)) plot(out, title="EMA", color=color.white) // Condition for Buy Signal buy_signal = close > out and leadLine1 > leadLine2 // Condition for Sell Signal sell_signal = close < out and leadLine2 > leadLine1 // Strategy entry and exit conditions if (buy_signal) strategy.entry("Buy", strategy.long) if (sell_signal) strategy.entry("Sell", strategy.short) // Exit long position if candle closes below EMA 50 if (strategy.opentrades > 0) if (close < out) strategy.close("Buy") // Exit short position if candle closes above EMA 50 if (strategy.opentrades < 0) if (close > out) strategy.close("Sell")