변동성 힘 돌파구 거래 전략

저자:차오장, 날짜: 2023-10-26 16:17:17
태그:

img

전반적인 설명

이 전략은 트렌드 판단 및 브레이크아웃 거래를 위해 이동 평균, ATR, 볼링거 밴드를 사용하고, 타이밍을 위해 힘 지표와 결합하여 브레이크아웃 거래 전략에 속합니다.

전략 논리

  1. 볼링거 밴드의 중간, 상위 및 하위 라인을 계산합니다. 중간 라인은 폐쇄 가격의 sma, 상위 및 하위는 중간 라인 ± stdDev입니다.

  2. 빠른 ATR와 느린 ATR를 계산합니다. 빠른 ATR에는 20의 기간이 있고 느린 ATR에는 50의 기간이 있습니다.

  3. 부피의 누적 인 힘 지수 XFORCE를 계산합니다. 그리고 XFORCE의 빠르고 느린 EMA를 계산합니다.

  4. 긴 신호를 판단합니다: 빠른 XFORCE가 느린 XFORCE를 넘어서고 빠른 ATR > 느린 ATR, 그리고 닫습니다 > 열려 있습니다.

  5. 짧은 신호를 판단: 빠른 XFORCE는 느린 XFORCE 아래로 넘어가고 빠른 ATR> 느린 ATR, 그리고 닫아 < 열립니다.

  6. 긴 신호가 발사되면 장거리, 짧은 신호가 발사되면 단거리

이점 분석

  1. 이동평균은 트렌드를 나타내고 볼링거밴드는 브레이크아웃 포인트를 나타냅니다.

  2. ATR은 변동성을 판단하고 변동성 거래를 실행합니다.

  3. 힘 지수는 힘의 방향을 결정하고, 힘의 탈출을 구현합니다.

  4. 여러 지표의 조합은 포괄적인 판단을 제공합니다.

  5. 명확하고 간단한 규칙, 이해하기 쉽고 실행하기 쉽습니다.

  6. 좋은 백테스트 결과, 안정적인 수익

위험 분석

  1. 폭이 부적절하면 볼링거 밴드는 잘못된 신호를 생성할 수 있습니다.

  2. 잘못된 ATR 매개 변수는 시장의 변동성을 파악할 수 없습니다.

  3. 힘 지표는 제한된 효과를 가지고 있으며 실제 트렌드 반전을 결정할 수 없습니다.

  4. 여러 지표에 대한 매개 변수와 가중을 조정하는 것이 어렵습니다.

  5. 파업 신호가 정확하지 않을 수도 있고, 분리가 일어날 수도 있습니다.

  6. 마감률이 커지기도 하고, 스톱 로스를 사용하여 제어할 수도 있습니다.

최적화 방향

  1. 다양한 기간과 도구에 대한 볼링거 밴드 매개 변수를 최적화합니다.

  2. ATR 매개 변수를 최적화하여 변동성을 더 잘 파악합니다.

  3. 트렌드 검증을 위해 MACD와 같은 트렌드 지표를 추가합니다.

  4. 마감량을 조절하기 위해 트레일링 스톱과 같은 스톱 로스 전략을 추가합니다.

  5. AI 알고리즘을 활용해서 반전 신호를 판단합니다.

  6. 종합적인 판단을 위해 여러 시간 프레임을 결합하고 잘못된 신호를 줄이십시오.

요약

이 전략은 이동 평균, ATR, 볼링거 밴드 및 포스 인덱스를 통합하여 완전한 브레이크아웃 거래 시스템을 형성합니다. 매개 변수 최적화, 트렌드 필터, 스톱 로스 전략 및 AI 알고리즘을 추가하여 안정성과 수익성을 향상시킬 수 있습니다. 그러나 어떤 전략도 완벽하지 않으며 변화하는 시장 조건에 적응하기 위해 백테스트 결과에 대한 지속적인 최적화가 필요합니다.


/*backtest
start: 2023-09-25 00:00:00
end: 2023-10-25 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
strategy("yuthavithi volatility based force trade scalper strategy", overlay=true)

fast = input(3, minval= 1, title="Fast")
slow = input(20, minval = 1, title = "Slow")
atrFast = input(20, minval = 1, title = "ATR Fast")
atrSlow = input(50, minval = 1, title = "ATR Slow")

len = input(20, minval=1, title="Length")
multiplier = input(2, minval=1, title="multiplier")
src = input(close, title="Source")
bbMid = sma(src, len)
plot(bbMid, color=blue)

atrFastVal = atr(atrFast)
atrSlowVal = atr(atrSlow)
stdOut = stdev(close, len)
bbUpper = bbMid + stdOut * multiplier
bbLower = bbMid - stdOut * multiplier
plot(bbUpper, color = (atrFastVal > atrSlowVal ? red : silver))
plot(bbLower, color = (atrFastVal > atrSlowVal ? red : silver))


force = volume * (close -  nz(close[1]))
xforce = cum(force)
xforceFast = ema(xforce, fast)
xforceSlow = ema(xforce, slow)

bearish = ((xforceFast < xforceSlow) and (atrFastVal > atrSlowVal)) and ((xforceFast[1] > xforceSlow[1]) or (atrFastVal[1] < atrSlowVal[1])) and (close < open)
bullish = ((xforceFast > xforceSlow) and (atrFastVal > atrSlowVal)) and ((xforceFast[1] < xforceSlow[1]) or (atrFastVal[1] < atrSlowVal[1])) and (close > open)


if (bullish)
    strategy.entry("Buy", strategy.long)

if (bearish)
    strategy.entry("Sell", strategy.short)

더 많은