골든 채널 역전 전략


생성 날짜: 2023-12-07 15:15:26 마지막으로 수정됨: 2023-12-07 15:15:26
복사: 0 클릭수: 653
avatar of ChaoZhang ChaoZhang
1
집중하다
1619
수행원

골든 채널 역전 전략

개요

골드 채널 역전 전략은 금의 분기선과 상대적으로 약한 지표 (RSI) 를 기반으로 한 양적 거래 전략이다. 이 전략은 골드 채널 이론과 과매매 과매매 지표를 결합하여 큰 주기적 추세에서 역전 작업을 수행하여 단기간에 수익을 기대한다.

전략 원칙

이 전략은 먼저 금의 두 가지 중요한 가격 영역인 0.618 배의 고점과 0.618 배의 낮은 곳을 계산합니다. 가격이 이 두 가지 영역에 접근하면 가격이 반전 될 수 있다고 생각합니다.

또한, 전략은 RSI 지표를 계산하여 과매매 상태를 판단합니다. RSI가 30보다 낮으면 과매매 상태이며 70보다 높으면 과매매 상태입니다. 이 두 가지 상태는 가격이 반전 될 수 있음을 의미합니다.

이 두 가지 조건을 합쳐서, 전략은 구매 조건을 다음과 같이 결정합니다: 종결 가격에서 0.618배 낮은 지점을 통과하고 RSI 지표는 30보다 낮습니다. 판매 조건은 종결 가격에서 0.618배 높은 지점을 통과하고 RSI 지표는 70보다 높습니다.

구매 신호가 발동되면, 전략은 그 지점의 시장 가격에 입장을 열고 더 많이 한다. 판매 신호가 발동되면, 전략은 그 지점의 시장 가격에 입장을 열고 공백한다. 또한, 전략은 가격이 우측 방향으로 움직일 때 일정 비율로 멈추고, 가격이 불리한 방향으로 움직일 때 일정 비율로 멈추는 것을 설정한다.

전략적 강점 분석

이 전략은 추세와 역동 요소를 결합하여 대주기 추세를 고려하면서도 단주기 역동을 활용하여 이익을 얻습니다. 다음과 같은 장점이 있습니다:

  1. 금분열선은 자연적인 지지 저항 성질을 가지고 있으며, 중요한 가격 영역을 판단하는 효과적인 도구이다.
  2. RSI 지표는 오버 바이 오버 셀 상태를 판단하고, 가능한 반전점을 알려줍니다.
  3. 은 신호를 더 많이 켜고, 은 신호를 더 많이 켜고,
  4. 스탠드 로즈 전략을 세우고, 통제 가능한 위험을 니다.

전략적 위험 분석

이 전략에는 몇 가지 위험도 있습니다.

  1. 대주기가 반전되지 않으면, 짧은주기 반발은 손실을 초래할 위험이 있다. 확대주기를 판단하여 대주기 경향을 피할 수 있다.
  2. 반전이 일어나지 않을 때, 정지 손실이 발생하여 손실이 발생할 수 있습니다. 정지 손실 범위를 적절히 완화 할 수 있습니다.
  3. 하지만, 이 변화는 시간이 오래 걸릴 수 있고, 충분한 재정적 지원이 필요합니다.

전략 최적화 방향

이 전략은 다음과 같은 부분에서 최적화될 수 있습니다.

  1. 더 많은 역사적 데이터를 수집하고, 골드 분기선 범위, RSI의 초과 구매 초과 판매 라인과 같은 핵심 매개 변수를 테스트하고 최적화하여 실제 시장에 더 적합하게 만듭니다.

  2. 다른 지표 판단을 추가하여 더 강력한 거래 신호를 형성한다. K선 형태, 거래량 변화 등이다.

  3. 다른 거래 품종의 특성에 따라 매개 변수 또는 최적화 규칙을 조정하십시오.

  4. 자동으로 중지하는 전략을 추가하여 실시간 가격 변화를 추적하여 중지 위치를 결정합니다.

요약하다

골드 채널 역전 전략은 트렌드 요소와 역전 요소를 결합하여 단선 수익을 이용하면서 위험을 제어하는 것이 권장되는 양적 전략이다. 최적화하면 더 나은 수익을 얻을 수 있다.

전략 소스 코드
/*backtest
start: 2023-11-06 00:00:00
end: 2023-12-06 00:00:00
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("FBS Trade", overlay=true)

// Fibonacci seviyeleri
fibonacciLevels = input(0.618, title="Fibonacci Düzeltme Seviyesi")

// RSI ayarları
rsiLength = input(14, title="RSI Periyodu")
overboughtLevel = input(70, title="RSI Satış Sinyali Seviyesi")
oversoldLevel = input(30, title="RSI Alış Sinyali Seviyesi")

// Take Profit ve Stop Loss yüzdesi
takeProfitPercent = input(1, title="Take Profit Yüzdesi") / 100
stopLossPercent = input(1, title="Stop Loss Yüzdesi") / 100

// Fibonacci seviyelerini hesapla
highFibo = high * (1 + fibonacciLevels)
lowFibo = low * (1 - fibonacciLevels)

// RSI hesaplama
rsiValue = ta.rsi(close, rsiLength)

// Alış ve satış koşulları
buyCondition = close > lowFibo and rsiValue < 30
sellCondition = close < highFibo and rsiValue > overboughtLevel

// Take Profit ve Stop Loss seviyeleri
takeProfitLong = strategy.position_avg_price * (1 + takeProfitPercent)
stopLossLong = strategy.position_avg_price * (1 - stopLossPercent)

takeProfitShort = strategy.position_avg_price * (1 - takeProfitPercent)
stopLossShort = strategy.position_avg_price * (1 + stopLossPercent)

// Alış ve satış işlemleri
if (buyCondition)
    strategy.entry("Buy", strategy.long)
if (sellCondition)
    strategy.entry("Sell", strategy.short)

// Take Profit ve Stop Loss seviyeleri
if (strategy.position_size > 0)
    strategy.exit("Take Profit/Close Buy", from_entry="Buy", limit=takeProfitLong, stop=stopLossLong)
if (strategy.position_size < 0)
    strategy.exit("Take Profit/Close Sell", from_entry="Sell", limit=takeProfitShort, stop=stopLossShort)

// Sadece mumları ve buy/sell işlemlerini göster
plot(close, color=color.black, title="Close")

// Destek ve direnç bölgeleri
supportLevel = input(27, title="Fibonacci Destek Seviyesi")
resistanceLevel = input(200, title="Direnç Seviyesi")

hline(supportLevel, "Fibonacci Destek Seviyesi", color=color.green)
hline(resistanceLevel, "Direnç Seviyesi", color=color.red)

// Trend çizgileri
var line trendLine = na
if (ta.crossover(close, highFibo))
    trendLine := line.new(bar_index[1], highFibo[1], bar_index, highFibo, color=color.green, width=2)
if (ta.crossunder(close, lowFibo))
    trendLine := line.new(bar_index[1], lowFibo[1], bar_index, lowFibo, color=color.red, width=2)

// RSI ve Fibo'yu grafiğe çizme
hline(overboughtLevel, "RSI Satış Sinyali", color=color.red, linestyle=hline.style_dashed)
hline(oversoldLevel, "RSI Alış Sinyali", color=color.green, linestyle=hline.style_dashed)
plot(rsiValue, color=color.purple, title="RSI")

// 15 dakikalıkta 3 mumda bir alarm
is15MinBar = ta.change(time('15'), 1)
if (is15MinBar % 3 == 0)
    alert("15 dakikalıkta 3 mum geçti.")