트위스드 SMA 적응형 크로스오버 긴 라인 전략

저자:차오장, 날짜: 2023-11-24 14:26:37
태그:

img

전반적인 설명

이 전략은 다양한 기간의 3 개의 간단한 이동 평균 (SMA) 을 카우프만 적응 이동 평균과 결합하여 장기간 엔트리 신호를 생성합니다. 짧은 기간 SMA가 더 긴 기간 SMA를 넘을 때 구매 신호를 생성합니다. 또한 전략은 주요 트렌드를 결정하기 위해 촛불 색상을 통합하여 잘못된 브레이크오웃을 피하기 위해 상승 추세 동안만 구매 신호를 생성합니다.

전략 논리

이 전략은 SMA 4, SMA 9, SMA 18 등 다양한 기간의 3 개의 SMA를 이용한다. 이 3 개의 SMA의 크로스오버 조합은 트렌드 방향을 판단하는 클래식 인디케이터이다. SMA 4가 SMA 9를 넘고 SMA 9가 SMA 18를 넘을 때 긴 엔트리 신호를 생성한다.

거짓 브레이크오웃을 필터링하기 위해 카우프만 적응 이동 평균도 도입됩니다. 닫기 가격이 적응 이동 평균보다 높을 때, 즉 상승 추세에서 SMA 황금 십자 신호가 효과를 발휘하여 긴 포지션을 유발합니다.

또한 100주기 SMA는 주요 트렌드를 결정하는 데 사용됩니다. 가격이 100주기 SMA를 넘으면 상승 추세가 시작되었다는 것을 확인합니다. 전략은 주요 상승 추세 동안만 구매 신호를 생성합니다.

요약하자면 이 전략의 긴 진입 신호는 다음의 조합에서 나온다.

  1. SMA 4는 SMA 9를 넘고 SMA 9는 SMA 18를 넘고 단기 SMA 황금 십자가를 형성합니다.

  2. 폐쇄 가격은 상승 추세에서 카우프만 적응 이동 평균보다 높습니다.

  3. 가격은 100주기 SMA를 넘어서며 주요 상승 추세를 확인합니다.

이 세 가지 조건이 동시에 충족되면 긴 입력 신호가 생성됩니다.

이점 분석

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

  1. 트리플 SMA 크로스를 사용하여 트렌드를 결정하면 소음을 효과적으로 필터링하고 신호 신뢰성을 높일 수 있습니다.

  2. 적응 이동 평균을 도입하면 명확한 트렌드가 없을 때 잘못된 파장을 피할 수 있습니다.

  3. 주요 트렌드 판단을 포함하면 범위 제한 이동 중 반복적으로 포지션을 개설하는 것을 피함으로써 수익 확률이 증가합니다.

  4. 장기 및 단기 SMA 교차는 큰 트렌드 움직임을 포착하는 긴 라인 신호를 형성합니다.

  5. 더 신뢰할 수있는 신호와 함께 4 시간 또는 일일 수준과 같은 높은 주기성 타이밍에 적합합니다

위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 장기적인 전략으로서, 적시에 수익을 창출할 수 없고, 특정 마감 위험도 있습니다.

  2. 상대적으로 적은 입력 신호, 몇 run-up 놓칠 수 있습니다

  3. 단기, 중기 및 장기간에 걸쳐 서로 충돌하는 추세는 잘못된 신호를 생성할 수 있습니다.

다음과 같은 최적화 방법을 채택할 수 있습니다.

  1. 진입 기회를 늘리기 위해 중·장기 SMA 기간을 적절히 줄여라

  2. 트렌드 신뢰성을 확인하기 위해 볼륨과 같은 다른 보조 지표를 추가하십시오.

  3. 적립을 합리적으로 통제하기 위해 신중한 중지

최적화 방향

이 전략의 최적화를 위한 더 많은 여지가 있습니다.

  1. 최적의 매개 변수를 찾기 위해 더 많은 SMA 조합 기간을 테스트합니다.

  2. 가짜 브레이크를 피하기 위해 볼륨 확인을 포함

  3. 격렬한 변동 중 필터 항목에 변동 지표를 추가합니다.

  4. 최적의 매개 변수를 적응적으로 식별하기 위해 기계 학습 알고리즘을 도입

  5. 시장 공황이나 유피오리아 중 포지션을 취하지 않도록 감정 지표를 추가하십시오.

결론

이 전략은 여러 개의 SMA 교차를 통해 긴 라인 신호를 형성하며, 적응적인 이동 평균과 주요 트렌드 결정과 결합됩니다. 안정적인 논리와 강력한 실용적인 결과로 트렌드 움직임 중에 상당한 이익을 얻을 수 있습니다. 그러나 추가 최적화를 통해 감소해야하는 위험도 있습니다. 장기 포지션 보유 전략으로 인내심과 위험 통제 능력을 가진 투자자에게 적합합니다.


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

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © Wielkieef


//@version=5
strategy(title='twisted SMA strategy [4h] ', overlay=true, pyramiding=1, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=100, calc_on_order_fills=false, slippage=0, commission_type=strategy.commission.percent, commission_value=0.03)

src = close

Length1 = input.int(4, title='  1-SMA Lenght', minval=1, group='SMA')
Length2 = input.int(9, title='  2-SMA Lenght', minval=1, group='SMA')
Length3 = input.int(18, title='  3-SMA Lenght', minval=1, group='SMA')
SMA1 = ta.sma(close, Length1)
SMA2 = ta.sma(close, Length2)
SMA3 = ta.sma(close, Length3)

Long_ma = SMA1 > SMA2 and SMA2 > SMA3
Short_ma = SMA1 < SMA2 and SMA2 < SMA3

LengthMainSMA = input.int(100, title='  SMA Lenght', minval=1)

SMAas = ta.sma(src, LengthMainSMA)

//  Powered Kaufman Adaptive Moving Average by alexgrover (modificated by Wielkieef)
lengthas = input.int(25, title='    Lenght')
sp = input.bool(true, title='  Self Powered')

er = math.abs(ta.change(close, lengthas)) / math.sum(math.abs(ta.change(close)), lengthas)
pow = sp ? 1 / er : 2
per = math.pow(math.abs(ta.change(close, lengthas)) / math.sum(math.abs(ta.change(close)), lengthas), pow)
a = 0.
a := per * src + (1 - per) * nz(a[1], src)
mad4h = 0.
a_f = a / a[1] > .999 and a / a[1] < 1.001

///.

Bar_color = close > SMAas ? color.green : Long_ma ? color.blue : Short_ma ? color.maroon : color.gray

barcolor(color=Bar_color)

long_cond = Long_ma and SMAas < close and not a_f
  
long_stop = Short_ma 

if  long_cond
    strategy.entry('BUY', strategy.long)

strategy.close_all(when=long_stop)

//by wielkieef

더 많은