이동 평균 지표 전략

저자:차오장, 날짜: 2024-02-26 11:10:23
태그:

img

전반적인 설명

이동 평균 지표 전략은 이동 평균을 기반으로 시장 추세를 판단하고 긴 또는 짧은 포지션 거래를 수행하는 양적 거래 전략입니다. 기간 동안 평균 폐쇄 가격을 계산함으로써 이 전략은 시장이 가격 역전 기회를 포착하기 위해 과소매 또는 과소매 여부를 결정합니다.

전략 원칙

이 전략의 핵심 지표는 스토카스틱 오시레이터입니다. 계산 방법은 다음과 같습니다.

Low = the lowest low of the most recent N days  
High = the highest high of the most recent N days
K value = (Current close – Low)/(High – Low)*100

이 지표는 최근 N 일 동안의 가격 범위에 대한 현재 종료 가격의 위치를 대략 반영합니다.

K 값이 과잉 매수 라인 (BuyBand) 보다 크면 주가가 과잉 매수 될 수 있고 콜백이 발생할 수 있음을 나타냅니다. K 값이 과잉 매수 라인 (SellBand) 보다 작으면 주가가 과잉 매수 될 수 있고 리바운드가 발생할 수 있음을 나타냅니다.

이 판단 규칙에 따르면 전략은 과잉 매입 구역에서 포지션을 열기 위해 판매하고 과잉 매매 구역에서 포지션을 열기 위해 구매합니다. 종료 조건은 지표 라인이 중간 구역으로 다시 들어가는 것입니다 ((SellBand, BuyBand)).

이점 분석

이 전략은 다음과 같은 장점을 가지고 있습니다.

  1. 시장 동향을 결정하기 위해 이동 평균 지표를 사용, 좋은 역 테스트 결과, 쉽게 거래 신호를 형성
  2. 매개 변수를 조정하여 다양한 주기와 품종에 적응할 수 있는 유연성
  3. 전략 아이디어는 간단하고 명확하고 이해하기 쉽고 최적화됩니다

위험 분석

이 전략은 또한 몇 가지 위험을 초래합니다.

  1. 이동 평균은 잘못된 접촉에 유연합니다, 아마도 "whipssawed"
  2. 잘못된 매개 변수 설정은 빈번한 거래 또는 불분명한 신호로 이어질 수 있습니다.
  3. 한 가지 지표만 고려됩니다. 최적화 공간이 제한됩니다.

이러한 위험은 지표 매개 변수를 적절히 최적화하거나 필터 조건을 추가함으로써 줄일 수 있습니다.

최적화 방향

이 전략을 최적화 할 수 있는 주요 측면은 다음과 같습니다.

  1. 더 신뢰할 수 있는 거래 신호를 보장하기 위해 볼륨 또는 ATR 및 다른 지표를 추가합니다.
  2. 여러 주기의 스톡 지표를 추가, 복합 연산을 통해 신호를 생성
  3. MACD와 KDJ와 같은 추가 판단 지표를 증가시켜 다중 지표 집계성을 달성합니다.
  4. 최적의 구성을 찾기 위해 거래 품종, 사이클, 매개 변수를 통과하고 최적화

결론

이동 평균 지표 전략의 전반적인 아이디어는 간단하고 비교적 안정적인 백테스팅 결과로 널리 사용되며 초보자의 양적 거래 전략으로 적합합니다. 그러나이 전략은 제한된 요인을 고려하고 단기 운영에만 적합하기 때문에 최적화 공간이 제한되어 있습니다. 미래 업그레이드는 멀티 지표 집계, 머신 러닝 등을 통해 수행 할 수 있습니다.


/*backtest
start: 2024-01-01 00:00:00
end: 2024-01-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 25/09/2017
// Simple Overbought/Oversold indicator
//
// You can change long to short in the Input Settings
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="Overbought/Oversold", shorttitle="OB/OS")
Length = input(10, minval=1)
BuyBand = input(0.92, step = 0.01)
SellBand = input(0.5, step = 0.01)
reverse = input(false, title="Trade reverse")
hline(BuyBand, color=green, linestyle=line)
hline(SellBand, color=red, linestyle=line)
xOBOS = stoch(close, high, low, Length)
nRes = iff(close > close[Length], xOBOS / 100, (100 - xOBOS) / 100)
pos = iff(nRes < SellBand, -1,
	   iff(nRes > BuyBand, 1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue ) 
plot(nRes, color=blue, title="OB/OS")

더 많은