
এটি একটি অটোমেটেড ট্রেডিং কৌশল যা চার্ট প্রাইস প্যাটার্ন সনাক্তকরণের উপর ভিত্তি করে। এই কৌশলটি মূলত বাজারে ডাবল বেস এবং ডাবল টপ প্যাটার্নগুলি সনাক্ত করে ট্রেডিং সিদ্ধান্ত গ্রহণ করে, নির্দিষ্ট সময়ের সময়কাল নির্ধারণ করে দামের গতিবিধি পর্যবেক্ষণ করে এবং যখন উপযুক্ত প্যাটার্ন উপস্থিত হয় তখন স্বয়ংক্রিয়ভাবে ট্রেডিং নির্দেশাবলী কার্যকর করে। এই কৌশলটি এই মূল মূল্যের প্যাটার্নগুলিকে ভিজ্যুয়ালাইজ করার জন্য জিগজ্যাগ সূচক ব্যবহার করে, যা ব্যবসায়ীদের বাজারের গতিবিধিটি সহজেই বুঝতে সহায়তা করে।
কৌশলটির কেন্দ্রীয় যুক্তি হল প্রযুক্তিগত বিশ্লেষণ পদ্ধতির মাধ্যমে বাজারে ডাবল-ডাবল এবং ডাবল-টপ রূপগুলি সনাক্ত করা। বাস্তবায়নের জন্য নিম্নলিখিত কয়েকটি মূল পদক্ষেপ রয়েছেঃ
এটি একটি স্বয়ংক্রিয় ট্রেডিং কৌশল যা যুক্তিসঙ্গত এবং ব্যবহারিকভাবে ডিজাইন করা হয়েছে। বাজারে ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ডাবল-ড
/*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)