바다와 하늘과 이치모쿠 긴코 효 트레이딩 전략


생성 날짜: 2023-09-18 15:13:35 마지막으로 수정됨: 2023-09-18 15:13:35
복사: 0 클릭수: 1251
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

개요

이 전략은 해양과 1차 평형표 지표를 사용하여 트렌드 방향을 판단하고 트렌드 추적을 한다. 해양 평평한 K선 데이터는 소음을 줄인다. 1차 평형표는 변환선, 기준선 등 여러 가지 신호를 통한 통합 판단 트렌드가 강하다. 이중 지표와 결합하면 전략의 안정성을 높인다.

전략 원칙

해공의 종식값을 계산하고, 전환선, 기준선 등 일목요소 평형표 지표를 도출한다. 종식값이 전날 2일보다 높고, 클라우드 차트의 상단선과 지연선보다 높을 때 더 한다. 종식값이 전날 2일보다 낮고, 클라우드 차트의 하단선과 지연선보다 낮을 때 공을 한다. 일목요소 평형표의 전환선과 기준선 교차도 보조 신호로 한다.

우위 분석

  • 해상 공기 필터 가짜 돌파구, 신호 품질 향상
  • 한눈에 균형표 여러 지표 신호가 서로 검증
  • 지연선은 을 피하고, 을 막아줍니다.
  • “이런 일이 벌어지면서, 지분 보유 기간이 길고, 수익이 더 커졌어요”.

위험 분석

  • 바다와 공중의 평평함을 완벽하게 최적화할 수 없습니다.
  • 첫눈에 평형표 파라미터 설정이 결과에 영향을 미치기
  • 지분 보유 기간이 너무 길어지면 손실이 커질 수 있다.
  • 거래 빈도가 낮아서 단선 거래에 적합하지 않습니다.

적당히 평형 변수를 조정하고, 지주주기를 단축하고, 초기 균형 표 변수를 최적화하여 위험을 제어할 수 있다.

최적화 방향

  • 다른 해양 평평화 매개 변수를 테스트합니다.
  • 초기 평형 표의 주기 변수를 최적화
  • 퇴장 후 재입장 전략 설정
  • 다양한 품종에서 테스트 파라미터 강도

요약하다

이 전략은 트렌드 방향을 판단하는 여러 지표를 통합하고, 회전 제어 능력이 강하다. 调参 등의 방법을 통해 효과를 더욱 향상시킬 수 있다.

전략 소스 코드
/*backtest
start: 2023-08-18 00:00:00
end: 2023-09-17 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3

strategy("Heiken Ashi + Ichimoku Kinko Hyo Strategy", shorttitle="HaI", 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)

hahigh = security(heikinashi(syminfo.tickerid), timeframe.period, high)
halow = security(heikinashi(syminfo.tickerid), timeframe.period, low)

TenkanSenPeriods = input(9, minval=1, title="Tenkan Sen Periods")
KijunSenPeriods = input(24, minval=1, title="Kijun Sen Periods")
SenkouSpanBPeriods = input(51, minval=1, title="Senkou Span B Periods")
displacement = input(24, 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]

plot(TenkanSen, color=blue, title="Tenkan Sen", linewidth = 2)
plot(KijunSen, color=maroon, title="Kijun Sen", linewidth = 3)
plot(close, offset = -displacement, color=orange, title="Chikou Span", linewidth = 2)
sa=plot (SenkouSpanA, offset = displacement, color=green,  title="Senkou Span A", linewidth = 2)
sb=plot (SenkouSpanB, offset = displacement, color=red,  title="Senkou Span B", linewidth = 3)
fill(sa, sb, color = SenkouSpanA > SenkouSpanB ? green : red)

longCondition = hahigh > max(hahigh[1],hahigh[2]) and close>ChikouSpan and close>SenkouSpanH and (TenkanSen>=KijunSen or close>KijunSen)
if (longCondition)
    strategy.entry("Long",strategy.long)

shortCondition = halow < min(halow[1],halow[2]) and close<ChikouSpan and close<SenkouSpanL and (TenkanSen<=KijunSen or close<KijunSen)
if (shortCondition)
    strategy.entry("Short",strategy.short)

closelong = halow < min(halow[1],halow[2]) and (TenkanSen<KijunSen or close<TenkanSen or close<KijunSen or close<SenkouSpanH or close<ChikouSpan)
if (closelong)
    strategy.close("Long")

closeshort = hahigh > max(hahigh[1],hahigh[2]) and (TenkanSen>KijunSen or close>TenkanSen or close>KijunSen or close>SenkouSpanL or close>ChikouSpan)
if (closeshort)
    strategy.close("Short")