가격 반전을 기반으로 한 TTM Falcon 오시레이터 반전 전략

저자:차오장, 날짜: 2023-12-05 15:07:10
태그:

img

전반적인 설명

이 전략은 TTM Falcon Oscillator Reversal Strategy Based on Price Reversion라고 불립니다. 이것은 가격 반전 신호를 기반으로 거래 신호를 검색하는 오시레이터 지표입니다.

전략의 주요 아이디어는 가격 패턴을 사용하여 트렌드 반전을 판단하는 것입니다. 가격이 세 개의 새로운 최고 또는 K-라인 바를 형성하면 해당 장기 또는 단위 포지션을 취하기 위한 가격 반전 신호로 판단됩니다.

전략 논리

이 전략은 K-라인 바의 폐쇄 가격 변화를 관찰하여 가격 반전을 판단합니다. 구체적인 논리는 다음과 같습니다.

  1. 첫 번째 K-라인 바의 종료 가격이 두 번째 바보다 낮으면 신호는 1로 기록됩니다. 더 높으면 신호는 0으로 기록됩니다.

  2. 이전 신호가 1이거나 (가격 하락을 나타내는) 두 번째 또는 세 번째 K-라인 바의 폐쇄 가격이 첫 번째보다 낮다면, 그것은 가격 역전 신호로 판단되며 판매 신호가 발송됩니다.

  3. 이전 신호가 0이거나 (가격 상승을 나타내는) 두 번째 또는 세 번째 K-라인 바의 폐쇄 가격이 첫 번째보다 높으면 가격 반전 신호로 판단되고 구매 신호가 발송됩니다.

이 방법을 통해, 전략은 빠르게 가격 반전을 판단하고 반전 지점 주위에 시간에 포지션을 입력 할 수 있습니다.

이점 분석

이 전략의 주요 장점은 다음과 같습니다.

  1. 빠른 반응. 가격 반전을 판단하기 위해 세 개의 K-라인 바 사이의 크기 관계를 비교함으로써 시장 반전 지점을 빠르게 결정하고 시간에 따라 포지션을 입력 할 수 있습니다.

  2. 거래 빈도가 낮습니다. 다른 오시레이터 전략과 비교했을 때, 이 전략은 가격이 분명히 역전될 때 신호를 발산합니다. 이는 불필요한 거래를 효과적으로 줄일 수 있습니다.

  3. 매개 변수에 대한 큰 최적화 공간. 전략은 최적화 잠재력이 있으며 K-라인 사이클 매개 변수를 다른 시장 환경에 적응하도록 조정 할 수 있습니다.

  4. 정량화 가능한 백테스팅: 전략은 정량적 플랫폼에서 자동화된 백테스팅을 위해 직접 구현할 수 있으며 테스트 효율성을 크게 향상시킵니다.

  5. 간단하고 이해하기 쉬운 논리. 초보 트레이더는 또한 쉽게 이해하고 전략의 핵심 논리를 파악 할 수 있습니다.

위험 분석

이 전략은 또한 특정 위험을 가지고 있으며, 주로 다음과 같이 나타납니다.

  1. 큰 가격 변동 범위. 가격이 너무 격렬하게 변동하면 반전 신호가 정확하지 않을 수 있으며, 높은 점과 낮은 점을 추구하고 판매 할 수 있습니다.

  2. 어려운 매개 변수 최적화. K-라인 사이클 매개 변수의 선택은 전략의 성능에 큰 영향을 미치며 최적의 매개 변수 조합을 찾기 위해 많은 최적화가 필요합니다.

  3. 과도하게 빈번한 거래. 일부 시장 환경에서 반전 신호가 너무 빈번하여 너무 많은 거래로 이어질 수 있습니다.

  4. 예측할 수 없는 반전 기간. 전략은 가격 반전 후 새로운 트렌드가 얼마나 오래 지속될지 결정할 수 없으며, 트렌드를 유지할 수 없는 위험이 있습니다.

이에 따른 해결책은: 가격 변동 범위를 줄이기 위해 매개 변수를 적절히 조정하고, 다양한 시장 환경에서 완전히 최적화하고 테스트하고, 단일 손실을 제어하기 위해 스톱 로스를 설정합니다.

최적화 방향

이 전략을 최적화하는 주요 방향은 다음과 같습니다.

  1. K-라인 사이클 최적화. 최적의 파라미터 조합을 찾기 위해 K-라인의 시간 사이클 매개 변수를 적절하게 조정합니다.

  2. 필터링 조건을 추가합니다. 잘못된 신호를 피하기 위해 신호를 발사하기 전에 다른 보조 조건을 추가합니다.

  3. 스톱 손실 메커니즘을 추가합니다. 단일 손실을 제어하기 위해 합리적인 스톱 손실 지점을 설정합니다.

  4. 다른 지표를 결합합니다. 결정 정확성을 향상시키기 위해 이동 평균, 변동성 및 다른 지표의 신호를 통합합니다.

  5. 적응적 매개 변수 최적화. 전략이 더 견고하게 만들기 위해 시장 환경 변화에 따라 매개 변수를 동적으로 조정 할 수 있습니다.

이러한 최적화를 통해 전략의 안정성, 승률 및 수익성이 크게 향상 될 수 있습니다.

결론

요약하자면, 가격 패턴에 의해 반전 지점을 결정하는 이 전략의 아이디어는 매우 간단하고 직설적이며, 명확하고 이해하기 쉬운 논리와 개인 취향에 따라 조정 할 수있는 매개 변수 최적화에 대한 상대적으로 큰 공간이 있습니다. 그러나 신호가 너무 빈번하고 보유 기간 통제가 부적절 할 수있는 특정 위험이 있습니다. 엄격한 백테스팅과 강력한 매개 변수 최적화로이 전략은 효율적이고 수익성이 높은 오시레이터 거래 전략 중 하나가 될 수 있습니다.


/*backtest
start: 2022-11-28 00:00:00
end: 2023-12-04 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v2.0 10/01/2018
// TTM scalper indicator of John Carter’s Scalper Buys and Sells. The methodology 
// is a close approximation of the one described in his book Mastering the Trade. 
// The book is highly recommended. Note the squares are not real-time but will 
// show up once the third bar has confirmed a reversal. 
//
//You can change long to short in the Input Settings
//WARNING:
//- For purpose educate only
//- This script to change bars colors.
////////////////////////////////////////////////////////////
strategy(title="TTM scalper indicator", overlay = true)
reverse = input(false, title="Trade reverse")
triggerSell = iff(iff(close[1] < close,1,0) and (close[2] < close[1] or close[3] <close[1]),1,0)
triggerBuy = iff(iff(close[1] > close,1,0) and (close[2] > close[1] or close[3] > close[1]),1,0)
buySellSwitch = iff(triggerSell, 1, iff(triggerBuy, 0, nz(buySellSwitch[1])))
SBS = iff(triggerSell and buySellSwitch[1] == false, high, iff(triggerBuy and buySellSwitch[1], low, nz(SBS[1])))
clr_s = iff(triggerSell and buySellSwitch[1] == false, 1, iff(triggerBuy and buySellSwitch[1], 0, nz(clr_s[1])))
clr = iff(clr_s == 0 , red , green)
pos = iff(clr == green, 1,
       iff(clr == red, -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(SBS, color=clr, title="TTM", style = circles, linewidth = 2)

더 많은