
এই কৌশলটি একটি অন্তর্বর্তী দিনের ট্রেডিং কৌশল যা পূর্বের দিনের মূল্যের ব্যাপ্তি এবং সূচকীয় চলমান গড় (ইএমএ) এর সাথে মিলিত হয়। কৌশলটি দ্রুত এবং ধীর ইএমএগুলির নিশ্চিতকরণ সংকেতগুলির সাথে দামের ব্রেকিংয়ের পূর্ববর্তী ট্রেডিংয়ের উচ্চতম বা নিম্নতম সময়কে চিহ্নিত করে ট্রেড করে। কৌশলটি স্বল্পমেয়াদী মূল্যের গতিশীলতা ক্যাপচার করার উপর দৃষ্টি নিবদ্ধ করে এবং নির্দিষ্ট স্টপ লস পয়েন্ট এবং ঝুঁকি-উপার্জনের অনুপাত সেট করে ঝুঁকি পরিচালনা করে।
কৌশলটির মূল যুক্তি নিম্নলিখিত মূল উপাদানগুলির উপর ভিত্তি করে:
এই কৌশলটি একটি নির্ভরযোগ্য ইন-ডে ট্রেডিং সিস্টেম অর্জন করে, যা মূল্যের ব্রেকআউট এবং ইএমএসের ট্রেন্ড নিশ্চিতকরণের সাথে মিলিত হয়। কৌশলটির মূল সুবিধা হ’ল এর পরিষ্কার লজিকাল কাঠামো এবং একটি উন্নত ঝুঁকি ব্যবস্থাপনা ব্যবস্থা। প্রস্তাবিত অপ্টিমাইজড দিকনির্দেশের মাধ্যমে কৌশলটি তার স্থায়িত্ব এবং লাভজনকতা আরও বাড়িয়ে তুলতে পারে। রিয়েল-টাইম ট্রেডিংয়ের ক্ষেত্রে, ভুয়া ব্রেকআউট এবং স্লাইড পয়েন্টের ঝুঁকির প্রতি বিশেষ মনোযোগ দেওয়া প্রয়োজন এবং প্রকৃত বাজার অবস্থার সাথে প্যারামিটারগুলি সামঞ্জস্য করা প্রয়োজন।
/*backtest
start: 2025-02-16 17:00:00
end: 2025-02-18 14:00:00
period: 1h
basePeriod: 1h
exchanges: [{"eid":"Binance","currency":"SOL_USDT"}]
*/
//@version=5
strategy("GER40 Momentum Breakout Scalping", overlay=true, initial_capital=10000, default_qty_type=strategy.percent_of_equity, default_qty_value=1)
//———— Input Parameters —————
stopLossPoints = input.int(30, title="Stop Loss (Pips)", minval=1) // Updated to 30 pips
riskReward = input.float(2.0, title="Risk Reward Ratio", step=0.1)
useTimeFilter = input.bool(false, title="Use Time Filter? (Sessions in SAST)")
// Define sessions (SAST) if needed
session1 = "0900-1030"
session2 = "1030-1200"
session3 = "1530-1730"
//———— Time Filter Function —————
inSession = true
if useTimeFilter
// TradingView's session function uses the chart's timezone.
// Adjust the session times if your chart timezone is not SAST.
inSession = time(timeframe.period, session1) or time(timeframe.period, session2) or time(timeframe.period, session3)
//———— Get Previous Day's High/Low —————
// Fetch the previous day's high/low using the daily timeframe. [1] refers to the previous completed day.
prevHigh = request.security(syminfo.tickerid, "D", high[1])
prevLow = request.security(syminfo.tickerid, "D", low[1])
//———— Calculate EMAs on the 1-minute chart —————
emaFast = ta.ema(close, 9)
emaSlow = ta.ema(close, 21)
//———— Define Breakout Conditions —————
longCondition = close > prevHigh and emaFast > emaSlow
shortCondition = close < prevLow and emaFast < emaSlow
//———— Entry & Exit Rules —————
if inSession
// Long breakout: Price breaks above previous day's high
if (longCondition)
strategy.entry("Long", strategy.long)
strategy.exit("Exit Long", "Long",
stop = strategy.position_avg_price - stopLossPoints * syminfo.mintick,
limit = strategy.position_avg_price + stopLossPoints * riskReward * syminfo.mintick)
// Short breakout: Price breaks below previous day's low
if (shortCondition)
strategy.entry("Short", strategy.short)
strategy.exit("Exit Short", "Short",
stop = strategy.position_avg_price + stopLossPoints * syminfo.mintick,
limit = strategy.position_avg_price - stopLossPoints * riskReward * syminfo.mintick)
//———— Plot Indicators & Levels —————
plot(emaFast, color=color.blue, title="EMA 9")
plot(emaSlow, color=color.red, title="EMA 21")
plot(prevHigh, color=color.green, style=plot.style_linebr, title="Prev Day High")
plot(prevLow, color=color.maroon, style=plot.style_linebr, title="Prev Day Low")