이 전략은 MACD 지표에 기반을 둔 거래 시스템으로, 거래 결정을 내리기 위해 두 기간의 MACD 지표를 결합합니다. 이 전략은 주로 5 분 MACD 지표를 사용하여 엔트리 기회를 찾으며 1 시간 MACD 지표를 사용하여 전체 시장 트렌드를 확인합니다. 이 이중 확인 메커니즘은 거래의 정확성과 신뢰성을 향상시키는 것을 목표로합니다. 이 전략에는 또한 고정 수익 목표와 위험 관리 및 수익을 잠금하기 위한 스톱 로스 설정이 포함되어 있습니다.
이 전략의 핵심 원칙은 시장 추세와 거래 기회를 포착하기 위해 다양한 기간의 MACD 지표를 활용하는 것입니다. 구체적으로:
5분 MACD: 특정 엔트리 신호를 찾기 위해 사용됩니다. MACD 라인이 신호 라인의 위를 넘을 때 구매 신호가 생성됩니다.
1시간 MACD: 전체 시장 추세를 확인하는 데 사용됩니다. 1시간 MACD 히스토그램이 긍정적 인 경우에만 시장이 상승 추세로 간주됩니다.
진입 조건: 전략은 5분 MACD가 구매 신호를 생성하고 1시간 MACD가 상승 추세를 확인 할 때만 구매 거래를 실행합니다.
리스크 관리: 전략은 각 거래의 위험을 관리하기 위해 고정 수익 목표 (100 포인트) 와 스톱 로스 (20 포인트) 를 설정합니다.
포지션 관리: 각 거래에 대해 100개 단위의 고정 거래 부피가 사용됩니다.
다기간의 확인: 단기 (5분) 및 장기 (1시간) MACD 지표를 결합함으로써 전략은 잘못된 신호를 줄여 시장 추세를 보다 포괄적으로 평가할 수 있습니다.
트렌드 추적: 전략 설계는 트렌드를 따르는 원칙을 준수하고, 전체 트렌드가 상승하는 것으로 확인되면만 구매하여 거래의 성공률을 높입니다.
명확한 리스크 관리: 고정된 수익 및 스톱 로스 설정은 각 거래의 위험을 제어하는 데 도움이되며 단일 거래가 과도한 손실을 유발하는 것을 방지합니다.
자동 실행: 전략은 거래 플랫폼에서 자동으로 실행될 수 있으며, 감정적 간섭을 줄이고 거래 규율을 향상시킵니다.
조정 가능한 매개 변수: 전략은 사용자가 개인 선호도와 시장 특성에 따라 MACD 매개 변수를 조정하여 유연성을 높일 수 있습니다.
뒤떨어진 성격: MACD는 뒤떨어진 지표로 빠르게 변화하는 시장에서 지연된 신호를 초래할 수 있으며, 시기 불일치로 진입 또는 출구로 이어질 수 있습니다.
범위에 있는 시장에 적합하지 않습니다. 옆으로, 불안정한 시장에서 전략은 종종 잘못된 신호를 생성하여 연속적인 손실을 초래할 수 있습니다.
고정 스톱 로스는 충분하지 않을 수 있습니다: 매우 변동적인 시장에서 20 지점 고정 스톱 로스는 갑작스러운 큰 변동을 처리하기에 충분하지 않을 수 있습니다.
단지 긴 포지션을 고려합니다. 전략은 단지 긴 거래를 위해 설계되어 있으며, 짧은 기회를 무시하고, 수익 기회를 놓칠 수 있습니다.
매커드 매개 변수 선택은 전략 성능에 상당한 영향을 미치며, 다른 시장이나 기간은 다른 매개 변수 설정을 요구할 수 있습니다.
동적 스톱 로스: 다른 시장 환경에 적응하기 위해 ATR 또는 변동성에 기반한 동적 스톱 로스 메커니즘을 도입하는 것을 고려하십시오.
쇼트 세일 로직을 추가합니다. 양방향 시장 기회를 완전히 활용하여 쇼트 트레이드를 포함하도록 전략을 확장하십시오.
부피 분석을 포함: 신호 신뢰성을 높이기 위해 OBV 또는 CMF와 같은 부피 지표를 결합하십시오.
포지션 관리 최적화: 고정 거래량보다는 계좌 자금 또는 위험 평가에 기반한 동적 포지션 관리를 고려하십시오.
필터링 조건을 추가하십시오: 잘못된 신호를 줄이기 위해 RSI 또는 VIX와 같은 추가 기술 또는 시장 정서 지표를 도입하십시오.
백테스팅 및 최적화: MACD 매개 변수 및 다른 전략 매개 변수를 최적화하기 위해 다른 시장 및 시간대에 광범위한 백테스팅을 수행합니다.
기본 요인을 고려하십시오: 중요한 경제 데이터 발표 또는 이벤트 중 거래 제한을 설정하거나 전략 매개 변수를 조정하십시오.
이중 MACD 트렌드 확인 거래 시스템은 단기 및 장기적인 시장 트렌드 분석을 결합한 양적 거래 전략이다. 다른 기간의 MACD 지표를 활용함으로써 전략은 시장 트렌드를 파악하고 트렌드가 확립되면 거래를 목표로 한다. 고정된 위험 관리 규칙과 자동화 실행 기능이 비교적 견고한 거래 시스템으로 만든다. 그러나 모든 거래 전략과 마찬가지로 일부 내재된 위험과 한계에도 직면한다.
전략의 효과와 적응력을 더욱 향상시키기 위해, 거래자는 동적 스톱-로스 메커니즘을 도입하고, 쇼트 판매 논리를 확장하고, 포지션 관리를 최적화하고, 다른 기술적 및 근본적인 분석 도구를 통합하는 것을 고려하는 것이 좋습니다. 전략의 효과를 유지하기 위해 지속적인 백테스팅과 매개 변수 최적화가 중요합니다. 마지막으로, 거래자는 항상 완벽한 거래 전략이 없다는 것을 기억해야하며, 위험 관리와 지속적인 학습은 장기적인 성공의 열쇠입니다.
/*backtest start: 2023-07-25 00:00:00 end: 2024-07-30 00:00:00 period: 1d basePeriod: 1h exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}] */ //5分足で運用想定 //@version=5 strategy(title='MACD5分IN,一時間足強弱判定', shorttitle='MACDストラテジー', overlay=false) //overlay true:チャート上に表示 felse:別ウィンドに表示 //================ //注文ポイント //================ //入力部を作成 //input関数で設定画面に入力項目を追加できる //type入力形式の設定,defval初期設定値,minval最小設定値 FastLength = input.int(title='短期線本数', defval=12, minval=1) SlowLength = input.int(title='長期線本数', defval=26, minval=1) SignalLength = input.int(title='シグナル本数', defval=9, minval=1) FastLength1 = input.int(title='短期線本数', defval=144, minval=1) SlowLength1 = input.int(title='長期線本数', defval=312, minval=1) SignalLength1 = input.int(title='シグナル本数', defval=108, minval=1) //一時間足で強弱判定のため5分足の数字を12倍 //MACDの計算 エントリー [MACD, MACDSignal, MACDosc] = ta.macd(close, FastLength, SlowLength, SignalLength) //MACDの計算 強弱判定 [MACD1, MACDSignal1, MACDosc1] = ta.macd(close, FastLength1, SlowLength1, SignalLength1) //プロット エントリー //plot画面表示,MACD計算からMACDラインとシグナルラインを表示 //linewidthでラインの太さ変更 //style_histogramでヒストグラム表示, color = MACDosc < 0の判定式で色変更 plot(MACD, color=color.new(color.red, 0), linewidth=1) plot(MACDSignal, color=color.new(color.green, 0)) plot(MACDosc, style=plot.style_histogram, linewidth=3, color=MACDosc < 0 ? color.new(color.blue, 50) : color.new(color.red, 50)) //プロット 相場強弱判定 //一時間足の表示作成 plot(MACD1, color=color.new(color.red, 0), linewidth=1) plot(MACDSignal1, color=color.new(color.green, 0)) //買いポイント //crossover(x,y)yをxが上抜け BuyPoint_MACDGC = ta.crossover(MACD, MACDSignal) //ヒストグラムの値がプラスの場合GC中と判定 BuyPoint_crossnow = MACDosc1 > 0 //5分足MACDGCかつ1時間足がGC中,条件は末尾にand追加で条件追加可能 BuyPoint = BuyPoint_MACDGC and BuyPoint_crossnow //買いポイントに背景色を設定 bgcolor(BuyPoint ? color.red : color.new(color.green, 100), transp=90) //================ //決済ポイント //================ //100円抜いたらOUT,20円下がったら損切 ProfitDelta = 100 LossDelta = 20 //================ //枚数 //================ Size = 1 //================ //注文・決済 //================ //strategy.entryでエントリー,qtyでサイズ指定, //エントリータイミング今回は46行目BuyPoint = BuyPoint_MACDGC and BuyPoint_crossnow if BuyPoint strategy.entry(id='long', direction=strategy.long, qty=Size) //profit利確までの幅,loss損切までの幅(stopというので移動平均線に到達したらなどの損切設定なども可能) strategy.exit(id='exit', from_entry='long', profit=ProfitDelta, loss=LossDelta)