양자 마스터의 다단계 이동 평균 교차 전략

저자:차오장, 날짜: 2024-01-12 12:11:02
태그:

img

전반적인 설명

이 전략은 중장기 트렌드를 파악하고 안정적인 수익을 창출하기 위해 다단계 이동평균선 교차의 원리를 활용합니다. 서로 다른 매개 변수와 빠른, 중간, 느린 세 개의 이동평균 세트를 고용하고 그 교차에 따라 거래 결정을 내립니다. 두 개의 이동평균 세트를 가진 전통적인 전략과 비교하면이 다단계 이동평균 교차 전략은 더 많은 잘못된 신호를 필터링하고 전략의 승률을 향상시킬 수 있습니다.

전략 논리

이 전략은 이동 평균의 세 세트를 사용합니다: 빠른 이동 평균 MAshort, 중속 이동 평균 MAmid, 느린 이동 평균 MAlong. MAshort는 9의 매개 변수를 가지고 있으며 가장 빠르게 반응하며 단기 신호를 캡처하는 데 사용됩니다. MAmid는 50의 매개 변수를 가지고 있으며 중속 속도를 가지고 있으며 트렌드를 확인하는 데 사용됩니다. MAlong는 100의 매개 변수를 가지고 있으며 가장 느리게 반응하며 장기적인 트렌드 방향을 결정하는 데 사용됩니다.

전략의 구체적인 거래 논리는: 중속 이동 평균 라인 MAmid가 느린 이동 평균 라인 MAlong 위에 넘을 때, 주식 가격의 상승 동력이 형성되고 있음을 나타냅니다. 이 시점에서 전략은 길게 간다. 빠른 이동 평균 MAshort가 중속 이동 평균 MAmid 아래로 넘을 때, 단기 트렌드 반전이 발생했으며 전략이 이 시점에서 위치를 벗어나는 것을 나타냅니다.

이 전략의 가장 큰 장점은 여러 이동 평균을 결합함으로써 잘못된 신호를 효과적으로 필터링하고 중장기 상승 추세 동안 상대적으로 강한 브레이크오프를 선택하여 긴 포지션을 열 수 있다는 것입니다.

이점 분석

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

  1. 전략 매개 변수는 상대적으로 높은 승률을 가진 중장기 트렌드에 효과적으로 대응하도록 최적화되었습니다.
  2. 다단계 이동 평균 설계는 잡음과 거짓 신호를 필터링합니다.
  3. 비교적 좋은 역사적인 백테스팅 결과를 가진 모든 종류의 주식과 암호화폐에 적합합니다.
  4. 거래 빈도는 낮고 개설 포지션은 자금의 30%를 차지하며 위험도 조절할 수 있습니다.
  5. 시간 기간은 구성 가능하며 실시간 거래에 유연성을 제공합니다.

위험 분석

이 전략은 또한 다음과 같은 위험을 가지고 있습니다.

  1. 장기적인 트렌드 반전의 확률은 상대적으로 작지만 실제로 발생하면 스톱 로스 규모가 커질 수 있습니다.
  2. 거래 빈도는 낮고 따라서 비효율적인 자본 활용의 문제가 있습니다.
  3. 전략의 매개 변수들은 다른 거래 종류에 최적화되어야 하며, 이는 적용 범위를 제한합니다.

이러한 위험을 해결하기 위해 우리는 최대 마감 기술을 사용하여 최대 마감량을 제어하는 동시에 전략의 적용을 더욱 확대할 것입니다. 우리는 중장기 트렌드의 반전에 대응하여 포지션을 줄일 것입니다.

최적화 방향

이 전략은 또한 다음과 같은 방법으로 최적화 될 수 있습니다.

  1. 가장 좋은 매개 변수 조합을 찾기 위해 이동 평균의 날 매개 변수를 최적화
  2. 커브 적합 문제를 확인하고 피하기 위해 볼륨 표시기를 추가
  3. 전략의 최대 손실을 설정, 예를 들어 20% 최대 마감, 중지 손실을 강요
  4. 추세를 판단하고 전략의 적응력을 향상시키기 위해 기계 학습 모델을 통합하십시오.

요약

이 전략은 전형적인 중장기 양적 전략에 속하며, 거래 위험을 통제한다는 전제와 함께 중장기 트렌드와 다단계 이동 평균을 일치시킴으로써 지속적으로 수익을 창출합니다. 단일 지표와 비교하면이 전략은 여러 매개 변수를 통합하고 강력한 중장기 트렌드 신호를 효과적으로 식별 할 수 있습니다. 추가 최적화를 통해이 전략은 더 많은 품종에 적용 될 수 있으며 양적 거래에서 중요한 역할을합니다.


/*backtest
start: 2023-12-12 00:00:00
end: 2024-01-11 00:00:00
period: 1h
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/
// © Coinrule

//@version=4
strategy(shorttitle='Multi Moving Average Crossing',title='Multi Moving Average Crossing (by Coinrule)', overlay=true, initial_capital=1000,  default_qty_type = strategy.percent_of_equity, default_qty_value = 30, commission_type=strategy.commission.percent, commission_value=0.1)

//Backtest dates
fromMonth = input(defval = 1,    title = "From Month",      type = input.integer, minval = 1, maxval = 12)
fromDay   = input(defval = 1,    title = "From Day",        type = input.integer, minval = 1, maxval = 31)
fromYear  = input(defval = 2020, title = "From Year",       type = input.integer, minval = 1970)
thruMonth = input(defval = 1,    title = "Thru Month",      type = input.integer, minval = 1, maxval = 12)
thruDay   = input(defval = 1,    title = "Thru Day",        type = input.integer, minval = 1, maxval = 31)
thruYear  = input(defval = 2112, title = "Thru Year",       type = input.integer, minval = 1970)

showDate  = input(defval = true, title = "Show Date Range", type = input.bool)

start     = timestamp(fromYear, fromMonth, fromDay, 00, 00)        // backtest start window
finish    = timestamp(thruYear, thruMonth, thruDay, 23, 59)        // backtest finish window
window()  => true       // create function "within window of time"

//MA inputs and calculations
inlong=input(100, title='MAlong')
inmid=input(50, title='MAmid')
inshort=input(9, title='MAfast')

MAlong = sma(close, inlong)
MAshort= sma(close, inshort)
MAmid= sma(close, inmid)


//Entry 
bullish = crossover(MAmid, MAlong)

strategy.entry(id="long", long = true, when = bullish and window())

//Exit
bearish = crossunder(MAshort, MAmid)

strategy.close("long", when = bearish and window())

plot(MAshort, color=color.orange, linewidth=2)
plot(MAmid, color=color.red, linewidth=2)
plot(MAlong, color=color.blue, linewidth=2)


더 많은