리소스 로딩... 로딩...

연속 하락 하락 역전 전략

저자:차오장, 날짜: 2024-03-08 17:01:33
태그:

img

전반적인 설명

연속 하락 상승 역전 전략 (Consecutive Downs-Ups Reversal Strategy) 은 가격 하락 상승의 연속성에 기반한 양적 거래 전략이다. 전략은 X 연속 하락 촛불이 최저점을 깨고 Y 연속 상승 촛불이 따라가는 패턴을 파악하여 단기 트렌드 역전 기회를 포착한다. 전략의 기본 아이디어는 가격이 연속 하락을 경험한 후 하락 동력이 풀렸음을 나타낸다. 이후, 연속 하락이 발생하면 상승 동력이 축적되기 시작하여 가격이 리바운드를 일으킬 수 있음을 암시한다. 따라서 이 전략은 가격 역전 기회를 하락에서 상승으로 포착하여 이익을 창출하려고 시도한다.

전략 원칙

연속적인 다운업 역전 전략의 원칙은 다음과 같은 단계로 나눌 수 있습니다.

  1. 매개 변수 설정: 연속 다운 바 (consecutiveBarsDown) 의 수와 연속 업 바 (consecutiveBarsUp) 의 수를 설정합니다.
  2. 시장 트렌드를 결정: 현재 가격의 연속 하락 바 (dns) 와 연속 상승 바 (ups) 의 수를 계산합니다.
  3. 출입 조건: 다음 조건이 충족되면 긴 포지션을 개설합니다.
    • 현재 거래 시간은 백테스트 범위 내에 있습니다 (데이터)
    • 이전 두 개의 촛불은 연속적으로
    • 현재 촛불은 연속적으로 BarsUp의 설정 값으로 상승했습니다
    • 현재 위치가 없습니다 (활동하지 않습니다)
  4. 스톱 로스 설정: 포지션을 열고 나면, 가장 최근 세 개의 촛불의 종료 가격의 가장 낮은 지점으로 스톱 로스 가격을 (stop_loss) 설정합니다.
  5. 출구 조건: 다음 조건이 충족되면 포지션을 닫습니다.
    • 현재 거래 시간은 백테스트 범위 내에 있습니다 (데이터)
    • 현재 위치 (활동)
    • 클로징 가격은 스톱 로스 가격 (클로즈 < 스톱_로스) 보다 낮거나 가장 높은 가격 (클로즈 < 하이 - 2 * atr(7) 보다 낮습니다.
  6. 재설정 변수: 포지션을 닫은 후, 활성 변수를 false로 재설정하고 entry_bar_index를 매우 큰 값으로 설정합니다.

이 전략은 연속적인 하락과 상승의 패턴을 활용하여 하락에서 상승으로 전환 기회를 잡으려고 노력합니다. 동시에 위험을 통제하기 위해 엄격한 스톱 로스 조건을 설정합니다.

이점 분석

연속 하락-상승 역전 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 트렌드 감수성: 연속 하락 및 상승 바의 수를 계산함으로써 전략은 가격 트렌드의 변화에 상대적으로 민감하며 잠재적 인 역전 기회를 신속하게 식별 할 수 있습니다.
  2. 단순하고 명확한 패턴: 전략은 명확한 규칙과 이해하기 쉽고 실행하기 쉬운 연속적인 하락과 상승의 간단한 패턴을 기반으로합니다.
  3. 엄격한 스톱 로스: 전략은 상대적으로 엄격한 스톱 로스 조건 (최근 세 개의 촛불의 종료 가격의 최저 점) 을 포지션을 열 때 설정하여 트렌드가 계속되지 않을 때 적시에 종료하여 손실을 제어합니다.
  4. 조정 가능한 매개 변수: 시장 특성과 거래 도구에 따라 연속 하락 및 상승 바의 수를 조정하여 전략의 유연성을 높일 수 있습니다.

위험 분석

연속적인 다운업 역전 전략은 몇 가지 장점을 가지고 있지만 여전히 다음과 같은 위험에 직면합니다.

  1. 빈번한 거래: 시장의 변동성이 높을 때, 가격은 종종 전략의 입출장 조건을 유발할 수 있으며, 거래 수와 거래 비용의 증가로 이어질 수 있습니다.
  2. 스톱 로스 포지션: 전략의 스톱 로스 포지션은 가장 최근의 세 개의 촛불의 종료 가격의 가장 낮은 지점이며, 이는 스톱 로스가 엔트리 가격에 너무 가까워지고 정상적인 시장 변동 중에 스톱 로스를 유발하고 불필요한 손실을 유발할 수 있습니다.
  3. 트렌드 지속 위험: 이 전략은 주로 역전 기회를 포착하지만 시장 트렌드가 강하게 계속되면 역전 패턴이 실패하여 전략의 연속 손실로 이어질 수 있습니다.

이러한 위험을 해결하기 위해 다음과 같은 최적화 조치를 고려할 수 있습니다.

  • 시장 변동성 특성에 따라 연속 하락 및 상승 바의 수에 대한 요구 사항을 동적으로 조정하여 빈번한 거래를 줄이십시오.
  • 스톱 로스 포지션의 설정 방법을 최적화합니다. 예를 들어 ATR 또는 퍼센트 스톱 로스를 사용하여 가격 변동에 더 많은 공간을 제공합니다.
  • 강력한 트렌드 지속이 있는 시장 환경에서, 트렌드 반대 작전을 피하기 위해 거래를 줄이거나 역거래를 고려하십시오.

최적화 방향

연속 다운업 역전 전략은 다음과 같은 최적화 방향을 가지고 있습니다.

  1. 더 많은 지표를 도입: 연속 하락 및 상승 바의 수 외에도 RSI 및 MACD와 같은 다른 기술적 지표가 결합되어 입출 신호의 정확성을 향상시킬 수 있습니다. 확인을 위해 여러 지표를 사용하여 잘못된 신호를 줄이고 전략의 수익성을 향상시킬 수 있습니다.
  2. 스톱 로스를 최적화하고 이윤을 취득: 현재 전략은 고정 스톱 로스 포지션을 (최근 세 개의 촛불의 종료 가격의 최저 점) 사용합니다. 동적 스톱 로스 또는 트레일링 스톱 로스 방법은 ATR 스톱 로스 또는 트레일링 스톱 로스와 같이 고려 할 수 있습니다. 동시에 목표 이윤이 특정 퍼센트에 도달하면 기존 이윤을 잠금 할 때 포지션을 종료하는 것과 같은 이윤을 취득 조건이 추가 될 수 있습니다.
  3. 다른 시장 환경에 적응: 전략은 변동적인 시장에서 더 잘 수행 할 수 있지만 트렌딩 시장에서 위험에 직면 할 수 있습니다. 다른 시장 상태에 적응하기 위해 시장 조건의 변화에 따라 전략 매개 변수를 동적으로 조정하거나 거래를 중단하는 것을 고려할 수 있습니다.
  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("Bottom Out Strategy", overlay=true)
consecutiveBarsUp = input(2)
consecutiveBarsDown = input(3)
price = close
ups = 0.0
ups := price > price[1] ? nz(ups[1]) + 1 : 0
dns = 0.0
dns := price < price[1] ? nz(dns[1]) + 1 : 0
var entry_bar_index = 1000000
var active = false
var stop_loss = 0.0

// === INPUT BACKTEST RANGE ===
i_from = input(defval = timestamp("01 Jan 2023 00:00 +0000"), title = "From")
i_thru = input(defval = timestamp("01 Mar 2024 00:00 +0000"), title = "Thru")
// === FUNCTION EXAMPLE ===
date() => true

entry_condition() => 
	date() and dns[2] >= consecutiveBarsDown and ups >= consecutiveBarsUp and not active

exit_condition() =>
	date() and active and (close < nz(stop_loss) or close < high - 2 * ta.atr(7))

if (entry_condition())
	strategy.entry("ConsDnLong", strategy.long, comment="CDLEntry")
	entry_bar_index := bar_index
	active := true
	stop_loss := math.min(close, close[1], close[2])
	// log.info("Entry at bar {0}, close={1}, stop_loss={2} ", entry_bar_index, close, stop_loss)
if (exit_condition())
	strategy.close("ConsDnLong", comment = "CDLClose")
	// log.info("Close at bar {0}", bar_index)
	entry_bar_index := 1000000
	active := false
// if (dns >= consecutiveBarsDown)
// 	strategy.entry("ConsDnSE", strategy.short, comment="ConsDnSE")
//plot(strategy.equity, title="equity", color=color.red, linewidth=2, style=plot.style_areabr)
plot(high - 2* ta.atr(7))

더 많은