Sumber dimuat naik... memuat...

Delta Volume dengan Tahap Fibonacci Strategi Dagangan

Penulis:ChaoZhang, Tarikh: 2024-05-15 10:45:58
Tag:

img

Ringkasan

Strategi ini adalah strategi perdagangan berdasarkan Delta Volume dan Fibonacci Retracement. Ia menentukan trend pasaran dengan membandingkan jumlah pembeli dan penjual dalam tempoh masa, sambil menggunakan garis retracement Fibonacci untuk menentukan titik masuk dan keluar. Apabila jumlah pembeli melebihi jumlah penjual dan harga memecahkan garis retracement Fibonacci 61.8%, ia memasuki kedudukan yang panjang; apabila jumlah penjual melebihi jumlah pembeli dan harga jatuh di bawah garis retracement Fibonacci 38.2%, ia menutup kedudukan.

Prinsip Strategi

  1. Mengira jumlah pembeli dan jumlah penjual untuk tempoh yang ditentukan dan menyimpannya dalam array.
  2. Mengira Volume Delta, yang merupakan jumlah pembeli dikurangkan jumlah penjual.
  3. Mengira harga tertinggi dan terendah untuk tempoh yang ditentukan, dan mengira garis retracement Fibonacci 38.2% dan 61.8% berdasarkan mereka.
  4. Apabila Volume Delta lebih besar daripada 0 (volume pembeli lebih besar daripada volume penjual) dan harga penutupan lebih tinggi daripada garisan retracement Fibonacci 61.8%, buka kedudukan panjang.
  5. Apabila Volume Delta kurang daripada 0 (volume penjual lebih besar daripada volume pembeli) dan harga penutupan lebih rendah daripada garisan retracement Fibonacci 38.2%, tutup kedudukan.

Kelebihan Strategi

  1. Dengan menggabungkan dimensi jumlah dan harga, ia boleh menilai trend pasaran dengan lebih komprehensif.
  2. Menggunakan garis retracement Fibonacci sebagai titik masuk dan keluar mempunyai sokongan teknikal yang jelas.
  3. Penunjuk Delta Volume boleh mencerminkan hubungan bekalan dan permintaan di pasaran, yang merupakan penunjuk utama.
  4. Parameter boleh diselaraskan dan boleh digunakan untuk pasaran dan jenis perdagangan yang berbeza.

Risiko Strategi

  1. Dalam pasaran yang berayun, kemasukan dan keluar yang kerap boleh membawa kepada kos transaksi yang lebih tinggi.
  2. Jika pasaran turun naik secara drastik, harga boleh dengan cepat menembusi garisan retracement Fibonacci, menyebabkan kehilangan titik masuk dan keluar yang terbaik.
  3. Strategi ini bergantung kepada data sejarah untuk pengiraan. untuk jenis perdagangan baru disenaraikan atau keadaan data yang hilang, ia boleh mempengaruhi keberkesanan strategi.

Arah Pengoptimuman Strategi

  1. Pertimbangkan untuk memperkenalkan penunjuk teknikal lain, seperti purata bergerak, RSI, dan lain-lain, untuk mengesahkan trend dan titik masuk/keluar.
  2. Untuk pasaran dan jenis perdagangan yang berbeza, optimumkan tempoh pengiraan dan parameter Delta Volume dan Fibonacci Retracement.
  3. Selepas memasuki kedudukan, tetapkan stop loss atau mengambil keuntungan untuk mengawal risiko dan mengunci keuntungan.
  4. Gabungkan dengan penunjuk sentimen pasaran, seperti Indeks Takut & Rakus, untuk menyesuaikan strategi secara dinamik.

Ringkasan

Dengan menggabungkan garis Delta Volume dan Fibonacci Retracement, strategi ini memasuki apabila trend terbentuk dan keluar apabila trend mungkin berbalik, untuk menangkap trend utama pasaran. Walau bagaimanapun, ia mungkin menghadapi risiko perdagangan yang kerap di pasaran yang berayun, jadi ia perlu dioptimumkan dengan penunjuk lain dan langkah kawalan risiko. Secara keseluruhan, strategi ini jelas dalam pemikiran, secara logik ketat, dan boleh digunakan sebagai strategi asas untuk pembangunan dan aplikasi selanjutnya.


/*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")


Lebih lanjut