이동평균에 기초한 오스실레이션 돌파 전략

저자:차오장날짜: 2024-01-23 15:13:31
태그:

img

전반적인 설명

이 전략은 이동평균에 기반한 변동 돌파 전략 (Oscillation Breakthrough Strategy Based on Moving Average) 이라고 불린다. 이 전략은 가격의 다양한 주기의 이동평균선을 계산하여 가격이 장기 및 단기 거래의 주요 이동평균을 뚫고 갈 수 있는지 여부를 결정한다. 단기 이동평균이 장기 이동평균을 뚫고 갈 때, 긴 이동평균을 뚫고 갈 수 있다. 단기 이동평균이 장기 이동평균을 뚫고 갈 때, 짧은 이동평균을 뚫고 갈 수 있다.

전략 원칙

이 전략은 주로 이동평균의 이론을 기반으로 한다. 이동평균은 기술분석에서 일반적으로 사용되는 분석 도구이다. 단기 가격 변동 (소음) 을 필터링하여 가격 데이터를 부드럽게 하고 가격의 주요 트렌드 방향을 반영한다. 빠른 이동평균은 단기 가격 트렌드를 반영하고 느린 이동평균은 장기 가격 트렌드를 반영한다. 빠른 이동평균이 느린 이동평균을 넘어서거나 아래로 떨어지면 단기 트렌드가 장기 트렌드를 역전한다는 것을 의미한다. 이는 종종 가격 역전을 신호한다.

이 전략은 이 원리를 활용하여 서로 다른 매개 변수와 함께 두 개의 EMA 평균을 설정합니다. 단기 EMA는 빠른 라인과 장기 EMA는 느린 라인으로 설정됩니다. 이 전략은 변환 라인과 기본 라인을 계산하기 위해 9과 26의 길이의 EMA를 설정합니다. 단기 EMA가 장기 EMA를 넘을 때, 단기 EMA가 장기 EMA보다 높다는 것을 나타내는 길게 이동하십시오. 단기 EMA가 장기 EMA를 넘을 때, 단기 EMA가 장기 EMA보다 낮다는 것을 나타내는 길게 이동하십시오.

따라서 이 전략은 가격의 단기 트렌드 기회를 포착하기 위해 빠른 EMA와 느린 EMA의 돌파구를 통해 가격의 가능한 전환점을 판단합니다.

이점 분석

  • 이동 평균 이론에 기초한 신뢰할 수 있는 지표를 사용하여 가격 반전 지점을 결정합니다.
  • 기본 지표에 기초하여 이해하기 쉽고 실행하기 쉽습니다.
  • 다양한 제품에 대한 조정 및 최적화를 위한 유연한 매개 변수
  • 오버나이트 리스크를 피하기 위해 특정 거래 시간 동안만 포지션을 개설할 수 있는 옵션
  • 승률을 높이기 위해 더 명확한 돌파점을 찾으십시오.

위험 분석 및 해결책

  • 앞뒤로 거래하는 경우 여러 개의 작은 손실이 발생할 수 있습니다.
    적절하게 중지 손실 범위를 풀 수 있습니다, 포지션에 입력하기 전에 명확한 반전 신호를 기다립니다

  • 유동성이 낮은 주식에서는 가격 격차 또는 불일치한 가격이 발생할 수 있습니다. 매개 변수 최적화, 이동 평균 사이클 매개 변수를 조정, 최적화된 매개 변수와 거래

  • 부진한 시장에서 잘못된 신호를 쉽게 얻을 수 있습니다. 포지션을 입력하기 전에 확인을 위해 다른 지표와 결합할 수 있습니다.

  • 단순한 이동평균 지표로 복잡한 시장 상황을 처리할 수 있는 제한된 능력 주요 지점에서의 의사결정을 개선하기 위해 다른 기술적 지표를 도입할 수 있습니다.

최적화 방향

이 전략은 다음 측면에서도 더 이상 최적화 될 수 있습니다.

  1. 추가/감소로 위치 위험을 제어하기 위한 위치 사이즈 메커니즘을 추가

  2. 거래당 손실을 효과적으로 제어하기 위해 스톱 로스 메커니즘을 추가합니다.

  3. 거래량, 거래량 지표를 포함하여 잘못된 가격 파장을 피합니다.

  4. 모델 예측을 추가, 기계 학습 등을 사용하여 가격 반전 가능성을 예측하고 결정을 개선합니다.

  5. 심층 학습을 활용하여 전문적인 거래자의 의사결정 논리를 시뮬레이션하고 높은 반전 확률 포인트에서 신호를 선택하십시오.

요약

이것은 이동 평균 지표에 기반한 단기 평균 반전 전략이다. 사용자 정의 가능한 매개 변수는 좋은 유연성을 제공합니다. 간단한 지표를 사용하지만 매개 변수 조정을 통해 시장 환경에 잘 적응 할 수 있습니다. 전략은 단기 가격 반전에서 중재 기회를 포착하는 것을 목표로합니다. 포지션 사이징, 스톱 로스 등과 같은 메커니즘을 도입함으로써 안정성을 향상시키기 위해 위험을 효과적으로 관리 할 수 있습니다. 더 고급 기술 지표와 기계 학습 방법 또한 성능 향상을 탐구하는 데 사용할 수 있습니다.


/*backtest
start: 2023-01-16 00:00:00
end: 2024-01-22 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Juiced Ichimoku Strat", overlay=true)

USE_TRADESESSION = input(title='Use Trading Session?', type=bool, defval=true)
trade_session = input(title='Trade Session:', defval='0800-1600', confirm=false)
istradingsession = not USE_TRADESESSION ? false : not na(time('1', trade_session))
bgcolor(istradingsession?gray:na)

varLo = input(title="Fast (Conversion) Line",  defval=9, minval=1, maxval=99999)
varHi = input(title="Slow (Base) Line",  defval=26, minval=1, maxval=99999)
emafreq = input(title="Ema on price frequency",  defval=2, minval=1, maxval=99999)

a = lowest(varLo)
b = highest(varLo)
c = (a + b ) / 2

d = lowest(varHi)
e = highest(varHi)
f = (d + e) / 2

//g = ((c + f) / 2)[varHi]
//h = ((highest(varHi * 2) + lowest(varHi * 2)) / 2)[varHi]

z = ema(close, emafreq)

bgcolor(z > c and z > f ? green : z < c and z < f ? red : yellow, transp=70)
plot(z, title="ema on Price", color=black)
plot(c, title="Fast (Conversion) Line", color=green)
plot(f, title="Slow (Base) Line", color=red)

long = z > c and z > f and (USE_TRADESESSION ? istradingsession : true)
short = z < c and z < f and (USE_TRADESESSION ? istradingsession : true)
//exit = z < c and z > f or z > c and z < f

closelong = z < c and z > f or z > c and z < f and (USE_TRADESESSION ? istradingsession : true)
if (closelong)
    strategy.close("Long")
closeshort = z < c and z > f or z > c and z < f and (USE_TRADESESSION ? istradingsession : true)
if (closeshort)
    strategy.close("Short")
strategy.entry("long", strategy.long, when=long)
strategy.entry("short", strategy.short, when=short)




더 많은