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

피보나치 레벨과 함께 델타 볼륨 거래 전략

저자:차오장, 날짜: 2024-05-15 10:45:58
태그:

img

전반적인 설명

이 전략은 델타 볼륨과 피보나치 리트레이싱을 기반으로 한 거래 전략이다. 입점과 출점을 결정하기 위해 피보나치 리트레이싱 라인을 사용하여 기간 동안 구매자와 판매자의 볼륨을 비교하여 시장 트렌드를 결정한다. 구매자의 볼륨이 판매자의 볼륨을 초과하고 가격이 61.8% 피보나치 리트레이싱 라인을 넘어서면 긴 포지션에 진입한다. 판매자의 볼륨이 구매자의 볼륨을 초과하고 가격이 38.2% 피보나치 리트레이싱 라인 아래에 떨어지면 포지션을 닫는다.

전략 원칙

  1. 지정된 기간 동안 구매자와 판매자의 양을 계산하고 배열에 저장합니다.
  2. 델타 부피를 계산해 보세요. 구매자의 부피가 판매자의 부피를 빼면 됩니다.
  3. 지정된 기간 동안 가장 높고 가장 낮은 가격을 계산하고 이를 기반으로 38.2%와 61.8%의 피보나치 리트랙 라인을 계산합니다.
  4. 델타 볼륨이 0보다 크면 (구매자의 볼륨이 판매자의 볼륨보다 크다) 그리고 폐쇄 가격은 61.8% 피보나치 리트레이싱 라인을 초과하면 긴 포지션을 개척합니다.
  5. 델타 볼륨이 0보다 작을 때 (판매자의 볼륨은 구매자의 볼륨보다 크다) 그리고 폐쇄 가격은 38.2% 피보나치 리트레이싱 라인보다 낮으면 포지션을 닫습니다.

전략적 장점

  1. 부피와 가격 차원을 결합함으로써 시장 동향을 보다 포괄적으로 판단 할 수 있습니다.
  2. 피보나치 리트레이싱 라인을 출입점과 출입점으로 사용하는 것은 명확한 기술적인 지원이 있습니다.
  3. 델타 부피 지표는 시장의 수요와 공급 관계를 반영할 수 있습니다. 이것은 선도적 인 지표입니다.
  4. 매개 변수들은 조절이 가능하고 다른 시장과 거래 종류에 적용됩니다.

전략 위험

  1. 변동적인 시장에서, 빈번한 진입과 출입은 더 높은 거래 비용을 초래할 수 있습니다.
  2. 시장이 급격히 변동되면, 가격은 빠르게 피보나치 리트레이션 라인을 통과하여 가장 좋은 입점과 출구 지점을 놓치게 될 수 있습니다.
  3. 이 전략은 계산을 위해 역사적인 데이터에 의존합니다. 새로 상장 된 거래 품종 또는 데이터가 부족한 상황에서는 전략의 효과에 영향을 줄 수 있습니다.

전략 최적화 방향

  1. 추세와 입출점 등을 확인하기 위해 이동 평균, RSI 등과 같은 다른 기술적 지표를 도입하는 것을 고려하십시오.
  2. 다른 시장과 거래 종류에 대해 델타 볼륨과 피보나치 리트레이싱의 계산 기간과 매개 변수를 최적화하십시오.
  3. 포지션에 진입한 후, 리스크를 통제하고 수익을 확보하기 위해 후속 스톱 로스를 설정하거나 수익을 취하십시오.
  4. 공포와 탐욕 지수와 같은 시장 감정 지표와 결합하여 전략을 동적으로 조정합니다.

요약

델타 볼륨과 피보나치 리트레이스먼트 라인을 결합함으로써 이 전략은 트렌드가 형성되고 트렌드가 역전될 수 있을 때 진입하고 시장의 주요 트렌드를 포착하기 위해 종료된다. 그러나, 오스실레이션 시장에서 빈번한 거래의 위험에 직면할 수 있으므로 다른 지표와 위험 통제 조치로 최적화되어야 한다. 전반적으로, 이 전략은 명확하고 논리적으로 엄격하며, 추가 개발과 적용을 위한 기본 전략으로 사용될 수 있다.


/*backtest
start: 2023-05-09 00:00:00
end: 2024-05-14 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=5
strategy("Delta Volume with Fibonacci Levels Strategy", overlay=true)

// Input pour la période de calcul du volume et du delta
N = input(14, title="Période du Delta Volume")
fibLength = input(21, title="Fibonacci Lookback Period")

// Choix de la barre pour l'entrée et la sortie des trades
entryPriceType = input.string("close", title="Entry Price Type", options=["open", "close"])
exitPriceType = input.string("close", title="Exit Price Type", options=["open", "close"])

// Correction des dates de début et de fin pour le backtest
startDate = input(defval = timestamp("2021-01-01"), title = "Start Date")
endDate = input(defval = timestamp("2022-01-01"), title = "End Date")

// Calcul des volumes des acheteurs et des vendeurs
buyerVolume = array.new_float()
sellerVolume = array.new_float()

// Mise à jour des volumes à chaque bougie
buyVol = close > open ? volume : 0
sellVol = close < open ? volume : 0
array.unshift(buyerVolume, buyVol)
array.unshift(sellerVolume, sellVol)

// Gardez seulement les N dernières valeurs pour le delta volume
if array.size(buyerVolume) > N
    array.pop(buyerVolume)
if array.size(sellerVolume) > N
    array.pop(sellerVolume)

// Calcul du delta de volume
sumBuyerVolume = array.sum(buyerVolume)
sumSellerVolume = array.sum(sellerVolume)
deltaVolume = sumBuyerVolume - sumSellerVolume

// Calcul du plus haut et du plus bas pour Fibonacci
highestPrice = ta.highest(high, fibLength)
lowestPrice = ta.lowest(low, fibLength)

// Fibonacci Levels
fib382 = lowestPrice + (highestPrice - lowestPrice) * 0.5
fib618 = lowestPrice + (highestPrice - lowestPrice) * 0.786


// Vérification des dates pour le backtest
bool isInDateRange = true

// Conditions d'entrée et de sortie
entryPrice = entryPriceType == "open" ? open : close
exitPrice = exitPriceType == "open" ? open : close

// Acheter quand le volume des acheteurs dépasse celui des vendeurs, le prix est au-dessus du niveau 61.8% de Fibonacci
if isInDateRange and deltaVolume > 0 and entryPrice > fib618
    strategy.entry("Buy", strategy.long)

// Vendre quand le volume des vendeurs dépasse celui des acheteurs, le prix est en dessous du niveau 38.2% de Fibonacci
if isInDateRange and deltaVolume < 0 and exitPrice < fib382
    strategy.close("Buy")

// Affichage des niveaux de Fibonacci et du delta de volume
plot(fib382, color=color.red, title="Fibonacci 38.2%")
plot(fib618, color=color.green, title="Fibonacci 61.8%")
plot(deltaVolume, color=deltaVolume > 0 ? color.green : color.red, title="Delta Volume")


더 많은