이중 이동 평균 크로스오버 역동 트렌드 추적 전략

저자:차오장, 날짜: 2024-01-04 15:48:15
태그:

img

전반적인 설명

이 전략은 트레이딩 신호를 생성하기 위해 세 가지 다른 전략을 결합한 조합 전략이다. 첫째, 123 역전 패턴 전략을 사용하여 가격이 특정 패턴을 형성할 때 거래 신호를 생성한다. 둘째, 이동 평균 크로스오버 전략을 사용하여 이동 평균과 기하급수적 이동 평균 사이의 크로스오버를 비교하여 트렌드를 판단한다. 마지막으로, 이 전략은 역전적으로 거래할 것인지 여부를 선택할 수도 있다. 이 세 가지 전략의 조합은 소란한 거래 신호를 필터링하면서 트렌드 역전 지점을 포착할 수 있다.

전략 논리

123 회전 패턴 전략

이 전략은 울프 젠센의 책?? How I Tripled My Money in the Futures Market?? 에서 제안된 방법에서 유래했다. 이 전략은 주식 폐쇄 가격과 스토카스틱 오시레이터 지표에 기초하여 거래된다. 구체적으로 규칙은 다음과 같다.

종료 가격이 이전 종료 가격보다 높고 또한 2 일 전 종료 가격보다 높을 때, 9 기간 스토카스틱 슬로우가 50 이하인 동안, 긴 이동. 종료 가격이 이전 종료 가격보다 낮고 또한 2 일 전 종료 가격보다 낮을 때, 9 기간 스토카스틱 패스트가 50 이상인 동안, 짧은 이동.

따라서 스토카스틱 지표의 과판 또는 과입 신호와 결합하면서 가격이 3 일 동안 새로운 최고 또는 최저치를 형성 할 때 역전 기회를 포착 할 수 있습니다.

이동 평균 크로스오버 전략

이 전략은 트레이딩 신호를 생성하기 위해 길이MA 기간 간단한 이동 평균과 길이EMA 기간 기하급수적 이동 평균 사이의 교차를 사용합니다. 규칙은 다음과 같습니다.

기하급수적인 이동평균이 단순한 이동평균을 넘어서면, 길게 가세요. 기하급수적인 이동평균이 간단한 이동평균을 넘어서면, 짧게 가세요.

따라서, 그것은 직관적으로 가격 트렌드의 전환점을 판단 할 수 있습니다. 또한, 기하급수적인 이동 평균은 가격 변화에 더 민감하며 더 일찍 거래 신호를 발송 할 수 있습니다.

리버스 거래

이 전략은 역거래를 선택할 수 있습니다. 역거래가 선택되면 긴 신호가 짧은 신호가 될 수 있습니다. 이것은 시장에서 종종 오해의 소지가 있다고 굳게 믿는 일부 거래자에게 더 유리할 수 있습니다.

전략 의 장점

이 결합 전략은 여러 단일 전략의 장점을 어느 정도 계승하여 단일 전략의 위험을 완화하고 수익을 높일 수 있습니다.

특히, 123 역전 패턴 전략은 가격이 반전 징후를 보이는 경우 시간을 잡을 수 있습니다. 이동 평균 크로스오버 전략은 트렌드 방향을 결정할 수 있습니다. 역전 거래를 허용하면 포획 될 확률을 줄일 수 있습니다.

일반적으로 이 전략은 민감하고, 트렌드를 잘 추적하며, 다른 시장 환경에 맞게 사용자 정의로 구성될 수 있습니다.

전략 의 위험

이 전략의 가장 중요한 위험은 조합 전략 자체가 상당히 복잡하기 때문에 실패/성공의 이유를 결정하기가 어렵고 전략 최적화에 불리하다는 것입니다.

또한, 다른 모든 기술 분석 전략과 마찬가지로, 이 전략은 또한 함락되고 스톱 로스 실패와 같은 위험에 직면합니다. 특히, 가격이 급격히 변동할 때 잘못된 신호를 생성하는 경향이 있습니다. 또한, 스톱 로스 라인은 지속적이고 폭력적인 추세로 깨질 경향이 있습니다.

이러한 위험을 완화하기 위해, 우리는 지표를 더 안정적으로 만들기 위해 적절한 매개 변수를 조정할 수 있습니다.

최적화

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

  1. 유효하지 않은 신호를 필터링하기 위해 거래량과 변동성 같은 필터링 조건을 추가합니다.

  2. 가장 좋은 매개 변수 조합을 찾기 위해 매개 변수를 최적화합니다.

  3. 다른 이동 평균 크로스오버 지표를 사용해 현재 시장에 가장 잘 맞는 지표를 찾으세요.

  4. 인공지능 기술을 이용한 매개 변수를 자동으로 최적화하기 위해 기계 학습 모델을 늘려라.

요약

조합 전략으로서, 이 전략은 다양한 단일 전략의 장점을 결합하고 트렌드 반전을 효과적으로 추적할 수 있다. 중장기 운영에 적합하다. 적절한 최적화, 위험 관리 등으로 성능이 크게 향상될 수 있다. 양적 거래의 실무자들에 의해 심층적인 연구, 응용 및 개선이 필요하다.


/*backtest
start: 2023-12-27 00:00:00
end: 2024-01-03 00:00:00
period: 3m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 19/06/2020
// This is combo strategies for get a cumulative signal. 
//
// First strategy
// This System was created from the Book "How I Tripled My Money In The 
// Futures Market" by Ulf Jensen, Page 183. This is reverse type of strategies.
// The strategy buys at market, if close price is higher than the previous close 
// during 2 days and the meaning of 9-days Stochastic Slow Oscillator is lower than 50. 
// The strategy sells at market, if close price is lower than the previous close price 
// during 2 days and the meaning of 9-days Stochastic Fast Oscillator is higher than 50.
//
// Second strategy
// The Moving Average Crossover trading strategy is possibly the most popular
// trading strategy in the world of trading. First of them were written in the
// middle of XX century, when commodities trading strategies became popular.
// This strategy is a good example of so-called traditional strategies. 
// Traditional strategies are always long or short. That means they are never 
// out of the market. The concept of having a strategy that is always long or 
// short may be scary, particularly in today’s market where you don’t know what 
// is going to happen as far as risk on any one market. But a lot of traders 
// believe that the concept is still valid, especially for those of traders who 
// do their own research or their own discretionary trading. 
// This version uses crossover of moving average and its exponential moving average.
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors.
////////////////////////////////////////////////////////////
Reversal123(Length, KSmoothing, DLength, Level) =>
    vFast = sma(stoch(close, high, low, Length), KSmoothing) 
    vSlow = sma(vFast, DLength)
    pos = 0.0
    pos := iff(close[2] < close[1] and close > close[1] and vFast < vSlow and vFast > Level, 1,
	         iff(close[2] > close[1] and close < close[1] and vFast > vSlow and vFast < Level, -1, nz(pos[1], 0))) 
	pos

MACross(LengthMA,LengthEMA) =>
    pos = 0
    xMA = sma(close, LengthMA)
    xEMA = ema(xMA, LengthEMA)
    pos := iff(xEMA < xMA , 1,
	       iff(xEMA > xMA, -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & EMA & MA Crossover", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
LengthMA = input(10, minval=1)
LengthEMA = input(10,minval=1)
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posMACross = MACross(LengthMA,LengthEMA)
pos = iff(posReversal123 == 1 and posMACross == 1 , 1,
	   iff(posReversal123 == -1 and posMACross == -1, -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)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )

더 많은