
Strategi ini adalah sistem perdagangan canggih yang menggabungkan beberapa alat analisis teknis untuk menghasilkan sinyal perdagangan berdasarkan pada tingkat Fibonacci retracement pada frame waktu yang tinggi dan kondisi harga yang tinggi dan rendah. Strategi ini secara dinamis menghitung data harga pada frame waktu yang lebih tinggi, menggabungkan tingkat Fibonacci retracement dan kondisi harga yang disesuaikan untuk membentuk sistem keputusan perdagangan yang lengkap.
Logika inti dari strategi ini dibangun di atas tiga pilar utama: analisis harga pada jangka waktu yang lebih tinggi, pembentukan perspektif pasar yang lebih besar dengan menghitung harga pembukaan dan penghentian pada periode waktu yang lebih tinggi, seperti garis waktu. Kemudian, perhitungan dinamis dari tingkat Fibonacci retracement, menetapkan titik resistensi pendukung utama berdasarkan kisaran harga pada jangka waktu yang tinggi.
Ini adalah sistem perdagangan yang dirancang dengan baik, dengan menggabungkan beberapa alat analisis teknis klasik, untuk menciptakan strategi perdagangan yang praktis dan memiliki dasar teoritis. Karakteristik terbesar dari strategi ini adalah kemampuan untuk memberikan sinyal perdagangan yang lebih andal melalui analisis multi-dimensi, sambil tetap memiliki fleksibilitas yang cukup untuk beradaptasi dengan lingkungan pasar yang berbeda.
/*backtest
start: 2019-12-23 08:00:00
end: 2024-11-27 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Fibonacci Levels Strategy with High/Low Criteria", overlay = true)
// Kullanıcıdan yüksek zaman dilimini ve mum bilgilerini al
timeframe = input.timeframe(defval = "D", title = "Higher Time Frame")
currentlast = input.string(defval = "Last", title = "Current or Last HTF Candle", options = ["Current", "Last"])
// Kullanıcıdan en düşük ve en yüksek fiyat bakış sürelerini al
lowestLookback = input(20, "Lowest Price Lookback", tooltip="The strategy will BUY when the price crosses over the lowest it has been in the last X amount of bars")
highestLookback = input(10, "Highest Price Lookback", tooltip="If Take-Profit is not checked, the strategy will SELL when the price crosses under the highest it has been in the last X amount of bars")
// Fibonacci seviyeleri ayarları
level0 = input.float(defval = 0.000, title = "Level 0")
level1 = input.float(defval = 0.236, title = "Level 1")
level2 = input.float(defval = 0.382, title = "Level 2")
level3 = input.float(defval = 0.500, title = "Level 3")
level4 = input.float(defval = 0.618, title = "Level 4")
level5 = input.float(defval = 0.786, title = "Level 5")
level100 = input.float(defval = 1.000, title = "Level 100")
// HTF mumlarını hesapla
newbar = ta.change(time(timeframe)) != 0
var float htfhigh = high
var float htflow = low
var float htfopen = open
float htfclose = close
var counter = 0
if newbar
htfhigh := high
htflow := low
htfopen := open
counter := 0
else
htfhigh := math.max(htfhigh, high)
htflow := math.min(htflow, low)
counter += 1
var float open_ = na
var float high_ = na
var float low_ = na
var float close_ = na
if currentlast == "Last" and newbar
open_ := htfopen[1]
high_ := htfhigh[1]
low_ := htflow[1]
close_ := htfclose[1]
else if currentlast == "Current"
open_ := htfopen
high_ := htfhigh
low_ := htflow
close_ := htfclose
// Fibonacci seviyelerini hesapla
var float[] fibLevels = array.new_float(6)
array.set(fibLevels, 0, open_ + (high_ - low_) * level0)
array.set(fibLevels, 1, open_ + (high_ - low_) * level1)
array.set(fibLevels, 2, open_ + (high_ - low_) * level2)
array.set(fibLevels, 3, open_ + (high_ - low_) * level3)
array.set(fibLevels, 4, open_ + (high_ - low_) * level4)
array.set(fibLevels, 5, open_ + (high_ - low_) * level5)
// Fibonacci seviyelerini grafik üzerine çiz
plot(array.get(fibLevels, 0), color=color.new(color.blue, 75), title="Fibonacci Level 0")
plot(array.get(fibLevels, 1), color=color.new(color.green, 75), title="Fibonacci Level 1")
plot(array.get(fibLevels, 2), color=color.new(color.red, 75), title="Fibonacci Level 2")
plot(array.get(fibLevels, 3), color=color.new(color.orange, 75), title="Fibonacci Level 3")
plot(array.get(fibLevels, 4), color=color.new(color.teal, 75), title="Fibonacci Level 4")
plot(array.get(fibLevels, 5), color=color.new(color.navy, 75), title="Fibonacci Level 5")
// En düşük ve en yüksek fiyat kriterlerini hesapla
lowcriteria = ta.lowest(low, lowestLookback)[1]
highcriteria = ta.highest(high, highestLookback)[1]
plot(highcriteria, color=color.green, title="Highest Price Criteria")
plot(lowcriteria, color=color.red, title="Lowest Price Criteria")
// Fibonacci seviyeleri ile ticaret sinyalleri oluştur
longCondition = close > lowcriteria and close > array.get(fibLevels, 3) // En düşük kriterin ve Fibonacci seviyesinin üstüne çıkarsa alım
shortCondition = close < highcriteria and close < array.get(fibLevels, 3) // En yüksek kriterin ve Fibonacci seviyesinin altına düşerse satış
if (longCondition)
strategy.entry("Long", strategy.long)
if (shortCondition)
strategy.entry("Short", strategy.short)