이 전략은 이동 평균, 상대적으로 강한 지표 (RSI) 와 일회성 평형표 지표를 결합하여 주식 가격의 추세를 식별하고 추세 배경에서 거래하는 것을 목표로합니다. 핵심 아이디어는 단기 평균에서 중장기 평균을 통과하고 일회성 평형표의 클라우드 그룹 위를 돌파 할 때 구매 신호를 생성하는 것입니다. 단기 평균에서 중장기 평균을 통과하고 클라우드 그룹 아래를 돌파 할 때 판매 신호를 생성하는 것입니다.
이 전략은 13일, 21일, 89일, 233일 네 개의 이동 평균을 사용한다. 13일선은 단기 경향을 나타내고, 233일선은 장기 경향을 나타내고, 21일선과 89일선은 중간에 있다. 단기 평균 위에 중장기 평균을 넘으면, 주가 움직임이 하향에서 하향으로 전환되어 구매 신호를 발생시킨다는 것을 나타낸다. 반대로, 단기 평균 아래로 중장기 평균을 넘으면 판매 신호를 낸다.
또한, 이 전략은 1차 균형표 지표의 전환선, 기준선 및 전방선도 결합한다. 전환선은 9일 이동 평균을, 기준선은 26일 이동 평균을, 전방선은 중단기 이동 평균을 취한다. 가격이 전방선을 넘으면 구매 신호로, 아래로 넘으면 판매 신호로 한다.
마지막으로, 전략은 RSI 지표의 12일선과 24일선도 사용합니다. 12일선은 단기간에 과매매하는 경우를 나타내고, 24일선은 중기간에 과매매하는 경우를 나타냅니다. 전략은 12일 RSI와 24일 RSI의 교차 상황을 판단하여 거래 신호를 확인합니다.
이 전략은 주식 가격의 주요 트렌드 방향을 매우 잘 식별할 수 있습니다. 이동 평균은 평형표 지표와 결합하여 구매 판매 신호를 더 정확하게 만듭니다. 또한 RSI 지표의 도입은 가짜 돌파구를 방지합니다.
추세 반전 위험
거래자는 시장의 변화에 주의를 기울여야 하며, 가격이 평균에 닿는 신호가 나타나면 주의를 기울여야 하며, 적시에 지분을 평정해야 한다.
매개 변수 최적화 공간
이동 평균의 주기적 설정, 1차 균형 표 파라미터 등이 최적화된 공간이 있으며, 거래자는 다양한 품종에 따라 최적의 파라미터 조합을 선택할 수 있다.
거래 빈도가 높습니다.
전략의 거래 빈도는 상대적으로 높기 때문에 수수료 문제를 충분히 고려해야 한다. 필요 없는 거래를 줄이기 위해 파라미터를 적절히 조정할 수 있다.
더 많은 손실을 막는 전략
현재 전략에는 스톱 로즈 스톱 로직이 설정되어 있지 않으며, 이는 특정 위험을 초래할 수 있다. 향후에는 전략에 이러한 모듈을 추가하는 것을 고려할 수 있다.
변수 최적화
다른 거래 품종에 대해 이동 평균 주기, 1차 균형 표 변수, RSI 주기 등을 최적화하여 최적의 조합을 찾을 수 있습니다. 이것은 전략의 안정성을 더욱 향상시킬 수 있습니다.
더 많은 지표와 함께
이미 사용된 지표 외에도 변동률, 거래량 변화와 같은 다른 파생 지표와 결합하여 더 포괄적인 판단 근거를 형성할 수 있다.
이 전략은 이동 평균, 상대적으로 강한 지표와 일목요소 평형표 지표를 결합하여 증권 가격의 주요 트렌드를 효과적으로 식별할 수 있습니다. 이 전략은 비교적 전형적인 트렌드 추적 전략에 속합니다. 이 전략의 장점은 지표 포트폴리지가 포괄적이어서 트렌드를 잘 파악할 수 있다는 것입니다. 그러나 거래 빈도가 높으며, 어느 정도의 회수 위험도 있습니다.
/*backtest
start: 2023-01-11 00:00:00
end: 2024-01-17 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=3
strategy("EMA + Ichimoku Kinko Hyo Strategy", shorttitle="EMI", overlay=true, default_qty_type=strategy.percent_of_equity, max_bars_back=1000, default_qty_value=100, calc_on_order_fills= true, calc_on_every_tick=true, pyramiding=0)
TenkanSenPeriods = input(9, minval=1, title="Tenkan Sen Periods")
KijunSenPeriods = input(26, minval=1, title="Kijun Sen Periods")
SenkouSpanBPeriods = input(52, minval=1, title="Senkou Span B Periods")
displacement = input(26, minval=1, title="Displacement")
donchian(len) => avg(lowest(len), highest(len))
TenkanSen = donchian(TenkanSenPeriods)
KijunSen = donchian(KijunSenPeriods)
SenkouSpanA = avg(TenkanSen, KijunSen)
SenkouSpanB = donchian(SenkouSpanBPeriods)
SenkouSpanH = max(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
SenkouSpanL = min(SenkouSpanA[displacement - 1], SenkouSpanB[displacement - 1])
ChikouSpan = close[displacement-1]
Sema = ema(close, 13)
Mema = ema(close, 21)
Lema = ema(close, 89)
XLema = ema(close, 233)
plot(Sema, color=blue, title="13 EMA", linewidth = 2)
plot(Mema, color=fuchsia, title="21 EMA", linewidth = 1)
plot(Lema, color=orange, title="89 EMA", linewidth = 2)
plot(XLema, color=teal, title="233 EMA", linewidth = 2)
plot(KijunSen, color=maroon, title="Kijun Sen", linewidth = 3)
plot(close, offset = -displacement, color=lime, title="Chikou Span", linewidth = 2)
sa=plot (SenkouSpanA, offset = displacement, color=green, title="Senkou Span A", linewidth = 1)
sb=plot (SenkouSpanB, offset = displacement, color=red, title="Senkou Span B", linewidth = 3)
fill(sa, sb, color = SenkouSpanA > SenkouSpanB ? green : red)
longCondition = (rsi(close, 12)>rsi(close, 24)) and close>ChikouSpan and Sema>KijunSen
strategy.entry("Long",strategy.long,when = longCondition)
strategy.close("Long", when = (rsi(close, 12)<rsi(close, 24) and (close<KijunSen and close<ChikouSpan)))
shortCondition = (rsi(close, 12)<rsi(close, 24)) and close<ChikouSpan and Sema<KijunSen
strategy.entry("Short",strategy.short, when = shortCondition)
strategy.close("Short", when = (rsi(close, 12)>rsi(close, 24) and (close>KijunSen and close>ChikouSpan)))