가장 높은 높은/최저 낮은 정지 전략

저자:차오장, 날짜: 2024-03-08 14:32:30
태그:

img

전반적인 설명

이 전략은 최근 최고와 최저로 기준으로 스톱 로스 포인트를 설정하여 트렌드에 빠르게 진입하고 위험을 엄격히 제어합니다. 가격이 연속적으로 상승할 때 긴 포지션을, 가격이 연속적으로 떨어질 때 짧은 포지션을 입력합니다. 포지션을 보유할 때 긴 포지션의 스톱 로스 레벨은 최근 몇 바 중 가장 낮은 수준이며 짧은 포지션의 스톱 로스 레벨은 가장 높은 수준입니다. 이 동적 스톱 로스 접근법은 손실을 엄격하게 제한하면서 트렌드를 효율적으로 파악 할 수 있습니다.

전략 원칙

  1. 사용input뷰백 기간을 설정하는 함수hiLen그리고loLen가장 높은 고도와 가장 낮은 하위, 20에 채무불이행
  2. 가장 높은 높이를 계산hiHighs이전 바까지 사용ta.highest(high, hiLen)[1], 그리고 가장 낮은loLows사용ta.lowest(low, loLen)[1].
  3. 스톱 로스 레벨을 그래프로 그려loLows긴 포지션과hiHighs짧은 포지션에 대해 설명합니다. 평평한 상태에서 그래프를 그리지 마세요.
  4. 트레이드 신호 조건을 정의합니다.
    • higherCloses: 마지막 3 바는 연속적으로 더 높은 닫습니다
    • lowerCloses: 마지막 3 바는 연속적으로 낮은 닫습니다
    • isFlat: 현재 위치가 없습니다.
  5. 입력:isFlat그리고higherCloses, 짧게 입력isFlat그리고lowerCloses.
  6. 스톱 로스: 긴 포지션의 경우loLows: 단위 포지션의 경우hiHighs.

간단히 말해서, 이 전략은 최근 최고와 최저를 사용하여 추후를 멈추고, 빠르게 강한 추세로 진입하고 손실을 엄격하게 제한하여 효율적으로 추세 이익을 캡처합니다.

이점 분석

  1. 단순하고 효과적: 전략은 명확하고 간단한 논리를 가지고 있으며, 가격 자체에 기반하여 트렌드를 효과적으로 파악하기 위해 정지를 설정합니다.
  2. 빠른 진입: 같은 방향으로 움직이는 3 개의 연속 바에 진입하면 새로운 트렌드를 빠르게 입력 할 수 있습니다.
  3. 엄격한 스톱: 엄격한 위험 통제를 위해 최근 극단적인 가격에 정지되며 현재 가격과 밀접하게 연결되어 있습니다.
  4. 트레일링 스톱: 스톱 레벨은 가격에 따라 지속적으로 업데이트되며 수익을 확보하고 트렌드 공간을 유지합니다.
  5. 매우 적응력: 다양한 시장과 도구에 적합하며, 가볍게 조절할 수 있는 매개 변수.

위험 분석

  1. 불안한 시장 위험: 불안한 시장은 빈번한 진입 및 중지로 인해 성과를 저하시킬 수 있습니다. 불안한 시장을 피하거나 필터로 진입 조건을 높여야합니다.
  2. 트렌드 종료 위험: 트렌드가 반전 될 때, 새로운 엔트리는 즉시 반전과 손실에 직면 할 수 있습니다.
  3. 극심한 이동 위험: 극심한 과반 판매 반등 또는 과반 구매 하락 시, 후속 정지는 포지션을 잘 보호하지 않을 수 있습니다. 고정 정지 수준을 설정합니다.
  4. 매개 변수 위험: 부적절한 매개 변수는 너무 빈번한 입출입을 유발할 수 있습니다. 매개 변수 최적화를 수행합니다.

최적화 방향

  1. 트렌드 식별: 이동 평균과 같은 트렌드 지표를 추가하고 승률을 향상시키기 위해 주요 트렌드 방향으로만 거래하십시오.
  2. 변동성을 포함합니다: ATR과 같은 변동성 지표에 기반한 매개 변수를 조정하여 다른 변동성에 적응합니다.
  3. 모멘텀 확인: 모멘텀 지원으로만 엔트리를 확인하기 위해 MACD와 같은 모멘텀 지표를 추가합니다.
  4. 스톱을 최적화하십시오: 극단적인 움직임에 대한 비율 스톱과 결합하십시오. 거래당 손실을 줄이기 위해 보호 스톱을 추가하십시오.
  5. 포지션 크기: 포지션 크기를 최적화합니다. 예를 들어 위험 수준에 따라 크기를 조정하여 위험/이익 비율을 향상시킵니다.

요약

이 가장 높은 / 가장 낮은 낮은 스톱 전략은 강력한 트렌드를 효율적으로 캡처하고 위험을 엄격하게 제어하기 위해 가격 자체에 기반하여 동적 스톱을 설정합니다. 그것의 장점은 단순성, 효과성, 빠른 입출입, 엄격한 스톱 및 높은 적응력입니다. 그러나, 그것은 불안정한 시장, 트렌드 종료 및 극단적 인 움직임에서 성능이 좋지 않으며 매개 변수 설정에주의를 기울여야합니다. 미래의 개선은 트렌드 및 모멘텀 확인을 추가하고 스톱 및 포지션 사이징을 최적화 할 수 있습니다. 전반적으로, 그것은 트렌드 캡처와 위험 통제를 균형 잡는 간단하고 효과적인 전략으로 실무에서 심층 연구 및 최적화를받을 자격이 있습니다.


/*backtest
start: 2023-03-02 00:00:00
end: 2024-03-07 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Highest high/lowest low stop", overlay=true)

// STEP 1:
// Make inputs for length of highest high and lowest low
hiLen = input.int(20, title="Highest High Lookback", minval=2)
loLen = input.int(20, title="Lowest Low Lookback", minval=2)

// STEP 2:
// Calculate recent extreme high and low
hiHighs = ta.highest(high, hiLen)[1]
loLows  = ta.lowest(low, loLen)[1]

// Plot stop values for visual confirmation
plot(strategy.position_size > 0 ? loLows : na,
     style=plot.style_circles, color=color.green, linewidth=3,
     title="Lowest Low Stop")

plot(strategy.position_size < 0 ? hiHighs : na,
     style=plot.style_circles, color=color.red, linewidth=3,
     title="Highest High Stop")

// Trading conditions for this example strategy
higherCloses = close > close[1] and
     close[1] > close[2] and 
     close[2] > close[3]

lowerCloses = close < close[1] and
     close[1] < close[2] and 
     close[2] < close[3]

isFlat = strategy.position_size == 0

// Submit entry orders
if isFlat and higherCloses
    strategy.entry("EL", strategy.long)

if isFlat and lowerCloses
    strategy.entry("ES", strategy.short)

// STEP 3:
// Submit stops based on highest high and lowest low
if strategy.position_size > 0
    strategy.exit("XL HH", stop=loLows)

if strategy.position_size < 0
    strategy.exit("XS LL", stop=hiHighs)

더 많은