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

Skrypt open-source

W prawdziwym duchu TradingView autor tego skryptu opublikował go jako open source, aby inwestorzy mogli go zrozumieć i zweryfikować. Pozdrowienia dla autora! Możesz go używać bezpłatnie, ale ponowne użycie tego kodu w publikacji podlega Zasadom Regulaminu. Możesz go oznaczyć jako ulubione, aby użyć go na wykresie.

Chcesz użyć tego skryptu na wykresie?

Wyłączenie odpowiedzialności