리소스 로딩... 로딩...

다중 시간 프레임 시장 추진력 교차 전략

저자:차오장, 날짜: 2024-07-29 17:10:05
태그:MACDRSIATREMA

img

전반적인 설명

이 전략은 MACD 지표에 기반을 둔 긴 단기 거래 시스템으로, 15분 차트를 위해 특별히 설계되었습니다. MACD 라인 및 신호 라인 크로스오버를 사용하여 거래 신호를 생성하여 특정 시장 오픈 시간으로 거래를 제한합니다. 이 전략은 일정한 비율의 위험 관리 방법을 사용하여 계정 크기에 따라 각 거래에 대한 위험 노출을 동적으로 조정합니다.

전략 원칙

  1. MACD 지표 계산: 12주기 빠른 라인, 26주기 느린 라인, 9주기 신호 라인 등의 표준 MACD 설정을 사용합니다.

  2. 무역 신호 생성:

    • 짧은 신호: MACD 라인이 신호 라인의 위를 넘고 MACD 라인이 0 라인의 위를 넘을 때
    • 긴 신호: MACD 라인이 신호 라인 아래를 가로질러 MACD 라인이 0 라인 아래를 지나면
  3. 거래 시간 제한: 런던 시장 (08:00-17:00 GMT) 및 뉴욕 시장 (13:30-20:00 GMT) 오픈 시간 동안만 거래를 수행합니다.

  4. 위험 관리:

    • 일정한 비율의 리스크 관리를 사용하며, 거래당 전체 계좌 가치의 1%를 리스크합니다.
    • 10포인트에서 스톱 로스를 하고 15포인트에서 이윤을 취합니다.
    • 매 거래에 대한 계약 수를 동적으로 계산합니다.
  5. 트레이드 실행: 시장 주문으로 거래를 수행하며 동시에 스톱 로스 및 수익 주문을 설정합니다.

전략적 장점

  1. 시장 동력 포착: MACD 지표는 시장 동력 변화를 효과적으로 포착하여 잠재적 인 트렌드 반전 지점을 식별하는 데 도움이됩니다.

  2. 리스크 관리: 일정한 비율의 리스크 관리는 각 거래의 리스크가 계정 크기와 일치하도록 보장하며 장기 자본 성장을 촉진합니다.

  3. 시간 필터링: 거래 시간을 제한하면 유동성이 낮은 기간 동안 잘못된 신호를 피하고 거래 품질을 향상시킵니다.

  4. 적응성: 전략은 계좌 크기에 따라 거래 크기를 자동으로 조정합니다. 다른 자본 금액을 가진 거래자에게 적합합니다.

  5. 명확한 출입 및 출입 규칙: 명확한 신호 생성 논리 및 고정 스톱 손실 및 수익 설정은 수동 개입의 필요성을 줄입니다.

전략 위험

  1. 시장을 가로질러 발생하는 위험: 범위에 묶인 시장에서 MACD는 자주 교차 신호를 생성하여 과잉 거래 및 연속 손실로 이어질 수 있습니다.

  2. 미끄러짐 위험: 시장에 진입하기 위해 시장 주문을 사용하는 것은 특히 빠르게 움직이는 시장에서 미끄러짐에 직면 할 수 있습니다.

  3. 고정 스톱 손실 위험: 고정 포인트 스톱 손실은 높은 변동성 기간 동안 충분히 유연하지 않을 수 있으며, 잠재적으로 조기 중단으로 이어질 수 있습니다.

  4. 큰 움직임을 놓치고: 엄격한 수익 설정은 전략이 중요한 트렌드 움직임에서 수익의 대부분을 놓칠 수 있습니다.

  5. 시간 창 제한: 특정 시간 동안만 거래하면 다른 세션에서 잠재적인 기회를 놓칠 수 있습니다.

전략 최적화 방향

  1. 다중 시간 프레임 확인: 거래 신호 신뢰성을 향상시키기 위해 더 긴 시간 프레임 (예: 1 시간 또는 4 시간) 에서 트렌드 확인을 도입하십시오.

  2. 동적 스톱 로스: 시장 변동성 변화에 적응하여 동적 스톱 로스를 설정하기 위해 ATR (평균 진정한 범위) 표시기를 사용하는 것을 고려하십시오.

  3. 추가 기술 지표: 예를 들어 RSI (비례 강도 지표) 또는 이동 평균을 MACD 신호 필터로 사용하여 잘못된 신호를 줄이십시오.

  4. 거래 시간 창을 최적화: 백테스팅 분석을 통해 최적의 거래 기간을 식별하고, 다른 시장 조건에 따라 계절적으로 조정할 수 있습니다.

  5. 이윤을 취하는 전략을 개선하십시오: 부분적 이윤을 확보하면서 더 큰 추세를 포착하기 위해 후속 중지 또는 부분적 이윤 보호 메커니즘을 구현하십시오.

  6. 변동성 조정: 시장 변동성에 따라 거래 크기와 스톱 로스 수준을 동적으로 조정하여 높은 변동성 기간 동안 위험 노출을 줄입니다.

  7. 기본 필터를 추가합니다. 중요한 경제 데이터 발표가 시장에 미치는 영향을 고려하고 주요 데이터 발표 전 및 이후에 거래를 중단하십시오.

