주요 반전 신호 백테스팅 전략


생성 날짜: 2024-01-26 16:11:28 마지막으로 수정됨: 2024-01-26 16:11:28
복사: 3 클릭수: 614
avatar of ChaoZhang ChaoZhang
1
집중하다
1617
수행원

주요 반전 신호 백테스팅 전략

개요

핵심 역전 신호 재측정 전략은 주식 가격의 핵심 역전 신호를 식별하여 현재 트렌드가 역전되는지 판단하여 트렌드 역전 후의 가격 운행 방향을 포착하는 전략이다. 이 전략은 ?? 핵심 역전 일 ?? 의 이론에 기초하여, 핵심 역전 신호가 발견될 때 추가 공백을 하고, 스톱 손실을 설정하여 수익을 잠금합니다.

전략 원칙

핵심 역전 신호 추적 전략의 핵심 논리는 핵심 역전 날짜를 식별하는 것이다. 주식의 가격 움직임에 따라 우리는 현재 트렌드 방향을 판단할 수 있다. 핵심 역전 신호가 발생하면 트렌드가 역전될 수 있음을 나타낸다.

구체적으로, 주식 상승 추세에 대해, 만약 그날의 최저 가격이 혁신이 낮지만, 종결 가격이 전날의 최저 가격에 가까웠다면, 그 날은 중요한 반전일이다. 이것은 다중의 힘이 약해지고, 견제력이 떨어지는 것을 의미하며, 상승 추세는 하락으로 반전될 수 있음을 나타낸다. 전략은 중요한 반전 날에 포지션을 공백한다.

반대로, 주식 하향 트렌드에 대해, 만약 그날의 혁신이 낮지만, 종결 가격이 전날의 최고 가격에 가깝다면. 그러면 이것은 또한 중요한 역전일이며, 상자력이 약해지고, 하향 트렌드가 상승으로 역전될 수 있음을 나타냅니다. 전략은 중요한 역전일에는 더 많은 포지션을 열 것입니다.

전략은 중요한 반전날을 판단하고 이후의 움직임을 추적함으로써 가격 반전 후의 움직임을 포착할 수 있다.

우위 분석

핵심 역전 신호 회수 전략의 주요 장점은 다음과 같다.

  1. 트렌드 반전을 포착하고, 큰 수익 공간을 확보한다. 중요한 반전 신호는 종종 트렌드 변화의 방향을 나타냅니다. 반전 신호를 판단하고 후속 운영을 추적함으로써 비교적 큰 수익 공간을 얻을 수 있습니다.

  2. 규칙이 명확하고, 재검증하기 쉽다. 중요한 반전날의 판단 규칙이 매우 명확하며, 가격이 혁신 높은 또는 새로운 낮은 동시에, 전날의 종결 가격과 반전 형태를 구성한다. 이것은 전략을 쉽게 재검토하고, 또한 잘못된 판단을 줄일 수 있다.

  3. 유연한 조정, 쉽게 최적화 손해 지점의 설정은 매우 유연하며, 시장 상황과 개인의 위험 선호도에 따라 조정할 수 있으며, 전략을 최적화하여 손실 위험을 줄일 수 있다.

위험 분석

중요한 반전 신호 추적 전략에는 몇 가지 위험도 있습니다.

  1. 역전 신호 오해의 위험. 주식 가격에는 종종 단기 조정이 있으며, 모든 중요한 역전 신호가 트렌드 반전을 예고하는 것은 아니며, 오해의 위험을 초래할 수 있다. 최적화 파라미터를 통해 스톱 스톱 손실 조건을 조정하면 오해의 가능성을 줄일 수 있다.

  2. 반전이 되지 않거나 반전이 된 후 계속 반전되는 위험. 판단이 정확하더라도 가격 반전이 된 후에도 다시 회전 또는 원래의 추세가 계속 작동 할 수 있습니다. 이 경우 손실 위험에 직면합니다. 적시에 손실을 막아 손실을 제어합니다.

  3. 회수 편차. 어떤 규칙과 신호가 실 디스크에서 수행되는 경우도 회수 결과와 편차가 있을 수 있으며, 회수 수익 상황을 완전히 재현할 수 없다.

최적화 방향

주요 역전 신호 회수 전략의 주요 최적화 방향:

  1. 스톱 스톱 손실 설정을 최적화한다. 더 많은 역사 데이터를 기반으로 적절한 스톱 스톱 손실 지점을 계산할 수 있다.

  2. 필터링 조건을 추가하여, 다른 기술 지표 필터링 오류 판단과 결합한다. 예를 들어, 회전 신호를 확인하기 위해 교량 합성을 결합할 수 있으며, 중매 조작으로 오해되는 것을 피한다.

  3. 역전 후 추적 전략을 최적화한다. 역전 후 가격운동에도 일정한 규칙이 있다. 후속 추적 전략을 설정하여 수익을 더욱 확대한다.

  4. 기계 학습 모델과 결합하여 신호 품질을 판단한다. 훈련 모델은 각 핵심 역전 신호의 신뢰성을 평가하고, 품질이 낮은 신호를 추적하는 것을 피한다.

요약하다

핵심 역전 신호 전략은 핵심 역전 날짜를 판단하여 가격 트렌드 역전 기회를 포착한다. 전략 규칙은 간단하고 명확하며 쉽게 구현된다. 역전 후의 트렌드가 계속 작동 할 수있는 공간이 넓지만 특정 오류 판단의 위험이 있습니다. 매개 변수 및 필터링 조건을 지속적으로 최적화하여 오류 판단의 가능성을 줄임으로써 더 신뢰할 수있는 효과를 얻을 수 있습니다.

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

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 21/01/2020
//
// A key reversal is a one-day trading pattern that may signal the reversal of a trend. 
// Other frequently-used names for key reversal include "one-day reversal" and "reversal day."
// How Does a Key Reversal Work?
// Depending on which way the stock is trending, a key reversal day occurs when:
// In an uptrend -- prices hit a new high and then close near the previous day's lows.
// In a downtrend -- prices hit a new low, but close near the previous day's highs
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Key Reversal Up Backtest", shorttitle="KRU Backtest", overlay = true) 
nLength = input(1, minval=1, title="Enter the number of bars over which to look for a new low in prices.")
input_takeprofit = input(20, title="Take Profit pip", step=0.01)
input_stoploss = input(10, title="Stop Loss pip", step=0.01)
xLL = lowest(low[1], nLength)
C1 = iff(low < xLL and close > close[1], true, false)
plotshape(C1, style=shape.triangleup, size = size.small, color=color.green, location = location.belowbar )
posprice = 0.0
pos = 0
barcolor(nz(pos[1], 0) == -1 ? color.red: nz(pos[1], 0) == 1 ? color.green : color.blue ) 
posprice := iff(C1== true, close, nz(posprice[1], 0)) 
pos := iff(posprice > 0, 1, 0)
if (pos == 0) 
    strategy.close_all()
if (pos == 1)
    strategy.entry("Long", strategy.long)
posprice := iff(low <= posprice - input_stoploss and posprice > 0, 0 ,  nz(posprice, 0))
posprice := iff(high >= posprice + input_takeprofit and posprice > 0, 0 ,  nz(posprice, 0))