스윙 오시레이터 기반의 양적 거래 전략

저자:차오장, 날짜: 2023-09-15 11:37:37
태그:

이 문서에서는 Gann Swing Oscillator를 이용한 양적 거래 전략을 상세히 설명합니다. 거래 신호를 생성하기 위해 가격 극도를 계산하여 시장 트렌드를 결정합니다.

I. 전략 논리

핵심 지표는 Gann 스윙 오시레이터입니다. 주요 계산 단계는 다음과 같습니다.

  1. 한 기간 동안 가장 높고 가장 낮을 계산합니다.

  2. 마지막 두 바를 가장 높은 바와 가장 최근의 바와 비교하여 상승률을 확인합니다.

  3. 마지막 두 바 최저 하락을 최신 바와 비교하여 하락 극경을 식별하십시오.

  4. 극한 관계를 기준으로 오시일레이터 값을 계산합니다.

  5. 트렌드 방향을 결정하고 지표 값에 따라 신호를 생성합니다.

이것은 가격 극단성을 판단함으로써 시장 전환점과 동향을 효과적으로 식별합니다.

II. 전략의 장점

가장 큰 장점은 가격 극단적인 비교를 직접 활용하여 트렌드 방향을 결정하는 지표의 단순성입니다.

또 다른 장점은 하나의 변수의 최소한의 매개 변수 요구입니다.

마지막으로, 거래 신호는 롱 또는 쇼트로서 명확하며, 중복된 포지션을 피합니다.

III. 잠재적 위험

그러나 몇 가지 잠재적 인 문제가 있습니다.

첫째, 지표가 브레이크아웃 신호를 감지하는 데 지연되어 가장 좋은 항목을 놓친 것입니다.

두 번째로, 스톱 로즈와 영업 영업이 없다는 것은 거래당 위험을 통제하지 못합니다.

마지막으로, 빈번한 신호는 손실을 제한하기 위해 적절한 자금 관리가 필요합니다.

IV. 요약

요약하자면, 이 문서에서는 Gann Swing Oscillator를 이용한 양적 거래 전략을 설명했습니다. 그것은 가격 극단성을 판단하여 시장 추세와 반전을 식별합니다. 그러나 스톱을 추가하고 신호 지연을 관리하는 등의 개선이 가능합니다. 전반적으로 트렌드를 결정하기 위해 가격 비교를 사용하는 독특한 접근 방식을 제공합니다.


/*backtest
start: 2023-08-15 00:00:00
end: 2023-08-26 00:00:00
period: 3h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/06/2017
// The Gann Swing Oscillator has been adapted from Robert Krausz's book, 
// "A W.D. Gann Treasure Discovered". The Gann Swing Oscillator helps 
// define market swings. 
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Gann Trend Oscillator")
Length = input(3, minval=1)
reverse = input(false, title="Trade reverse")
hline(0, color=gray, linestyle=hline.style_dashed)
xHH = highest(close, Length)
xLL = lowest(close, Length)
xGSO = iff(xHH[2] > xHH[1] and xHH[0] > xHH[1], -1,
         iff(xLL[2] < xLL[1] and xLL[0] < xLL[1], 1, nz(xGSO[1],0)))
pos = iff(xGSO > 0, 1,
	     iff(xGSO < 0, -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(xGSO, color=blue, title="GTO")

더 많은