4차례 교차 전략

저자:차오장2024-02-23 14:20:05
태그:

img

전반적인 설명

쿼드플 크로싱 전략 (Quadruple Crossing Strategy) 은 중장기 거래 전략이다. 주식 가격의 트렌드 변화를 식별하고 중요한 지점에서 거래 신호를 생성하기 위해 다양한 기술적 지표를 결합한다. 주요 기술적 지표에는 이동 평균, 거래량, 상대 강도 지수 (RSI) 및 이동 평균 컨버전스 디버전스 (MACD) 등이 있다. 이 다중 지표 조합은 신호 신뢰성을 향상시키고 잘못된 거래의 가능성을 줄일 수 있다.

전략 논리

쿼드플 크로싱 전략은 다음과 같은 네 가지 지표의 신호를 결합하여 거래 결정을 내립니다.

  1. 가격이 200일 지수적 이동 평균 (EMA200) 을 넘습니다.
  2. 오늘 종료 가격과 전날 종료 가격 사이의 관계
  3. 거래량 증폭 특징
  4. RSI의 과반 판매 및 과반 구매 신호
  5. MACD의 황금 십자가와 죽음의 십자가

이 네 가지 지표 세트가 같은 방향으로 신호를 내면 거래 결정이 발생한다. 또한, 두 개의 독립적인 신호가 보완되도록 구성된다: 20 일 EMA에서 가격 오차 비율 및 볼링거 밴드의 경계를 만지는. 일반적으로, 이 전략은 잘못된 신호의 확률을 줄이고 비교적 신뢰할 수있는 거래 기회를 포착하는 것을 목표로 한다.

이점 분석

쿼드플 크로싱 전략의 가장 큰 장점은 여러 지표의 조합적 사용에 있다. 단일 지표는 시장을 포괄적으로 판단 할 수 없다. 결합된 지표는 더 많은 차원에서 참조를 제공하여 오류를 줄인다. 구체적으로 이 전략의 주요 장점은 다음과 같다.

  1. 주요 트렌드 라인을 식별하고 중장기 트렌드를 발견하기 위해 EMA200를 사용
  2. 가격 증폭 기능은 가짜 브레이크를 필터합니다
  3. RSI는 과잉 구매/ 과잉 판매 구역에서 거래를 피합니다.
  4. MACD는 단기 내부 추세와 반전을 판단합니다.
  5. 이중 독립 신호는 신뢰성을 향상

일반적으로 쿼드플 크로싱 전략은 중장기 포지션 거래에 매우 적합하며 주요 트렌드에 따라 비교적 안정적인 수익을 얻을 수 있습니다.

위험 분석

4차례 교차 전략은 다음과 같은 측면에서 몇 가지 위험을 초래합니다.

  1. 지표에서 잘못된 신호가 나올 확률은 여전히 존재합니다.
  2. 스톱 로스/프로프트 취득이 없는 경우 단일 손실을 통제하지 못하는 경우
  3. 더 큰 인력 인출은 충분한 심리적 역량을 필요로 합니다.
  4. 거래 빈도는 너무 높거나 너무 희박할 수 있습니다.
  5. 잘못된 매개 변수 설정은 실제 성능에 영향을 미칩니다.

또한, 미리 설정된 매개 변수와 조건은 4차 교차 전략의 적응력을 제한합니다. 시장 환경이 큰 변화를 겪으면 그 성능이 크게 악화 될 수 있습니다.

최적화 방향

위의 위험 분석을 바탕으로, 4차례 교차 전략은 다음과 같은 측면에서 최적화 될 수 있습니다.

  1. 단일 손실을 제어하기 위해 스톱 로스/프로프트 취업 기능을 추가합니다.
  2. 거래 빈도를 최적화하기 위해 매개 변수 조합을 조정합니다.
  3. 적응력을 향상시키기 위해 알고리즘 판단을 도입
  4. 더 많은 조건 제한을 추가하여 오류 트레이드를 더 제어합니다.

