
KP 이동 평균 트렌드 전략은 기술 분석 지표의 조합에 대한 트렌드 추적 전략이다. 이 전략은 주로 평균 지표를 사용하여 가격 트렌드 방향을 식별하고, 평평선 교차 신호를 사용하여 진입 타이밍을 판단한다. 이 전략은 TradingView 플랫폼에서 구현할 수 있으며, 매개 변수를 최적화하여 더 나은 성능을 얻을 수 있다.
KP 전략은 크게 3가지의 지표를 사용합니다.
평균: 빠른 EMA와 느린 SMA. EMA는 가격 변화에 더 민감하고, SMA는 더 안정적이다. 이 둘을 함께 사용하면 빠른 EMA와 느린 SMA가 교차하여 거래 신호를 생성한다.
히케나치오 그래프: 특수한 그래프로, 보다 명확한 트렌드 특징이 있다. 전략에서 EMA 평평선을 그리는 가격 데이터 소스이다.
대수 변환 옵션: 가격 데이터에 대해 선택적인 대수 변환을 하여, 비율 가격 변화를 더 쉽게 관찰할 수 있다.
구체적인 거래 논리는, 빠른 EMA가 상향으로 느린 SMA를 뚫을 때 더 많이 하는 것; 하향으로 느린 SMA를 뚫을 때 평소하는 것이다. 이 전략은 전형적인 트렌드 추적 전략에 속한다.
KP 이동 평균 트렌드 전략은 트렌드 방향을 판단하는 여러 가지 기술 지표를 통합하고, 매개 변수 설정은 유연하며, 시각화 효과가 뛰어나다. 이 전략은 기본 트렌드 추적 전략으로 사용할 수 있으며, 적절한 최적화 조정 후 실장 거래에 사용할 수 있다. 그러나 사용자는 어떤 전략도 완벽하게 시장을 예측할 수 없으며, 위험을 제어하고 신중하게 작동해야한다는 점을 유의해야 한다.
/*backtest
start: 2022-12-27 00:00:00
end: 2024-01-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("KP 15min Strategy", shorttitle="KP15", overlay=false)
res = input("D",title="Heikin Ashi Candle Time Frame")
hshift = input(0, title="Heikin Ashi Candle Time Frame Shift")
res1 = input("W",title="Heikin Ashi EMA Time Frame")
mhshift = input(0, title="Heikin Ashi EMA Time Frame Shift")
fama = input(10, title="Heikin Ashi EMA Period")
test = input(0, title="Heikin Ashi EMA Shift")
sloma = input(100, title="Slow EMA Period")
slomas = input(0, title="Slow EMA Shift")
logtransform = input(false, title="Log Transform")
stoploss = input(true, title="Stop Loss")
showplots = input(true, title="Show Plots")
ha_t = request.security(syminfo.tickerid, res, expression=hlc3)
ha_close = request.security(syminfo.tickerid, res, expression=logtransform ? math.log(close[hshift]) : close[hshift])
mha_close = request.security(syminfo.tickerid, res1, expression=logtransform ? math.log(close[mhshift]) : close[mhshift])
fma = ta.ema(mha_close[test], fama)
sma = ta.ema(ha_close[slomas], sloma)
plot(showplots ? (logtransform ? math.exp(fma) : fma) : na, title="MA", color=color.new(color.blue, 0), linewidth=2, style=plot.style_line)
plot(showplots ? (logtransform ? math.exp(sma) : sma) : na, title="SMA", color=color.new(color.orange, 0), linewidth=2, style=plot.style_line)
golong = ta.crossover(fma, sma)
exitLong = ta.crossunder(fma, sma)
if (golong)
strategy.entry("Buy", strategy.long)
if (exitLong)
strategy.close("Buy")