이동 평균 크로스오버 전략

저자:차오장, 날짜: 2023-09-28 15:15:54
태그:

전반적인 설명

이 전략은 트렌드를 결정하고 잠재적 인 구매 및 판매 기회를 식별하기 위해 이동 평균의 황금 십자가와 죽음의 십자가를 사용합니다. 빠르고 느린 이동 평균을 모두 사용하여 크로스오버를 기반으로 거래 신호를 생성합니다.

전략 논리

이 전략은 서로 다른 시간 프레임을 가진 두 개의 이동 평균을 사용합니다. 첫 번째 MA는 단기 가격 움직임을 포착하기 위해 20 일로 설정된 짧은 시간 프레임을 가지고 있습니다. 두 번째 MA는 장기 트렌드를 측정하기 위해 120 일로 설정된 긴 시간 프레임을 가지고 있습니다.

더 빠른 MA가 더 느린 MA를 넘을 때 금색 십자가가 발생하여 단기적으로 상승 추세를 알리고 구매 신호가 생성됩니다. 더 빠른 MA가 느린 MA를 넘을 때 죽음의 십자가가 발생하여 단기적으로 하락 추세를 알리고 판매 신호가 생성됩니다.

이 전략은 ta.crossover와 ta.crossunder를 사용하여 MAs의 크로스오버를 감지합니다. 크로스오버가 확인되면 해당 구매 또는 판매 신호가 발사됩니다.

이점 분석

이 전략의 가장 큰 장점은 단순함입니다. 이동 평균은 가장 일반적인 기술 분석 도구 중 하나이며 전문가가 아닌 사람도 쉽게 이해할 수 있습니다. MAs는 또한 시장 소음을 효과적으로 필터링하고 트렌드 방향을 식별합니다.

더 복잡한 지표와 비교하면 MA는 전략에 구현하기가 비교적 간단합니다. 강력한 시스템을 만들기 위해 MA 기간을 최적화하는 것만 필요합니다.

또한 MA 전략은 유연성을 제공합니다. 매개 변수는 장기 또는 단기에서 다른 제품과 시간 프레임에 따라 조정 될 수 있습니다.

위험 분석

주요 위험은 트렌드 오스실레이션 시 빈번한 잘못된 신호를 생성하는 윙사입니다. 이 경우 MA 기간은 소음을 필터링하기 위해 적절하게 조정되어야합니다.

또 다른 잠재적인 위험은 MAs의 지연성입니다. MAs가 새로운 경향을 반영하는 데 시간이 걸립니다. 이것은 미끄러짐을 일으킬 수 있습니다.

또한, 전략은 주요 뉴스와 같은 갑작스러운 사건의 영향을 고려하지 않습니다. 이것은 MAs의 효과를 무효화 할 수 있습니다. 위험 통제를 위해 중단이 시행되어야합니다.

최적화 방향

이 전략은 다음을 통해 더욱 강화될 수 있습니다.

  1. 범위를 제한하는 시장에서 잘못된 신호를 피하기 위해 볼륨과 같은 필터를 추가합니다.

  2. 변동성에 따라 기간을 조정하는 적응형 MA를 이용합니다.

  3. MACD와 스토카스틱 같은 다른 지표를 결합하여 신호를 확인합니다.

  4. 가격 채널을 설정하고 브레이크에 대한 신호만 고려합니다.

  5. 손해를 막고 수익을 취해서 안정성을 높여

결론

요약하자면, MA 크로스오버 전략은 빠르고 느린 MA를 교차하여 신호를 생성합니다. 사용하기 쉽고 트렌드를 식별하지만 잘못된 신호 및 지연의 위험도 가지고 있습니다. 최적화된 매개 변수, 추가 필터 및 지표 조합으로 유력성을 크게 향상시킬 수 있습니다. 전반적으로, MA 전략은 트레이더에게 연구하고 적용할 가치가있는 실용적인 트렌드 다음 시스템입니다.


/*backtest
start: 2022-09-21 00:00:00
end: 2023-09-27 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/
// © brandlabng

//@version=5
//study(title="Holly Grail FX", overlay = true)
strategy('HG|E30m', overlay=true)
src = input(close, title='Source')

price = request.security(syminfo.tickerid, timeframe.period, src)
ma1 = input(20, title='1st MA Length')
type1 = input.string('EMA', '1st MA Type', options=['EMA'])

ma2 = input(120, title='2nd MA Length')
type2 = input.string('EMA', '2nd MA Type', options=['EMA'])

price1 = if type1 == 'EMA'
    ta.ema(price, ma1)

price2 = if type2 == 'EMA'
    ta.ema(price, ma2)


//plot(series=price, style=line,  title="Price", color=black, linewidth=1, transp=0)
plot(series=price1, style=plot.style_line, title='1st MA', color=color.new(#219ff3, 0), linewidth=2)
plot(series=price2, style=plot.style_line, title='2nd MA', color=color.new(color.purple, 0), linewidth=2)


longCondition = ta.crossover(price1, price2)
if longCondition
    strategy.entry('Long', strategy.long)

shortCondition = ta.crossunder(price1, price2)
if shortCondition
    strategy.entry('Short', strategy.short)

더 많은