이중 이동 평균 교차 반전 추세 추종 전략


생성 날짜: 2024-01-04 15:48:15 마지막으로 수정됨: 2024-01-04 15:48:15
복사: 0 클릭수: 612
avatar of ChaoZhang ChaoZhang
1
집중하다
1621
수행원

이중 이동 평균 교차 반전 추세 추종 전략

개요

이 전략은 3가지의 다른 전략과 결합하여 거래 신호를 생성하는 조합 전략이다. 첫번째는 123 형태 반전 전략이며, 특정 형태가 있을 때 거래 신호를 생성한다. 다음으로는 평행선 교차 전략이며, 이동 평균과 지수 이동 평균의 교차를 비교하여 트렌드를 판단한다. 마지막으로, 이 전략은 역전 거래의 선택도 허용한다. 이 3가지 전략의 조합은 트렌드 반전을 포착할 수 있으며, 동시에 일부 잡음 거래 신호를 필터링한다.

전략 원칙

123 형태 역전 전략

이 전략은 울프 센의 ?? 나는 어떻게 선물 시장에서 3배의 수익을 얻는가 ?? 에서 제시된 방법에서 유래했다. 이 전략은 주식의 종식 가격과 스토크 무작위 지표에 기반하여 거래한다. 구체적인 규칙은 다음과 같다:

종결 가격이 전날 종결 가격보다 높고, 전날 2일 종결 가격보다 높고, 동시에 9일 주기의 Stochastic Slow 지표가 50보다 낮으면 더 많이 한다. 종결 가격이 전날 종결 가격보다 낮고, 동시에 전날 2일 종결 가격보다 낮고, 동시에 9일 주기의 Stochastic Fast 지표가 50보다 높으면 공백한다.

이렇게 하면, 가격의 3일간의 새 고위 또는 새 낮이 나타나면서, 무작위 지표의 오버소드 또는 오버 바이 신호와 결합하여 역전 기회를 잡을 수 있다.

평행선 교차 전략

이 전략은 lengthMA 주기의 간단한 이동 평균과 lengthEMA 주기의 지수 이동 평균의 교차를 사용하여 거래 신호를 생성합니다. 규칙은 다음과 같습니다.

지수 이동 평균 위에 간단한 이동 평균을 밟을 때 더 많이; 지수 이동 평균 아래에 간단한 이동 평균을 밟을 때 공백을 닦는다.

이렇게 함으로써, 그것은 가격 경향의 전환점을 보다 직관적으로 판단할 수 있다. 그리고 지수 이동 평균은 가격 변화에 더 민감하여 더 일찍 거래 신호를 보낼 수 있다.

반전 거래

이 전략은 역거래를 선택하도록 허용한다. 역거래를 선택하면, 더 많은 신호가 더 많은 신호로 바뀌고, 더 많은 신호가 더 많은 신호로 바뀌게 된다. 이것은 시장이 종종 오해의 소지가 있다고 믿는 일부 거래자에게 더 유리할 수 있다.

전략적 이점

이러한 조합 전략은 여러 단일 전략의 장점을 결합하여 단일 전략의 위험을 어느 정도 회피하고 수익률을 높일 수 있습니다.

구체적으로, 123 형태 역전 전략은 가격 전환의 징후가 나타나면 신속하게 잡을 수 있습니다. 평행선 교차 전략은 추세 방향을 판단 할 수 있습니다. 역전 거래가 허용되면 중매의 확률이 감소 할 수 있습니다.

전반적으로, 이 전략은 반응성이 뛰어나고, 트렌드를 잘 추적하며, 다양한 시장 환경에 맞게 사용자 정의할 수 있습니다.

전략적 위험

이 전략의 가장 큰 위험은 조합 전략 자체가 더 복잡하기 때문에 실패/성공의 원인을 쉽게 판단할 수 없기 때문에 전략 최적화를 방해한다는 것입니다.

또한, 다른 어떤 기술 분석 전략과 마찬가지로, 이 전략도 피지, 중단 효과 등의 문제에 직면합니다. 특히, 가격의 급격한 흔들림이 있을 때, 잘못된 신호가 발생하기 쉽다. 지속적이고 급격한 추세일 때, 중단 선이 깨질 수 있습니다.

이러한 위험을 줄이기 위해, 적절한 변수를 조정하여 지표를 더 평평하게 만들 수 있습니다. 적절한 휴면 중지 손실 라인, 또는 거래량 중지 등의 방법을 사용할 수 있습니다.

전략 최적화

이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. 거래량, 변동성 등의 필터링 조건을 추가하여 유효하지 않은 신호를 필터링 할 수 있습니다.

  2. 최적화 변수, 최적의 변수 조합을 찾는

  3. 다른 평행선 크로스 지표를 시도하여 현재 시장 환경에 더 적합한 지표를 찾으십시오.

  4. 기계 학습 모델을 추가하여 AI 기술을 사용하여 자동 최적화 매개 변수

요약하다

이 전략은 복합 전략으로 여러 가지 단일 전략을 통합하여 트렌드 반전을 효과적으로 추적 할 수 있으며 중장선 운영에 적합합니다. 매개 변수 최적화, 위험 제어 등의 수단으로, 그 효과는 눈에 띄게 향상됩니다. 정량 거래 실무자가 깊이 연구, 응용 및 개선을 할 가치가 있습니다.

전략 소스 코드
/*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 )