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

Mã nguồn mở

Theo tinh thần TradingView thực sự, tác giả của tập lệnh này đã xuất bản dưới dạng nguồn mở để các nhà giao dịch có thể hiểu và xác minh. Chúc mừng tác giả! Bạn có thể sử dụng miễn phí. Tuy nhiên, bạn cần sử dụng lại mã này theo Quy tắc nội bộ. Bạn có thể yêu thích nó để sử dụng nó trên biểu đồ.

Bạn muốn sử dụng tập lệnh này trên biểu đồ?

Thông báo miễn trừ trách nhiệm