
이 전략은 직시 균형 지표와 암시 충돌 지표를 결합하여 비교적 간단한 양적 거래 전략을 구현한다. 직시 균형 선이 암시 충돌 선보다 높고 종결 가격이 직시 균형 선보다 높을 때 구매 신호를 생성하고, 직시 균형 선이 암시 충돌 선보다 낮고 종결 가격이 직시 균형 선보다 낮을 때 판매 신호를 생성한다. 이 전략은 암호화폐와 같은 고 변동성 자산의 단선 거래에 적합하다.
1차 균형 지표는 전전선, 기준선, 지연선 세 개의 곡선을 포함한다. 전전선은 가장 최근의 일정 기간의 평균값을 나타내고, 기준선은 더 긴 기간의 평균값을 나타내고, 지연선은 보통 전전선과 기준선의 평균값이다. 단기 평균값이 장기 평균값보다 높을 때, 현재 가격 상승 경향에 있음을 나타낸다.
숨겨진 충돌 지표는 선행선 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")