
এই কৌশলটির মূল ধারণাটি হ’ল তিন মিনিটের কে লাইনের উচ্চ-নিম্ন পয়েন্টকে ব্রেকিং পয়েন্ট হিসাবে ব্যবহার করা, যখন দাম তিন মিনিটের কে লাইনের উচ্চ পয়েন্টটি অতিক্রম করে তখন অতিরিক্ত করে এবং নিম্ন পয়েন্টটি অতিক্রম করে তখন শূন্য করে। এই কৌশলটি দিনের ব্যবসায়ের জন্য উপযুক্ত, প্রতিদিন বন্ধ হওয়ার পরে পজিশনটি প্লেইন করে, পরের দিন ট্রেডিং চালিয়ে যায়। এই কৌশলটির সুবিধাটি সহজেই বোঝা যায়, সহজেই বাস্তবায়ন করা যায় এবং ঝুঁকিও তুলনামূলকভাবে কম। তবে এই কৌশলটির কিছু ঝুঁকিও রয়েছে, যেমন বাজারের ব্যাপক অস্থিরতা, বড় প্রত্যাহারের সম্ভাবনা রয়েছে।
এই কৌশলটি তিন মিনিটের কে লাইনের উচ্চ-নিম্ন ব্রেকিংয়ের উপর ভিত্তি করে এবং দিনের ব্যবসায়ের জন্য প্রযোজ্য। সুবিধাগুলি সহজেই বোঝা যায়, সহজেই বাস্তবায়ন করা যায় এবং ঝুঁকি তুলনামূলকভাবে কম। তবে কিছু ঝুঁকিও রয়েছে, যেমন বাজারের ব্যাপক ওঠানামা হলে, বড় প্রত্যাহার হতে পারে। কৌশলটির স্থিতিশীলতা এবং লাভজনকতা বাড়ানোর জন্য ফিল্টারিং সংকেত, পজিশন খোলার সময় অপ্টিমাইজ করা, স্টপ লস পয়েন্ট অপ্টিমাইজ করা এবং পজিশন ম্যানেজমেন্টে যোগদানের মতো দিক থেকে এই কৌশলটি অপ্টিমাইজ করার বিষয়টি বিবেচনা করা যেতে পারে।
/*backtest
start: 2023-06-08 00:00:00
end: 2024-06-13 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/
//@version=5
strategy("Banknifty Strategy", overlay=true, default_qty_type=strategy.fixed, default_qty_value=1)
// Parameters
start_date = input(timestamp("2024-01-01 00:00"), title="Start Date")
end_date = input(timestamp("2024-06-07 23:59"), title="End Date")
// Time settings
var startTime = timestamp("2024-06-09 09:15")
var endTime = timestamp("2024-06-09 09:24")
// Variables to store the 3rd 3-minute candle
var bool isCandleFound = false
var float thirdCandleHigh = na
var float thirdCandleLow = na
var float baseCandleHigh = na
var float baseCandleLow = na
var float entryPrice = na
var float targetPrice = na
// Check if the current time is within the specified date range
inDateRange = true
// Capture the 3rd 3-minute candle
if (inDateRange and not isCandleFound)
var int candleCount = 0
if (true)
candleCount := candleCount + 1
if (candleCount == 3)
thirdCandleHigh := high
thirdCandleLow := low
isCandleFound := true
// Wait for a candle to close above the high of the 3rd 3-minute candle
if (isCandleFound and na(baseCandleHigh) and close > thirdCandleHigh)
baseCandleHigh := close
baseCandleLow := low
// Strategy logic for buying and selling
if (not na(baseCandleHigh))
// Buy condition
if (high > baseCandleHigh and strategy.opentrades == 0)
entryPrice := high
targetPrice := entryPrice + 100
strategy.entry("Buy", strategy.long, limit=entryPrice)
// Sell condition
if (low < baseCandleLow and strategy.opentrades == 0)
entryPrice := low
targetPrice := entryPrice - 100
strategy.entry("Sell", strategy.short, limit=entryPrice)
// Exit conditions
if (strategy.opentrades > 0)
// Exit BUY trade when profit is 100 points or carry forward to next day
if (strategy.position_size > 0 and high >= targetPrice)
strategy.exit("Take Profit", from_entry="Buy", limit=targetPrice)
// Exit SELL trade when profit is 100 points or carry forward to next day
if (strategy.position_size < 0 and low <= targetPrice)
strategy.exit("Take Profit", from_entry="Sell", limit=targetPrice)
// Close trades at the end of the day
if (time == timestamp("2024-06-09 15:30"))
strategy.close("Buy", comment="Market Close")
strategy.close("Sell", comment="Market Close")
// Plotting for visualization
plotshape(series=isCandleFound, location=location.belowbar, color=color.red, style=shape.labeldown, text="3rd 3-min candle")
plot(baseCandleHigh, title="Base Candle High", color=color.green, linewidth=2, style=plot.style_line)
plot(baseCandleLow, title="Base Candle Low", color=color.red, linewidth=2, style=plot.style_line)