종료 가격 비교 이중 이동 평균 크로스오버 전략

저자:차오장, 날짜: 2024-02-05 10:34:57
태그:

img

전반적인 설명

폐쇄 가격 비교 이중 이동 평균 크로스오버 전략은 비교적 간단한 수치적 거래 전략이다. 최근 7개의 촛불의 평균 폐쇄 가격과 20개의 촛불의 평균 폐쇄 가격을 계산한다. 단기 이동 평균이 아래에서 장기 이동 평균을 넘을 때, 그것은 긴 포지션을 신호한다. 단기 이동 평균이 장기 이동 평균을 넘을 때, 그것은 짧은 포지션을 신호한다. 이것은 전략이 시장의 중기 트렌드의 굴곡점을 포착할 수 있게 한다.

전략 논리

이 전략의 핵심 논리는 최근 7개의 촛불 (현재 촛불을 제외한) 의 평균 종료 가격을 단기 이동 평균으로 계산하고, 20개의 촛불 (최근 7개의 촛불을 제외한) 의 평균 종료 가격을 장기 이동 평균으로 계산하는 것입니다. 단기 이동 평균이 아래로부터의 장기 이동 평균을 넘어서면 시장이 하락에서 상승으로 전환되는 것을 나타냅니다. 단기 이동 평균이 위로부터의 장기 이동 평균을 넘어서면 시장이 상승에서 하락으로 전환되는 것을 나타냅니다.

긴 신호에 따라, 전체 계좌 자본을 사용하여 긴 포지션은 열릴 것입니다. 짧은 신호에 따라, 동일한 금액을 사용하여 짧은 포지션을 열기 전에 기존의 긴 포지션은 먼저 닫을 것입니다. 각 개방 된 포지션은 20-25 촛불을 유지합니다. 이 기간 동안 손실이 발생하면 포지션의 50%가 손실을 멈추게됩니다. 충분한 이익이 발생하면 포지션의 50%가 이익을 취합니다.

이점 분석

이 간단한 이중 이동 평균 크로스오버 전략의 장점은 다음과 같습니다.

  1. 간단한 논리, 이해하기 쉽고 실행하기 쉽습니다.
  2. 중장기 시장 트렌드에서 전환점을 결정하기 위해 다른 기간 이동 평균의 교차를 사용하여 널리 사용되는 기술 지표입니다.
  3. 시장 소음을 효과적으로 필터링하고 중장기 동향을 파악할 수 있습니다.
  4. 중장기 거래에 적합하며, 포지션당 20-25개의 촛불 보유와 좋은 이익/손실 비율을 가지고 있습니다.
  5. 내장된 스톱 로스 및 수익 메커니즘을 사용하여 위험을 통제하고 수익을 확보합니다.

위험 분석

단순한 추세에 따른 전략으로서, 그것은 또한 몇 가지 잠재적인 위험에 직면합니다:

  1. 시장이 고집에 들어가면 윙사와 잘못된 신호가 증가합니다.
  2. 홀드 기간 동안 가격 스파이크가 스톱 로드를 유발할 수 있습니다.
  3. 실제 시장 전환점을 효과적으로 결정하기 어렵기 때문에 거래 신호가 지연될 수 있습니다.

이러한 위험을 해결하기 위한 최적화는 다음과 같습니다.

  1. 필터를 추가하고, 잘못된 신호를 제거하기 위해 MAs가 넘어가면 가격이 주요 지지/저항 수준을 넘지 않는지 확인합니다.
  2. 유지 기간을 조정하고 손실을 통제하기 위해 포지션당 평균 유지 시간을 단축합니다.
  3. 다른 기술적 지표를 추가하여 진정한 시장 전환점을 결정합니다.

최적화 방향

간단한 이중 이동 평균 크로스오버 전략으로서 주요 최적화는 다음과 같습니다.

  1. MA 매개 변수를 최적화하고, 최상의 매개 변수를 위해 다양한 단기 및 장기 MA 조합을 테스트합니다.

  2. 부피, 변동성 지수 등과 같은 다른 필터 지표를 추가하여 불안정한 시장에서 잘못된 신호를 피합니다.

  3. 스톱 로스를 최적화하고 수익 전략을 취하고, 최적의 비율을 찾기 위해 다른 비율을 테스트합니다.

  4. 다른 시장 주기에 걸쳐 효과를 테스트하고 유지 기간을 최적화합니다.

  5. 머신러닝 알고리즘을 추가하고 역 테스트를 통해 매개 변수를 최적화해 더 안정성을 확보하세요.

결론

요약하자면, 이것은 단순한 이중 이동 평균 크로스오버 전략이며, 중장기 트렌드 인플렉션 포인트를 결정하기 위해 다른 기간에 걸쳐 MA 크로스오버를 사용합니다. 그것은 높은 실용성과 작동이 쉽습니다. 그러나 진정한 시장 반전 지점을 효과적으로 결정하는 데에도 한계가 있습니다. 일관성 있는 알파를 위해 다양한 시장 조건에서 더 견고하게 만들기 위해 필터, 매개 변수 조정, 기계 학습 등을 추가하는 데 추가 최적화가 필요합니다.


/*backtest
start: 2024-01-05 00:00:00
end: 2024-02-04 00:00:00
period: 2h
basePeriod: 15m
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/
// © nrathi2211

//@version=5
strategy("Closing Prices", overlay=true)

//variables
closingB7 = ta.highest(close, 7)[7]
closingB14 = ta.highest(close, 7)[20]
highB14 = ta.highest(low, 50)[7]
capital = 50000

//functions
qty_find(float price) => capital / int(price)

profit_take() =>
    profit = strategy.opentrades.profit(strategy.opentrades - 1)
    profit*.95 

if(closingB7 < closingB14)
    if(ta.crossover(close, closingB7))
        strategy.entry("long_buy", strategy.long, qty_find(close))

    current_profit = strategy.opentrades.profit(strategy.opentrades - 1)
    if(current_profit < 0)
        strategy.close("Exit long_buy SL", "long_buy", qty_percent = 50)
    
    else if(current_profit < profit_take())
        strategy.close("Exit long_buy TP", "long_buy", qty_percent = 50)
    
    if(ta.crossunder(close, closingB7))
        strategy.exit("long_sell", from_entry = "long_buy", stop = closingB7)

plot(closingB7, "cl", color.green, 2)
//plot(closingB14, "cl", color.red, 2)
plot(highB14, "cl", color.purple, 2)


더 많은