트렌드 팔로잉 터틀 시스템


생성 날짜: 2023-12-20 14:16:48 마지막으로 수정됨: 2023-12-20 14:16:48
복사: 1 클릭수: 685
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

트렌드 팔로잉 터틀 시스템

개요

이 전략은 유명한 Turtle 거래 시스템의 실제 코드 구현으로, 55 주기 채널을 입문 신호로, 20 주기 채널을 퇴출 신호로 사용하여, 더 긴 주기 트렌드를 추적하며, 트렌드 추적 유형 전략에 속한다.

전략 원칙

이 전략은 주로 두 가지 지표에 기초하고 있습니다: 55 주기 최고 가격 (HI) 및 최저 가격 (LO) 에 대한 입구 통로, 그리고 20 주기 최고 가격 (hi) 및 최저 가격 (lo) 에 대한 출구 통로 구축.

가격이 55주기 채널을 넘으면 구매 신호를 생성하고, 가격이 55주기 채널을 넘으면 판매 신호를 생성한다. 이것은 전형적인 트렌드 추적 전략 입점 논리이다.

가격이 20주기 통로를 통과할 때 더 많은 상자를 평정하고, 가격이 20주기 통로를 통과할 때 빈 상자를 평정한다. 이것은 전략의 탈퇴 논리이다.

이 전략은 동시에 55주기 통로와 20주기 통로를 지도화하여 전략의 입구와 출구 지점을 직관적으로 볼 수 있다.

우위 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 중장기 추세를 추적하고, 상대적으로 작은 회수
  2. 입구 신호가 명확하고 통로 원칙이 적용되며, 회수 제어 효과가 좋습니다.
  3. 탈퇴 메커니즘이 엄격하여 역전으로 인한 손실을 방지합니다.
  4. 간단하고 쉽게 실행할 수 있는 변수 설정

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 단선 기회를 잡지 못하고 수익성이 상대적으로 낮다.
  2. “사고가 발생했을 때 대처할 수 없는 상태에서 손해가 발생할 수 있습니다.
  3. 일방적인 행동을 효과적으로 통제할 수 없는 과도한 손실
  4. parametric, 변수에 매우 민감하다

위험은 다음과 같은 방법으로 줄일 수 있습니다.

  1. 최적화 매개 변수, 최적의 매개 변수 조합
  2. 단방적인 상황에서의 손실을 통제하기 위한 손실을 막는 전략을 강화한다.
  3. 다른 지표와 함께 잠재적인 역전 기회를 식별합니다.

최적화 방향

이 전략은 다음과 같은 방향으로 최적화될 수 있습니다.

  1. 입구 통로와 출구 통로의 파라미터를 최적화하여 최적의 파라미터 조합을 찾습니다.
  2. 변동성 지표를 늘리고, 흔들림에서 벗어날 수 있다.
  3. 거래량 지표와 결합하여 입시시 거래량이 커질 수 있도록 합니다.
  4. 이동식 중지 전략, 실시간 중지 라인을 추적
  5. 여러 시간 주기를 결합하여, 여러 주기의 통합 거래를 실현

요약하다

이 전략은 전체적으로 매우 전형적인 트렌드 추적 전략이며, 통로를 통해 중장선 트렌드를 포착하고, 후퇴 제어 효과가 좋다. 또한, 트렌드 추적 전략의 전형적인 문제도 있다. 예를 들어, 트렌드 포착의 부족, 역전 대응의 어려움이 있다. 여러 가지 측면에서 최적화를 통해 이 전략의 장점을 극도로 발휘하여 신뢰할 수 있는 양적 전략이 된다.

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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © racer8
//@version=4
strategy("Turtle System", overlay=true)

n = input(55,"Entry Length")
e = input(20,"Exit Length")

HI = highest(n)
LO = lowest(n)
hi = highest(e)
lo = lowest(e)

if close>HI[1]
    strategy.entry("Buy", strategy.long)

if close<LO[1]
    strategy.entry("Sell", strategy.short)
    
if low<lo[1]
    strategy.close("Buy")

if high>hi[1]
    strategy.close("Sell")

plot(HI,color=color.lime)
plot(LO,color=color.red)
plot(hi,color=color.blue)
plot(lo,color=color.maroon)