
প্রথম খাঁজ ভেঙে - গতিশীল ট্র্যাকিং স্টপ এবং ক্লোজিং পজিশনের কৌশলটি একটি অন্তর্দিবসের ট্রেডিং কৌশল যা বাজার খোলার পরে প্রথম খাঁজ লাইনের দামের ব্যাপ্তিকে গুরুত্বপূর্ণ সমর্থন এবং প্রতিরোধ হিসাবে ব্যবহার করে। এই কৌশলটি প্রথম খাঁজ গঠনের পরে, দামটি তার উচ্চতা বা নিম্নতা অতিক্রম করার পরে আবার প্রবেশের জন্য অপেক্ষা করে, এবং প্রথম খাঁজ মূল্যের উপর ভিত্তি করে গতিশীল ট্র্যাকিং স্টপ মেশিন ব্যবহার করে এবং রাতারাতি ঝুঁকি এড়াতে প্রতিদিন নির্দিষ্ট সময়ে পজিশনে চাপ দেয়।
এই কৌশলটি মূলত বাজার খোলার পর প্রথম সূচকের দ্বারা গঠিত মূল্যের ব্যবধানের উপর ভিত্তি করে। এই বাজার পর্যবেক্ষণটি গুরুত্বপূর্ণ প্রযুক্তিগত অর্থ রয়েছে। কৌশলটির মূল যুক্তিটি নিম্নরূপঃ
এই কৌশলটি নিশ্চিতকরণের পরে প্রবেশের একটি প্রক্রিয়া ব্যবহার করে, অর্থাৎ দামগুলি প্রথম স্তরটির উচ্চতা বা নিম্নের প্রকৃত বিরতি অতিক্রম করার পরে ট্রেডিংয়ে প্রবেশ করে, যখন দামগুলি এই স্তরগুলি স্পর্শ করার সাথে সাথে অবিলম্বে প্রবেশের পরিবর্তে, যা ভুয়া বিরতির ঝুঁকি হ্রাস করতে সহায়তা করে।
যদিও এই কৌশলটির অনেক সুবিধা রয়েছে, তবুও এর কিছু সম্ভাব্য ঝুঁকি রয়েছেঃ
উপরের ঝুঁকির জন্য, এই কৌশলটি নিম্নলিখিত দিকগুলি থেকে অপ্টিমাইজ করা যেতে পারেঃ
ফার্স্ট কিলার ব্রেক-ডায়নামিক ট্র্যাকিং স্টপ ও ক্লোজিং পজিশন কৌশল হল একটি ইনটেইয়ার ট্রেডিং কৌশল যা বাজার খোলার পরে প্রথম কিলার লাইন মূল্যের ব্যবধানের উপর ভিত্তি করে। এটি নিশ্চিত হওয়ার পরে মূল্য ব্রেক-আপ সংকেত ব্যবহার করে, বাজার ওঠানামার উপর ভিত্তি করে গতিশীল ট্র্যাকিং স্টপ লস ম্যানেজমেন্টের ঝুঁকি গ্রহণ করে এবং রাতারাতি ঝুঁকি এড়াতে প্রতিদিন নির্দিষ্ট সময়ে পজিশন বাধ্য করে।
এই কৌশলটির সুবিধা হল প্রবেশের সংকেত স্পষ্টতা, ঝুঁকি ব্যবস্থাপনা গতিশীলতা, মিথ্যা ব্রেকআপ এবং রাতারাতি ঝুঁকি এড়ানো, বাজারের ওঠানামা, অত্যধিক লেনদেন সীমাবদ্ধ করা এবং সম্পূর্ণরূপে স্বয়ংক্রিয়ভাবে কার্যকর করা। যাইহোক, এটি মিথ্যা ব্রেকআপের ঝুঁকি, অযৌক্তিক ব্রেকআউট দূরত্ব, বড় পরিস্থিতি মিস করা, সময় নির্ভরশীলতা, লাভের লক্ষ্যের অভাব এবং প্যারামিটার সংবেদনশীলতার মতো চ্যালেঞ্জগুলির মুখোমুখি।
স্টপ লস ম্যানেজমেন্টের অপ্টিমাইজেশান, আংশিক মুনাফা অর্জনের ম্যানেজমেন্ট, ওভার নাইট হোল্ডিং, টাইম ফিল্টারিং, প্যারামিটার অপ্টিমাইজেশান, মার্কেট কনটেন্ট আইডেন্টিফিকেশন, মাল্টি টাইম ফ্রেম অ্যানালাইসিস এবং ক্যাপিটাল ম্যানেজমেন্ট মডিউল ইত্যাদির মাধ্যমে কৌশলটির স্থিতিশীলতা এবং লাভজনকতা আরও বাড়ানো যেতে পারে।
সামগ্রিকভাবে, এটি একটি সুনির্দিষ্ট, যুক্তিসঙ্গত ও যুক্তিসঙ্গত intraday ট্রেডিং কৌশল যা স্বয়ংক্রিয় ব্যবস্থার মাধ্যমে intraday ট্রেডিং এবং কঠোরভাবে ঝুঁকি নিয়ন্ত্রণ করতে চায় এমন ব্যবসায়ীদের জন্য উপযুক্ত। লক্ষ্যবস্তু অপ্টিমাইজেশান এবং যথাযথ প্যারামিটার সমন্বয় দ্বারা, কৌশলটি বিভিন্ন বাজারের পরিস্থিতিতে স্থিতিশীল পারফরম্যান্সের প্রত্যাশা করে।
/*backtest
start: 2025-03-24 00:00:00
end: 2025-03-31 00:00:00
period: 1m
basePeriod: 1m
exchanges: [{"eid":"Futures_Binance","currency":"TRX_USDT"}]
*/
//@version=5
strategy("First Candle Breakout - Trailing Stop & EOD Close", overlay=true)
// User Inputs
startHour = input(9, "Start Hour (Exchange Time)")
startMinute = input(15, "Start Minute (Exchange Time)")
endHour = input(15, "End Hour (Exchange Time)") // Market closing hour
endMinute = input(30, "End Minute (Exchange Time)")
trailStopMultiplier = input(1.5, "Trailing Stop Multiplier") // 1.5x first candle range
// Variables to store the first candle's high & low
var float firstCandleHigh = na
var float firstCandleLow = na
var bool tradeTaken = false // Ensures only one trade per day
var int tradeDirection = 0 // 1 for long, -1 for short
var float trailStopLevel = na // Trailing stop level
// Identify first candle's high & low
if (hour == startHour and minute == startMinute and bar_index > 1)
firstCandleHigh := high
firstCandleLow := low
tradeTaken := false // Reset trade flag at start of day
tradeDirection := 0 // Reset trade direction
trailStopLevel := na // Reset trailing stop
// Calculate first candle range
firstCandleRange = firstCandleHigh - firstCandleLow
trailStopDistance = firstCandleRange * trailStopMultiplier
// Buy condition: Close above first candle high AFTER the first candle closes
longCondition = not na(firstCandleHigh) and close > firstCandleHigh and not tradeTaken and hour > startHour
if (longCondition)
strategy.entry("Buy", strategy.long, comment="Buy")
trailStopLevel := close - trailStopDistance // Set initial trailing stop
tradeTaken := true
tradeDirection := 1
// Sell condition: Close below first candle low AFTER the first candle closes
shortCondition = not na(firstCandleLow) and close < firstCandleLow and not tradeTaken and hour > startHour
if (shortCondition)
strategy.entry("Sell", strategy.short, comment="Sell")
trailStopLevel := close + trailStopDistance // Set initial trailing stop
tradeTaken := true
tradeDirection := -1
// Update trailing stop for long trades
if (tradeDirection == 1 and not na(trailStopLevel))
trailStopLevel := nz(trailStopLevel, close - trailStopDistance) // Initialize if na
trailStopLevel := math.max(trailStopLevel, close - trailStopDistance) // Adjust trailing stop up
if (close <= trailStopLevel) // Stop loss hit
strategy.close("Buy", comment="Trailing SL Hit")
// Update trailing stop for short trades
if (tradeDirection == -1 and not na(trailStopLevel))
trailStopLevel := nz(trailStopLevel, close + trailStopDistance) // Initialize if na
trailStopLevel := math.min(trailStopLevel, close + trailStopDistance) // Adjust trailing stop down
if (close >= trailStopLevel) // Stop loss hit
strategy.close("Sell", comment="Trailing SL Hit")
// Close trade at end of day if still open
if (tradeTaken and hour == endHour and minute == endMinute)
strategy.close_all(comment="EOD Close")