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

Script de código abierto

Siguiendo fielmente el espíritu de TradingView, el autor de este script lo ha publicado en código abierto, permitiendo que otros traders puedan entenderlo y verificarlo. ¡Olé por el autor! Puede utilizarlo de forma gratuita, pero tenga en cuenta que la reutilización de este código en la publicación se rige por las Normas internas. Puede añadir este script a sus favoritos y usarlo en un gráfico.

¿Quiere utilizar este script en un gráfico?

Exención de responsabilidad