Strategi perdagangan berdasarkan Fibonacci retracement dan kenaikan volume


Tanggal Pembuatan: 2024-05-15 10:45:58 Akhirnya memodifikasi: 2024-05-15 10:45:58
menyalin: 0 Jumlah klik: 694
1
fokus pada
1617
Pengikut

Strategi perdagangan berdasarkan Fibonacci retracement dan kenaikan volume

Ringkasan

Strategi ini adalah strategi perdagangan yang didasarkan pada peningkatan volume transaksi (Delta Volume) dan retracement Fibonacci (Fibonacci Retracement). Strategi ini menilai tren pasar dengan membandingkan volume transaksi pembeli dan penjual dalam jangka waktu tertentu, sambil menggunakan garis retracement Fibonacci untuk menentukan titik masuk dan keluar.

Prinsip Strategi

  1. Menghitung volume transaksi pembeli dan volume transaksi penjual dalam periode tertentu dan disimpan dalam array.
  2. Hitung volume transaksi delta, yaitu volume transaksi pembeli dikurangi volume transaksi penjual.
  3. Hitung harga tertinggi dan terendah dalam periode yang ditentukan, dan berdasarkan pada mereka menghitung Fibonacci retracement line 38.2% dan 61.8%.
  4. Ketika volume transaksi meningkat lebih dari 0 (yang berarti volume transaksi pembeli lebih besar dari volume transaksi penjual), dan harga penutupan lebih tinggi dari 61.8% dari Fibonacci retracement line, posisi dibuka lebih banyak.
  5. Bila volume transaksi meningkat kurang dari 0 (yang berarti volume transaksi penjual lebih besar dari volume transaksi pembeli), dan harga penutupan ditutup di bawah 38.2% dari Fibonacci retracement line, posisi kosong.

Keunggulan Strategis

  1. Menggabungkan dua dimensi, volume dan harga, dapat menilai tren pasar secara lebih komprehensif.
  2. Fibonacci retracement line digunakan sebagai titik masuk dan keluar, dengan dukungan teknis yang jelas.
  3. Indikator peningkatan volume transaksi dapat mencerminkan hubungan penawaran dan permintaan pasar, merupakan indikator utama.
  4. Parameter dapat disesuaikan untuk pasar dan varietas perdagangan yang berbeda.

Risiko Strategis

  1. Di pasar yang bergejolak, sering masuk dan keluar dapat menyebabkan biaya transaksi yang lebih tinggi.
  2. Jika terjadi fluktuasi besar di pasar, harga dapat dengan cepat menembus Fibonacci retracement line, yang menyebabkan kehilangan titik masuk dan keluar terbaik.
  3. Strategi ini mengandalkan data historis untuk perhitungan, yang dapat mempengaruhi efektivitas strategi untuk varietas perdagangan baru yang diluncurkan atau jika data hilang.

Arah optimasi strategi

  1. Anda dapat mempertimbangkan untuk memasukkan indikator teknis lainnya seperti Moving Average, RSI, dan lain-lain untuk mengkonfirmasi tren dan titik masuk dan keluar.
  2. Untuk berbagai pasar dan varietas perdagangan, dapat dioptimalkan siklus dan parameter perhitungan volume transaksi dan Fibonacci retracement.
  3. Setelah masuk, Anda dapat mengatur stop loss atau stop stop untuk mengontrol risiko dan mengunci keuntungan.
  4. Strategi dapat disesuaikan secara dinamis dengan indikator sentimen pasar, seperti Indeks Fear & Greed.

Meringkaskan

Strategi ini menangkap tren utama pasar dengan menggabungkan kenaikan volume dan Fibonacci retracement line, masuk pada awal pembentukan tren, dan keluar saat tren mungkin berbalik. Namun, risiko perdagangan yang sering terjadi di pasar yang bergolak mungkin diperlukan untuk dioptimalkan dalam kombinasi dengan indikator dan alat pengendalian risiko lainnya. Secara keseluruhan, strategi ini memiliki pemikiran yang jelas, logika yang ketat, dan dapat dikembangkan dan diterapkan lebih lanjut sebagai strategi dasar.

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