변화율 최적화 전략

저자:차오장, 날짜: 2024-02-20 13:54:49
태그:

img

전반적인 설명

이 전략은 원래의 변화율 (ROC) 전략을 최적화합니다. 원래의 ROC 전략과 비교하면 이 전략은 다음과 같은 최적화를 가지고 있습니다.

  1. 현재 ROC와 동적 비교를 위해 최대 역사 ROC 값을 입력하여 상대적 운동 값을 얻습니다.
  2. 상대적인 운동량을 평평하게 하여 신호를 생성합니다.
  3. 구매 및 판매 신호 문턱을 추가합니다.

이러한 최적화 조치를 통해 많은 유효하지 않은 신호를 필터링하여 전략을 더 안정적이고 신뢰할 수 있습니다.

전략 원칙

이 전략의 핵심 지표는 변화율 (ROC) 이다. ROC는 특정 기간 동안 주식 가격의 변화율을 측정한다. 이 전략은 먼저 9 기간 동안 ROC 값을 계산한다. 그 다음 지난 200 기간 동안이 ROC 지표의 최대 값을 기록하고 동력의 상대적 강도를 얻기 위해 현재 ROC를 최대 역사 ROC의 비율로 계산한다. 예를 들어 지난 200 일 동안 가장 높은 ROC가 100에 도달하면 오늘날의 ROC가 80일 때 상대적 강도는 80%이다.

상대적 강도는 단기 변동을 필터링하고 부드러운 곡선을 얻기 위해 10 기간 SMA로 부드럽게됩니다. 부드러운 곡선이 3 일 동안 지속적으로 상승하고 값이 -80% 이하인 경우 주식 가격 하락이 느려지기 시작한다고 간주되며 바닥 신호가 나타나므로 길게 이동합니다. 부드러운 곡선이 3 일 동안 지속적으로 떨어지고 값이 80% 이상인 경우 주식 가격 상승이 느려지기 시작하고 상위 신호가 나타나므로 가까운 위치로 간주됩니다.

이점 분석

원래 ROC 전략과 비교했을 때, 이 전략은 다음과 같은 주요 장점을 가지고 있습니다.

  1. 역사적 최대 ROC 값 비교를 도입하면 운동 지표의 상대적 수준을 효과적으로 측정 할 수 있으며 충분히 높지 않은 절대 값으로 유효하지 않은 신호를 필터링 할 수 있습니다.
  2. 부드러운 처리 방식은 소음을 필터링하고 신호를 안정적이고 신뢰할 수 있게 합니다.
  3. 구매 및 판매 기준을 설정하면 유효하지 않은 거래가 감소합니다.

일반적으로 이 전략은 ROC 지표를 효과적으로 처리하여 라이브 거래에 더 적합하게 만듭니다.

위험 분석

이 전략의 주요 위험은 다음과 같습니다.

  1. ROC 지표는 시장 동향을 결정할 수 없으며 일부 오해가 있습니다. 이 전략은 황금-곰 전환기에 직면했을 때 실패 할 수 있습니다.
  2. 구매 및 판매 문턱은 완벽하지 않습니다. 문턱을 너무 높거나 너무 낮게 설정하면 전략 성과에 영향을 줄 것입니다.
  3. 잘못된 SMA 매개 변수 설정도 전략 결과에 영향을 줄 것입니다.

위의 위험을 줄이기 위해 주요 트렌드를 결정하기 위해 트렌드 지표를 결합하는 것을 고려하십시오. 문턱 매개 변수를 조정하고 최적 매개 변수를 테스트하십시오. SMA 사이클 매개 변수를 최적화하십시오.

최적화 방향

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

  1. 트렌드 지표를 결합하여 전체 시장 방향을 결정하고 황소-곰 전환 과정에서 실패를 피합니다.
  2. ROC 길이 매개 변수와 구매 및 판매 임계 매개 변수를 테스트하여 최적의 매개 변수 조합을 찾습니다.
  3. 가장 좋은 매개 변수를 찾기 위해 SMA 평형 매개 변수를 최적화합니다.
  4. 스톱 손실 메커니즘을 높여

요약

이 전략은 ROC 지표의 2차 개발에 기반한 최적화 전략이다. 이는 유효하지 않은 신호를 필터링하고 전략을 더 안정적으로 만들기 위해 역사적 최대 가치 비교, SMA 평형화, 구매 및 판매 임계와 같은 방법을 도입한다. 주요 장점은 실시간 거래에 적합한 높은 신호 품질이다. 트렌드 결합, 매개 변수 최적화 등으로 후속 개선이 가능하여 전략 성능을 더욱 향상시킬 수 있다.


/*backtest
start: 2024-02-12 00:00:00
end: 2024-02-19 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy(title="Rate Of Change Mod Strategy", shorttitle="ROC", format=format.price, precision=2)
//length = input.int(9, minval=1)
//source = input(close, "Source")
//roc = 100 * (source - source[length])/source[length]
//plot(roc, color=#2962FF, title="ROC")
//hline(0, color=#787B86, title="Zero Line")

length = input.int(9, minval=1, title="Length")
maxHistory = input(200, title="Max Historical Period for ROC")
lenghtSmooth = input.int(10, minval=1, title="Length Smoothed ROC")
lenghtBUY = input.int(-80, title="Buy Threshold")
lenghtSELL = input.int(80, title="Buy Threshold")

source = close
roc = 100 * (source - source[length]) / source[length]

// Calculate the maximum ROC value in the historical period
maxRoc = ta.highest(roc, maxHistory)

// Calculate current ROC as a percentage of the maximum historical ROC
rocPercentage = (roc / maxRoc) * 100


rocPercentageS = ta.sma(rocPercentage, lenghtSmooth)
if ta.rising(rocPercentageS, 3) and rocPercentageS < lenghtBUY
    strategy.entry("Buy", strategy.long)

if ta.falling(rocPercentageS, 3) and rocPercentageS > lenghtSELL
    strategy.close("Buy")


plot(rocPercentage, color=color.new(color.blue, 0), title="Percentage ROC")
plot(rocPercentageS, color=color.new(#21f32c, 0), title="Percentage ROC")
hline(0, color=color.new(color.gray, 0), title="Zero Line")


더 많은