모멘텀 역전 멀티 타임프레임 전략

저자:차오장, 날짜: 2023-10-30 10:42:54
태그:

img

전반적인 설명

이 전략은 다양한 시간 프레임에 걸쳐 동력 지표를 결합하여 여러 시간 스케일에 트렌드 반전을 식별합니다. 그것은 단기 반전을 발견하기 위해 스토카스틱 오시레이터와 중장기 트렌드에 대한 (최고-최하위) / 클로즈 지표를 사용하여 여러 시간 차원에서 반전을 탐지 할 수 있습니다.

전략 논리

이 전략은 두 가지 구성 요소로 구성됩니다.

  1. 123 반전

단기 트렌드 반전을 식별하기 위해 스토카스틱 빠른 라인의 슬로우 라인의 아래로 넘어가고 가격 반전 패턴을 사용합니다. 구체적으로, 가격이 이전 클로즈보다 높게 닫히고 스토카스틱 빠른 라인이 슬로우 라인의 아래와 50 이하로 넘어가면 길게 간다; 가격이 이전 클로즈보다 낮게 닫히고 스토카스틱 빠른 라인이 슬로우 라인보다 높고 50 이상으로 넘어가면 짧게 간다. 이 부분은 과소매 / 과소매 판독을 기반으로 평균 반전 설정을 캡처하는 것을 목표로합니다.

  1. (최고 - 최하위) / 근접 지표

이 지표는 현재 바의 변동성을 측정합니다. 높은 값은 변동성 증가와 잠재적 인 반전을 나타냅니다. 낮은 값은 변동성 감소와 트렌드 지속을 나타냅니다. 전략은 중장기 트렌드 반전을 식별하기 위해 이 지표의 SMA를 사용합니다.

두 가지 요소가 결합되면 전략이 단기, 중장기 시간 프레임에서 반전을 감지 할 수 있습니다.

장점

  • 멀티 타임프레임 지표로 더 정확

    단기 및 중장기 지표를 사용하는 것은 신호의 신뢰성을 보장하고 잘못된 신호를 피합니다.

  • 유연한 지표 매개 변수

    스토카스틱과 (H-L) /C의 매개 변수 모두 시장 체제에 맞게 조정할 수 있어 전략을 견고하게 만듭니다.

  • 단순하고 직관적인 논리

    스토카스틱이 핵심이자 트렌드 필터로서 프레임워크는 간단하고 이해하기 쉽습니다.

  • 확장성

    간단한 틀은 더 많은 지표를 쉽게 통합하여 다중 요소 모델을 구축 할 수 있습니다.

위험성

  • 지속되는 추세에서 저조한 성과를 낼 수 있습니다.

    평균 회전 성격은 강한 트렌드 시장에 이상적이지 않습니다. 매개 변수는 적응하도록 조정 할 수 있습니다.

  • 잘못된 신호의 위험

    스토카스틱 및 (H-L) /C는 비정상적인 시장에서 잘못된 신호를 발산 할 수 있습니다. 잘못된 신호의 위험은 관리해야합니다.

  • 지표 조정에는 전문 지식이 필요합니다.

    변하는 시장에 맞춰 매개 변수를 최적화해야 합니다. 그렇지 않으면 성능이 떨어질 수 있습니다.

  • 적절한 위치 크기가 필요합니다.

    역전 전략으로서, 신중한 위험 관리가 중요한 것입니다.

더 나은 기회

  • 다중 요인 모델의 더 많은 요소

    부피와 같은 추가적인 요소, 다른 반전 지표들을 추가하여 다중 요인 모델을 만들 수 있습니다.

  • 스톱 손실을 실행

    시간적 또는 이동적 Stop Loss은 단일 거래 손실을 통제하는 데 도움이 될 수 있습니다.

  • 매개 변수 최적화

    유전 알고리즘과 같은 더 체계적인 매개 변수 조정 방법을 탐구할 수 있습니다.

  • 기계 학습

    ML 알고리즘은 역전 예측 정확성을 향상시키는 데 도움이 될 수 있습니다.

  • 감정 분석

    사회적 정서와 같은 대체 데이터를 포함하면 역전을 예측하는 데 도움이 될 수 있습니다.

결론

이 전략은 시간 프레임에 걸쳐 반전을 식별하기 위해 단기 및 중기 지표를 결합합니다. 유연한 매개 변수, 간단한 구조, 확장성과 같은 장점이 있습니다. 다음 단계에는 더 많은 요소, 스톱 로스, 매개 변수 최적화, 수익성 및 리스크 관리를 더욱 향상시키기 위해 기계 학습이 포함될 수 있습니다. 전반적으로 이것은 연구 및 적용 가치가있는 혁신적인 전략입니다.


//@version=3
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 23/05/2019
// This is combo strategies for get 
// a cumulative signal. Result signal will return 1 if two strategies 
// is long, -1 if all strategies is short and 0 if signals of strategies is not equal.
//
// 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
//  This histogram displays (high-low)/close
//  Can be applied to any time frame.
//
// 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

HLCHist(input_barsback, input_percentorprice, input_smalength) =>
    xPrice = (high-low)/close
    xPriceHL = (high-low)
    xPrice1 = iff(input_percentorprice, xPrice * 100, xPriceHL)
    xPrice1SMA = sma(abs(xPrice1), input_smalength)
    pos = 0.0
    pos := iff(xPrice1SMA[input_barsback] > abs(xPrice1), 1,
    	   iff(xPrice1SMA[input_barsback] < abs(xPrice1), -1, nz(pos[1], 0))) 
    pos

strategy(title="Combo Backtest 123 Reversal & (H-L)/C Histogram", shorttitle="Combo", overlay = true)
Length = input(14, minval=1)
KSmoothing = input(1, minval=1)
DLength = input(3, minval=1)
Level = input(50, minval=1)
//-------------------------
input_barsback = input(4, title="Look Back")
input_percentorprice = input(false, title="% change")
input_smalength = input(13, title="SMA Length")
reverse = input(false, title="Trade reverse")
posReversal123 = Reversal123(Length, KSmoothing, DLength, Level)
posHLCHist = HLCHist(input_barsback, input_percentorprice, input_smalength)
pos = iff(posReversal123 == 1 and posHLCHist == 1 , 1,
	   iff(posReversal123 == -1 and posHLCHist == -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 ? red: possig == 1 ? green : blue ) 	   

더 많은