딱딱성 돌파구 전략

저자:차오장, 날짜: 2024-01-03 11:34:34
태그:

img

전반적인 설명

경직성 돌파 전략 (stiffness breakthrough strategy) 은 가격 경직성 지표에 기반한 브레이크아웃 전략이다. 경직성 지표가 정해진 임계 기간 동안 종점 가격이 상부 레일을 뚫고 갈 수 있는 수를 계산하여 가격의 경직성을 결정한다. 경직성 지표가 설정된 임계치를 초과하면 시장이 경직될 예정이라고 판단되고 구매 주문이 이루어진다. 경직성 지표가 임계치 아래에 있을 때 시장이 다시 떨어질 예정이라고 판단되고 판매 주문이 이루어진다.

전략 원칙

  1. 이동 평균과 표준편차를 계산한다: n 기간의 간단한 이동 평균을 기준 상단열로 계산하고, 가격의 표준편차의 0.2배를 버퍼 하단열로 계산한다.

  2. 강도 지표를 계산합니다. 닫기 가격이 m 주기로 상단 레일보다 높을 수 있는 날 수를 계산하고, 0-100 사이의 값을 얻기 위해 m로 나누고, 최종 강도 값을 얻기 위해 n 기간 EMA로 매끄럽게합니다. 닫기 가격이 상단 레일을 뚫을 확률을 나타냅니다.

  3. 딱딱함과 임계점을 비교하십시오. 딱딱함 지표가 설정된 임계점을 넘으면 돌파 확률이 증가하고 구매 신호가 생성됩니다. 딱딱함 지표가 임계치를 넘으면 돌파 확률이 감소하고 판매 신호가 생성됩니다.

  4. 진입 및 출입: 폐쇄 가격이 상부 레일을 뚫고 갈 때 구입하고 돌파구가 실패하고 하락이 시작되면 판매합니다.

이점 분석

  1. 브레이크의 타이밍을 캡처: 비교적 신뢰할 수 있는 추세가 폭발하거나 후퇴 할 때 판단, 미리 시장에 입력 하기 위해.

  2. 브레이크오프와 백을 고려하십시오. 전략은 강도 지표 브레이크오프와 하락을 활용하여 장기 및 단기 기회를 포착합니다.

  3. 유연한 매개 변수: 사용자는 이동 평균 길이, 경직 사이클, 임계 등과 같은 매개 변수를 시장에 따라 조정하여 다른 사이클과 시장의 특성에 적응할 수 있습니다.

  4. 구현하기 쉽다: 복잡한 논리 없이 딱딱한 지표와 임계값 비교만 사용하면 코드 구현이 매우 간단하다.

위험 분석

  1. 실패한 브레이크 위험: 경직도가 임계치를 초과하면 가격이 상단 철도를 통과 할 것이라는 것을 완전히 보장 할 수 없으며 잘못된 브레이크의 위험이 있습니다.

  2. 회수 범위 위험: 단축할 때 회수 범위와 위치를 예측할 수 없으며 너무 많은 손실이 발생할 위험이 있습니다.

  3. 매개 변수 최적화 위험: 기준 매개 변수는 시장 변화에 완전히 적응할 수 없으며 실제 조건에 따라 지속적으로 테스트하고 최적화해야합니다.

  4. 빈번한 거래 위험: 이 전략의 상대적으로 높은 거래 빈도는 거래 비용과 미끄러짐으로 인한 손실을 증가시킵니다.

최적화 방향

  1. 매개 변수를 최적화: 최적의 매개 변수 조합을 찾기 위해 다른 시장에서 매개 변수 설정을 테스트하십시오. 예를 들어 이동 평균 길이를 늘려 거래 빈도를 줄이십시오.

  2. 스톱 손실을 추가: 단일 손실을 제어하기 위해 합리적인 스톱 손실 논리를 설정하십시오. 스톱 손실은 ATR에 따라 설정 할 수 있습니다.

  3. 다른 지표를 포함: MACD 및 KD와 같은 지표를 추가하여 특정 입점 지점을 결정하고 잘못된 브레이크의 확률을 줄일 수 있습니다.

  4. 출구 조건 최적화: 트렌드 지표는 트렌드 반전의 특성을 결정하고 더 정확한 출구 조건을 설정하는 데 사용할 수 있습니다.

요약

전체적으로, 딱딱성 돌파구 전략은 매우 간단하고 실용적입니다. 그것은 약간의 실용적 가치와 함께 가능한 가격 브레이크오프와 풀백을 사전에 예측할 수 있습니다. 그러나 우리는 또한 잘못된 브레이크오프와 풀백 범위의 문제에 관심을 기울여야하며 매개 변수 최적화 및 다른 기술적 지표의 추가로 더 정확한 거래 기회를 포착해야합니다.


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

//@version=4
// Copyright (c) 2020-present, JMOZ (1337.ltd)
// Copyright (c) 2018-present, Alex Orekhov (everget)
// Stiffness Indicator script may be freely distributed under the MIT license.
strategy("Stiffness Strategy", overlay=false, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, commission_value=0.075)


maLength = input(title="Moving Average Length", minval=1, defval=100)
stiffLength = input(title="Stiffness Length", minval=1, defval=60)
stiffSmooth = input(title="Stiffness Smoothing Length", minval=1, defval=3)
threshold = input(title="Threshold", minval=1, defval=90)
highlightThresholdCrossovers = input(title="Highlight Threshold Crossovers ?", type=input.bool, defval=false)


bound = sma(close, maLength) - 0.2 * stdev(close, maLength)
sumAbove = sum(close > bound ? 1 : 0, stiffLength)
stiffness = ema(sumAbove * 100 / stiffLength, stiffSmooth)


long_cond = crossover(stiffness, threshold)
long_close = stiffness > threshold and falling(stiffness, 1)
short_cond = crossunder(stiffness, threshold) or stiffness < threshold and falling(stiffness, 1)
short_close = stiffness < threshold and rising(stiffness, 1)


strategy.entry("Long", strategy.long, when=long_cond)
strategy.close("Long", when=long_close)
strategy.entry("Short", strategy.short, when=short_cond)
strategy.close("Short", when=short_close)


transparent = color.new(color.white, 100)

bgColor = highlightThresholdCrossovers ? stiffness > threshold ? #0ebb23 : color.red : transparent
bgcolor(bgColor, transp=90)

plot(stiffness, title="Stiffness", style=plot.style_histogram, color=#f5c75e, transp=0)
plot(threshold, title="Threshold", color=color.red, transp=0)


더 많은