결론

멀티 타임프레임 시장 모멘텀 크로스오버 전략은 MACD 지표를 기반으로 한 적응형 거래 시스템으로 시간 제한 거래 및 엄격한 리스크 관리를 통해 거래 품질을 향상시킵니다. 이 전략의 주요 장점은 명확한 신호 생성 논리와 동적 리스크 관리 방식에 있으며 다양한 크기의 거래 계정에 적합합니다. 그러나 이 전략은 측면 시장에서 과잉 거래 및 큰 트렌드를 놓치는 위험도 있습니다.

다중 시간 프레임 확인, 동적 스톱 손실 및 추가 기술 지표를 도입함으로써 전략은 성과와 안정성을 더욱 향상시킬 잠재력을 가지고 있습니다. 특히 변동성 조정 및 개선 된 수익 전략이 다른 시장 조건에 더 잘 적응하는 데 도움이 될 수 있습니다. 또한 기본 요인을 고려하면 전략의 포괄성을 높일 수 있습니다.

전체적으로,이 전략은 거래자에게 특정 위험 선호도와 거래 목표를 충족시키기 위해 개인화 및 최적화 할 수있는 견고한 틀을 제공합니다. 지속적인 백테스팅 및 실시간 거래 검증은 전략의 장기적 효과를 보장하는 데 중요합니다.


/*backtest
start: 2024-06-28 00:00:00
end: 2024-07-28 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("交易霸傑15掏金策略", overlay=true)

// 設置參數
fastLength = input.int(12, title="MACD 快線長度")
slowLength = input.int(26, title="MACD 慢線長度")
signalSmoothing = input.int(9, title="MACD 信號線平滑")
riskPercentage = input.float(2, title="每筆交易的風險比例 (%)")
stopLossPoints = 10
takeProfitPoints = 15

// 設置倫敦和紐約市場的開盤時間
londonOpen = timestamp("GMT+0", year, month, dayofmonth, 8, 0)
londonClose = timestamp("GMT+0", year, month, dayofmonth, 17, 0)
nyOpen = timestamp("GMT+0", year, month, dayofmonth, 13, 30)
nyClose = timestamp("GMT+0", year, month, dayofmonth, 20, 0)

// 計算MACD
[macdLine, signalLine, _] = ta.macd(close, fastLength, slowLength, signalSmoothing)
macdHist = macdLine - signalLine

// 畫出MACD線
hline(0, "0軸", color=color.gray)
plot(macdLine, color=color.blue, title="MACD 快線")
plot(signalLine, color=color.red, title="MACD 慢線")
plot(macdHist, color=color.green, style=plot.style_histogram, title="MACD Histogram")

// 動態計算每筆交易的風險和止損、止盈點數
capital = strategy.equity
riskAmount = capital * (riskPercentage / 100)
contracts = 1
stopLossValue = stopLossPoints * syminfo.mintick
takeProfitValue = takeProfitPoints * syminfo.mintick

// 確定是否在交易時段內
isLondonOpen = (time >= londonOpen and time <= londonClose)
isNyOpen = (time >= nyOpen and time <= nyClose)

// 偏空進場條件
shortCondition = ta.crossover(signalLine, macdLine) and macdLine > 0 and (isLondonOpen or isNyOpen)
if (shortCondition)
    strategy.entry("Short", strategy.short, qty=contracts)
    strategy.exit("Take Profit/Stop Loss", "Short", limit=close - takeProfitValue, stop=close + stopLossValue)

// 偏多進場條件
longCondition = ta.crossunder(signalLine, macdLine) and macdLine < 0 and (isLondonOpen or isNyOpen)
if (longCondition)
    strategy.entry("Long", strategy.long, qty=contracts)
    strategy.exit("Take Profit/Stop Loss", "Long", limit=close + takeProfitValue, stop=close - stopLossValue)



관련

더 많은