
Ini adalah strategi perdagangan automatik berdasarkan pengenalan corak harga grafik. Strategi ini membuat keputusan perdagangan dengan mengenal pasti corak harga double bottom dan double top di pasaran, memantau pergerakan harga dengan menetapkan tempoh masa tertentu, dan secara automatik melaksanakan arahan perdagangan apabila corak yang memenuhi syarat muncul.
Logik teras strategi ini adalah untuk mengenal pasti bentuk dua bawah dan dua atas di pasaran melalui kaedah analisis teknikal. Pelaksanaan khusus merangkumi beberapa langkah penting berikut:
Ini adalah strategi perdagangan automatik yang direka untuk tujuan yang masuk akal dan praktikal. Dengan mengenal pasti bentuk dua-bottom dan dua-top di pasaran dengan tepat, digabungkan dengan tetapan parameter yang fleksibel dan mekanisme kawalan angin yang baik, ia dapat menangkap peluang pembalikan pasaran dalam jangka pendek. Walaupun terdapat risiko tertentu, dengan pengoptimuman dan penyempurnaan berterusan, strategi ini dijangka menjadi alat perdagangan yang boleh dipercayai.
/*backtest
start: 2024-12-04 00:00:00
end: 2024-12-11 00:00:00
period: 3m
basePeriod: 3m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Double Bottom and Top Hunter", overlay=true)
// Parametreler
length = input.int(100, title="Dönem Uzunluğu", defval=100)
lookback = input.int(100, title="Geriye Dönük Kontrol Süresi", defval=100)
// İkili Dip ve Tepe Bulma
low1 = ta.lowest(low, length)
high1 = ta.highest(high, length)
low2 = ta.valuewhen(low == low1, low, 1)
high2 = ta.valuewhen(high == high1, high, 1)
doubleBottom = (low == low1 and ta.lowest(low, lookback) == low1 and low == low2)
doubleTop = (high == high1 and ta.highest(high, lookback) == high1 and high == high2)
// İşlem Açma Koşulları
longCondition = doubleBottom
shortCondition = doubleTop
// İşlem Kapatma Koşulları
closeLongCondition = ta.highest(high, length) > high1 and low < low1
closeShortCondition = ta.lowest(low, length) < low1 and high > high1
// İşlem Açma
if (longCondition)
strategy.entry("Long", strategy.long, qty=1)
if (shortCondition)
strategy.entry("Short", strategy.short, qty=1)
// İşlem Kapatma
if (closeLongCondition)
strategy.close("Long")
if (closeShortCondition)
strategy.close("Short")
// Grafik Üzerinde Göstergeler ve ZigZag Çizimi
plotshape(series=longCondition, title="İkili Dip Bulundu", location=location.belowbar, color=color.green, style=shape.labelup, text="LONG")
plotshape(series=shortCondition, title="İkili Tepe Bulundu", location=location.abovebar, color=color.red, style=shape.labeldown, text="SHORT")
// var line zigzagLine = na
// if (doubleBottom or doubleTop)
// zigzagLine := line.new(x1=bar_index[1], y1=na, x2=bar_index, y2=doubleBottom ? low : high, color=doubleBottom ? color.green : color.red, width=2)
// Zigzag çizgisini sürekli güncelleme
// line.set_xy1(zigzagLine, bar_index[1], na)
// line.set_xy2(zigzagLine, bar_index, doubleBottom ? low : high)