OPEN-SOURCE SCRIPT

CMS-Inspired SMC Strategy with Liquidity and FVG

//version=5
indicator("CMS-Inspired SMC Strategy with Liquidity and FVG", overlay=true)

// === إعدادات المستخدم ===
capital = input.float(1000, title="رأس المال ($)", step=10) // رأس المال الكلي
risk_percent = input.float(1, title="نسبة المخاطرة (%)", step=0.1) // نسبة المخاطرة
max_trades = input.int(2, title="عدد الصفقات اليومية", step=1) // الحد الأقصى للصفقات اليومية
session_start = input.time(timestamp("0000-01-01 08:00 +0000"), title="بداية الجلسة") // جلسة لندن
session_end = input.time(timestamp("0000-01-01 16:00 +0000"), title="نهاية الجلسة") // جلسة لندن
news_time = input.time(timestamp("0000-01-01 09:00 +0000"), title="وقت الأخبار المهمة") // الوقت المتوقع للأخبار

// === أدوات إضافية ===
session_active = (time >= session_start and time <= session_end) // الجلسة الزمنية
atr = ta.atr(14) // مؤشر ATR

// === تحديد مناطق السيولة ===
highest_liq = ta.highest(high, 20) // أعلى نقطة في الـ 20 فترة
lowest_liq = ta.lowest(low, 20) // أدنى نقطة في الـ 20 فترة

// === فجوات القيمة العادلة (FVG) ===
fvg_condition = close[2] > high[1] and close < high[1] // عندما يكون هناك فجوة بين الإغلاق والارتفاع

// === إشارات التداول ===
// كسر الهيكل (BOS)
high_break = ta.highest(high, 5) < close
low_break = ta.lowest(low, 5) > close

// مناطق Order Block
bullish_ob = close[5] < open[5] // إشارات الشراء بناءً على الإغلاق
bearish_ob = close[5] > open[5] // إشارات البيع بناءً على الإغلاق

// إشارات الشراء والبيع بناءً على جميع الشروط
long_signal = session_active and high_break and bullish_ob and fvg_condition and not (time >= news_time and time <= news_time + 3600000) // تجنب الأخبار
short_signal = session_active and low_break and bearish_ob and fvg_condition and not (time >= news_time and time <= news_time + 3600000) // تجنب الأخبار

// === إدارة رأس المال ===
capital_per_trade = (capital * risk_percent / 100) // نسبة رأس المال في الصفقة
lot_size = capital_per_trade / (atr * 1.5) // حجم اللوت بناءً على الـ ATR ووقف الخسارة

stop_loss = atr * 1.5 // وقف الخسارة بناءً على ATR
take_profit = stop_loss * 2 // الهدف (نسبة مخاطرة/عائد 1:2)

// === رسم الإشارات ===
var trade_count = 0 // عداد الصفقات اليومية
if session_active
if trade_count < max_trades
if long_signal
label.new(bar_index, high, "شراء", color=color.green, style=label.style_label_down)
trade_count += 1
if short_signal
label.new(bar_index, low, "بيع", color=color.red, style=label.style_label_up)
trade_count += 1

// === تنبيه إشارات ===
if long_signal or short_signal
alert("إشارة جديدة: " + (long_signal ? "شراء" : "بيع"), alert.freq_once_per_bar)
Bands and ChannelsCandlestick analysisCycles

Open-source script

In true TradingView spirit, the author of this script has published it open-source, so traders can understand and verify it. Cheers to the author! You may use it for free, but reuse of this code in publication is governed by House rules. You can favorite it to use it on a chart.

Want to use this script on a chart?

Disclaimer