
আপনি কি জানেন? বাজারের 90% ব্যবসায়ীরা হ্রাসের জন্য দৌড়াদৌড়ি করে, কিন্তু সত্যিকারের পেশাদাররা “দাম শূন্যস্থান” খুঁজছেন! এই উন্নত FVG কৌশল প্রো + হল এই রহস্যময় ফাঁকগুলি ধরার জন্য বিশেষভাবে তৈরি একটি সুপার অস্ত্র
FVG (Fair Value Gap) সহজভাবে বলতে গেলে, দামের লাফিয়ে উঠার সময় “খালি জায়গা” ছেড়ে দেওয়া হয়, ঠিক যেমন আপনি একটি জলখাবার অতিক্রম করে হাঁটছেন এবং একদিন আপনাকে আবার “খাবার পূরণ” করতে হবে। এই কৌশলটি হ’ল “খাবার পাশে” সেরা সময়ে লুকিয়ে থাকা এবং অন্যান্য মাছের উপর ঝাঁকুনি দেওয়া!
১. মাল্টিটাইম ফ্রেম বিশ্লেষণ কৌশলটি 5 মিনিটের মানচিত্রে কার্যকর করা যেতে পারে, তবে 1 ঘন্টা এফভিজি সংকেত দিয়ে, এটি একটি দূরবীন দিয়ে দূরবর্তী পাহাড় দেখার মতো, একটি বড় আকারের আয়না দিয়ে বিশদটি দেখুন, আরও বিস্তৃত দৃষ্টিভঙ্গি!
২. IIR প্রবণতা ফিল্টার
এটি কোন সাধারণ চলমান গড় নয়! ইঞ্জিনিয়ারিং-গ্রেড IIR নিম্ন-প্রবাহিত ফিল্টার ব্যবহার করে, যা ট্রেন্ডের দিকনির্দেশকে সঠিকভাবে সনাক্ত করতে পারে। কল্পনা করুন যে এটি আপনার ট্রেডিংয়ের উপর একটি “ট্রেন্ড রাডার” লাগানো হয়েছে, যা কেবলমাত্র বাতাসের দিকে আঘাত করে!
৩. স্মার্ট ঝুঁকি ব্যবস্থাপনা % এবং স্থির পরিমাণ উভয় ঝুঁকি মোড সমর্থন করে, এবং একটি বিস্ফোরণ-প্রতিরোধী ভাণ্ডার সুরক্ষা ব্যবস্থা রয়েছে। আপনার অ্যাকাউন্টগুলিকে আরও সুরক্ষিত করার জন্য গাড়ির সুরক্ষা বেল্ট এবং বায়ু প্যাকেজগুলির সাথে ডাবল সুরক্ষার মতো!
এই পরিস্থিতিতে সবচেয়ে ভালো হয়ঃ
গর্ত এড়ানোর নির্দেশিকাঃ
ঐতিহ্যবাহী কৌশলগুলি হয় খুব কম সিগন্যাল মিস করে, অথবা খুব বেশি সিগন্যালকে মিথ্যা ভাঙ্গার জন্য ব্যবহার করা হয়। এই কৌশলটি একাধিক ফিল্টারিং পদ্ধতির মাধ্যমে “অতিরিক্ত” সঠিক আক্রমণ করে!
এবং সবচেয়ে মজার বিষয় হল, সমস্ত প্যারামিটার কাস্টমাইজড করা যায়, ঠিক যেমন একটি টুনার টুন করে, আপনি বিভিন্ন বাজারের অবস্থার উপর ভিত্তি করে সবচেয়ে উপযুক্ত ট্রেডিং গতি “টুন” করতে পারেন 🎵
মনে রাখবেন, একটি ভাল কৌশল হল প্রতিদিন ট্রেড করা নয়, বরং যখন আপনি সবচেয়ে বেশি ঝুঁকিতে থাকবেন তখনই ট্রেড করা!
/*backtest
start: 2024-09-01 00:00:00
end: 2025-08-31 00:00:00
period: 1d
basePeriod: 1d
exchanges: [{"eid":"Futures_Binance","currency":"ETH_USDT"}]
*/
//@version=6
strategy("Advanced FVG Strategy Pro+ (v6)", overlay=true,
initial_capital=10000,
default_qty_type=strategy.fixed,
default_qty_value=1,
commission_type=strategy.commission.percent,
commission_value=0.05,
calc_on_every_tick=true,
process_orders_on_close=true)
// ---------------- Inputs ----------------
fvg_tf = input.timeframe("", "FVG Timeframe (MTF)")
bodySens = input.float(1.0, "FVG Body Sensitivity", step=0.1, minval=0.0)
mitigate_mid = input.bool(true, "Mitigation on Midpoint")
rr_ratio = input.float(2.0, "Risk/Reward Ratio", step=0.1)
risk_mode = input.string("Percent", "Risk Mode", options=["Percent","Fixed $"])
risk_perc = input.float(1.0, "Risk % (of Equity)", minval=0.1, maxval=10.0)
risk_fixed = input.float(100.0, "Fixed $ Risk", minval=1.0)
useTrend = input.bool(true, "Filter with FVG Trend")
rp = input.float(10.0, "Trend Filter Ripple (dB)", minval=0.1, step=0.1)
fc = input.float(0.1, "Trend Filter Cutoff (0..0.5)", minval=0.01, maxval=0.5, step=0.01)
extendLength = input.int(10, "Extend Boxes (bars)", minval=0)
// ---------------- MTF candles ----------------
c1 = fvg_tf == "" ? close : request.security(syminfo.tickerid, fvg_tf, close, lookahead = barmerge.lookahead_on)
o1 = fvg_tf == "" ? open : request.security(syminfo.tickerid, fvg_tf, open, lookahead = barmerge.lookahead_on)
h1 = fvg_tf == "" ? high : request.security(syminfo.tickerid, fvg_tf, high, lookahead = barmerge.lookahead_on)
l1 = fvg_tf == "" ? low : request.security(syminfo.tickerid, fvg_tf, low, lookahead = barmerge.lookahead_on)
h2 = fvg_tf == "" ? high[2] : request.security(syminfo.tickerid, fvg_tf, high[2], lookahead = barmerge.lookahead_on)
l2 = fvg_tf == "" ? low[2] : request.security(syminfo.tickerid, fvg_tf, low[2], lookahead = barmerge.lookahead_on)
// ---------------- FVG detection ----------------
float wick = math.abs(c1 - o1)
float avg_body = ta.sma(wick, 50)
bool bullFVG = (l1 > h2) and (c1 > h2) and (wick >= avg_body * bodySens)
bool bearFVG = (h1 < l2) and (c1 < l2) and (wick >= avg_body * bodySens)
// ---------------- Trend Filter (IIR low-pass) ----------------
float src = (h1 + l1) / 2.0
float epsilon = math.sqrt(math.pow(10.0, rp/10.0) - 1.0)
float d = math.sqrt(1.0 + epsilon * epsilon)
float c = 1.0 / math.tan(math.pi * fc)
float norm = 1.0 / (1.0 + d * c + c * c)
float b0 = norm
float b1 = 2.0 * norm
float b2 = norm
float a1 = 2.0 * norm * (1.0 - c * c)
float a2 = norm * (1.0 - d * c + c * c)
var float trend = na
var float trend1 = na
var float trend2 = na
trend := bar_index < 2 ? src : (b0 * src + b1 * src[1] + b2 * src[2] - a1 * nz(trend1) - a2 * nz(trend2))
trend2 := trend1
trend1 := trend
bool trendUp = trend > nz(trend[1])
bool trendDown = trend < nz(trend[1])
// ---------------- Strategy Conditions ----------------
bool longCond = bullFVG and (not useTrend or trendUp)
bool shortCond = bearFVG and (not useTrend or trendDown)
// stop loss / take profit (based on MTF gap edges)
float longSL = l1
float shortSL = h1
float longRisk = close - longSL
float shortRisk = shortSL - close
float longTP = close + (close - longSL) * rr_ratio
float shortTP = close - (shortSL - close) * rr_ratio
// ---------------- Position sizing ----------------
float equity = strategy.equity
float riskCash = risk_mode == "Percent" ? (equity * risk_perc / 100.0) : risk_fixed
float longQty = (longRisk > 0.0) ? (riskCash / longRisk) : na
float shortQty = (shortRisk > 0.0) ? (riskCash / shortRisk) : na
// safety cap: avoid ridiculously large position sizes (simple protective cap)
float maxQty = math.max(1.0, (equity / math.max(1e-8, close)) * 0.25) // cap ~25% equity worth of base asset
if not na(longQty)
longQty := math.min(longQty, maxQty)
if not na(shortQty)
shortQty := math.min(shortQty, maxQty)
// small extra guard (do not trade if qty becomes extremely small or NaN)
bool canLong = longCond and not na(longQty) and (longQty > 0.0)
bool canShort = shortCond and not na(shortQty) and (shortQty > 0.0)
// ---------------- Orders ----------------
if canLong
strategy.entry("Long", strategy.long, qty = longQty)
strategy.exit("Long TP/SL", "Long", stop = longSL, limit = longTP)
if canShort
strategy.entry("Short", strategy.short, qty = shortQty)
strategy.exit("Short TP/SL", "Short", stop = shortSL, limit = shortTP)
// ---------------- Visuals ----------------
plotshape(longCond, title="Bull FVG", color=color.new(color.green, 0), style=shape.triangleup, location=location.belowbar, size=size.small)
plotshape(shortCond, title="Bear FVG", color=color.new(color.red, 0), style=shape.triangledown, location=location.abovebar, size=size.small)
plot(useTrend ? trend : na, title="FVG Trend", color=trendUp ? color.lime : trendDown ? color.red : color.gray, linewidth=2)