Chiến lược giao dịch dựa trên Fibonacci thoái lui và gia tăng khối lượng


Ngày tạo: 2024-05-15 10:45:58 sửa đổi lần cuối: 2024-05-15 10:45:58
sao chép: 0 Số nhấp chuột: 694
1
tập trung vào
1617
Người theo dõi

Chiến lược giao dịch dựa trên Fibonacci thoái lui và gia tăng khối lượng

Tổng quan

Chiến lược này là một chiến lược giao dịch dựa trên khối lượng giao dịch tăng ((Delta Volume) và Fibonacci Retracement (Fibonacci Retracement). Nó đánh giá xu hướng thị trường bằng cách so sánh khối lượng giao dịch của người mua và người bán trong một khoảng thời gian, đồng thời sử dụng đường Fibonacci để xác định điểm vào.

Nguyên tắc chiến lược

  1. Tính số lượng giao dịch của người mua và người bán trong một chu kỳ nhất định và lưu trữ trong mảng.
  2. Tính toán khối lượng giao dịch tăng ((Delta Volume), tức là khối lượng giao dịch của người mua trừ khối lượng giao dịch của người bán.
  3. Tính giá cao nhất và giá thấp nhất trong chu kỳ được chỉ định và dựa trên đó tính toán đường Fibonacci của 38.2% và 61.8%
  4. Khi khối lượng giao dịch tăng lớn hơn 0 (khách mua giao dịch lớn hơn người bán giao dịch) và giá đóng cửa cao hơn đường điều chỉnh Fibonacci 61.8%, hãy mở nhiều vị trí.
  5. Khi khối lượng giao dịch tăng ít hơn 0 (các giao dịch của người bán lớn hơn khối lượng giao dịch của người mua) và giá đóng cửa thấp hơn đường điều chỉnh Fibonacci 38,2%, vị thế bằng phẳng.

Lợi thế chiến lược

  1. Kết hợp hai chiều giao dịch và giá, bạn có thể đánh giá xu hướng thị trường một cách toàn diện hơn.
  2. Dòng quay trở lại Fibonacci được sử dụng như một điểm ra vào và có sự hỗ trợ kỹ thuật rõ ràng.
  3. Chỉ số tăng giao dịch có thể phản ánh mối quan hệ cung cầu của thị trường và là một chỉ số hàng đầu.
  4. Các tham số có thể điều chỉnh, áp dụng cho các thị trường khác nhau và các loại giao dịch.

Rủi ro chiến lược

  1. Trong một thị trường bất ổn, việc giao dịch thường xuyên có thể dẫn đến chi phí giao dịch cao hơn.
  2. Nếu thị trường biến động mạnh, giá có thể vượt qua đường Fibonacci một cách nhanh chóng, dẫn đến việc bỏ lỡ điểm đầu vào và đầu ra tốt nhất.
  3. Chiến lược này dựa vào dữ liệu lịch sử để tính toán, có thể ảnh hưởng đến hiệu quả của chiến lược đối với các loại giao dịch mới được đưa ra thị trường hoặc dữ liệu bị thiếu.

Hướng tối ưu hóa chiến lược

  1. Các chỉ số kỹ thuật khác như đường trung bình di chuyển, RSI, v.v. có thể được xem xét để xác nhận xu hướng và điểm ra vào.
  2. Lần tính toán và tham số của Fibonacci retracement có thể được tối ưu hóa cho khối lượng giao dịch tăng và Fibonacci retracement cho các thị trường và loại giao dịch khác nhau.
  3. Sau khi tham gia, có thể thiết lập dừng chân hoặc dừng chân di động để kiểm soát rủi ro và khóa lợi nhuận.
  4. Có thể kết hợp các chỉ số cảm xúc của thị trường, chẳng hạn như Chỉ số sợ hãi và tham lam, để điều chỉnh chiến lược một cách động.

Tóm tắt

Chiến lược này, kết hợp khối lượng giao dịch và đường điều chỉnh Fibonacci, đi vào khi xu hướng hình thành và đi ra khi xu hướng có thể đảo ngược, để nắm bắt xu hướng chính của thị trường. Tuy nhiên, có thể có nguy cơ giao dịch thường xuyên trong thị trường bất ổn, do đó cần tối ưu hóa kết hợp với các chỉ số và phương tiện kiểm soát rủi ro khác.

Mã nguồn chiến lược
/*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")