이러한 최적화는 원래 전략의 장점을 유지하면서 거래 위험을 줄이고 수익률을 향상시킬 수 있습니다.

요약

요약하자면, 다중 지표 판단의 장점을 활용함으로써, 쿼드플 크로싱 전략은 위험을 제어하면서 높은 확률과 높은 신뢰성을 가진 중장기 거래 기회를 포착하고자 한다. 충분한 자금과 심리적 지위 능력을 가진 투자자에게 적합하다. 스톱 로스/트랙 노프트 및 동적 최적화와 같은 요소를 도입함으로써, 이 전략은 더욱 향상될 수 있다. 이는 다중 지표 거래 아이디어의 조합적 응용의 전형적인 예이다.


/*backtest
start: 2024-01-23 00:00:00
end: 2024-02-22 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This Pine Script™ code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © anonXmoous

//@version=5
strategy("Quadruple Cross Strategy", overlay=true, initial_capital=100000, currency="TRY", default_qty_type=strategy.percent_of_equity, default_qty_value=10, pyramiding=0, commission_type=strategy.commission.percent, commission_value=0.1)

// Verileri tanımla
price = close
ema200 = ta.ema(price, 200)
ema20 = ta.ema(price, 20)
vol= volume
rsi = ta.rsi(price, 14) 
[macdLine, signalLine, histLine] = ta.macd(price, 12, 26, 9)
n = 20 // SMA periyodu
k = 2.5 // Standart sapma katsayısı
// Bollinger bandı parametrelerini tanımla
sma = ta.sma(price, n) // 20 günlük SMA
std = ta.stdev(price, n) // 20 günlük standart sapma
upperBB = sma + k * std // Bollinger bandının üst sınırı
lowerBB = sma - k * std // Bollinger bandının alt sınırı

// Alım sinyali koşullarını belirle
buyCondition1 = price > ema200 and (price - ema200) / ema200 <= 0.05 or price == ema200 
buyCondition2 = price > price[1] 
buyCondition3 = vol > vol[1] and vol[1] > vol[2] 
buyCondition4 = rsi > 35 and rsi > rsi[1] 
buyCondition5 = macdLine > signalLine and histLine > 0
buyCondition6 = price < ema20 and (price - ema20) / ema20 <= -0.14 // bağımsız al değiken 1
buyCondition7 = price < lowerBB // bağımsız al değiken 2- Bollinger bandının alt sınırına dokunduysa, alım sinyali

// Satım sinyali koşullarını belirle
sellCondition1 = price < ema200 and (price - ema200) / ema200 >= -0.03 or price == ema200
sellCondition2 = price < price[1] 
sellCondition3 = vol > vol[1] and vol[1] > vol[2]
sellCondition4 = rsi < 65 and rsi < rsi[1] 
sellCondition5 = macdLine < signalLine and histLine < 0
sellCondition6 = price > ema20 and (price - ema20) / ema20 >= 0.19 // bağımsız sat değiken 1
sellCondition7 = price > upperBB // bağımsız sat değiken 2- Bollinger bandının üst sınırına dokunduysa, satım sinyali

// Alım ve satım sinyallerini oluştur
buySignal = (buyCondition1 and buyCondition2 and buyCondition3 and buyCondition4 and buyCondition5) or buyCondition6 or buyCondition7
sellSignal = (sellCondition1 and sellCondition2 and sellCondition3 and sellCondition4 and sellCondition5) or sellCondition6 or sellCondition7

// Alım ve satım sinyallerini stratejiye ekle
if (buySignal)
    strategy.entry("long", strategy.long, comment = "Buy")
if (sellSignal)
    strategy.close("long", comment = "Sell")
// Alım ve satım sinyallerini grafik üzerinde göster
plotshape(buySignal, style=shape.triangleup, location=location.belowbar, color=color.new(color.green, 0), size=size.small)
plotshape(sellSignal, style=shape.triangledown, location=location.abovebar, color=color.new(color.red, 0), size=size.small)

더 많은