I_AM_ALGORITHM
332 subscribers
376 photos
26 videos
17 files
86 links
Download Telegram
که های و لو برابر دارن
اما ایین یک سیستم فوزی است
برابر = نیست
This media is not supported in your browser
VIEW IN TELEGRAM
واریانس چیست
واریانس در آمار و سیستم‌های فازی مفهوم مهمی است. اجازه دهید به طور ساده توضیح دهم:

واریانس در آمار کلاسیک:
- معیاری برای سنجش پراکندگی داده‌ها حول میانگین
- نشان می‌دهد داده‌ها چقدر از مقدار متوسط فاصله دارند
- با مجذور انحراف معیار برابر است

واریانس در سیستم‌های فازی:
1. در توابع عضویت:
- میزان گستردگی تابع عضویت را نشان می‌دهد
- هر چه واریانس بیشتر، تابع عضویت پهن‌تر
- هر چه واریانس کمتر، تابع عضویت باریک‌تر

2. در قوانین فازی:
- درجه عدم قطعیت در قوانین را مشخص می‌کند
- به تعیین محدوده اثر هر قانون کمک می‌کند

3. کاربردها:
- طراحی کنترلرهای فازی
- سیستم‌های تصمیم‌گیری فازی
- مدل‌سازی عدم قطعیت
تابع عضویت نشان‌دهنده درجه تعلق یک عنصر به یک مجموعه فازی است. اجازه دهید با یک مثال عملی توضیح دهم:

مثال: سیستم کنترل دمای اتاق

//@version=5
indicator("Fuzzy Membership Function Example")

// تعریف آرایه‌ها برای دماهای مختلف
cold = array.new_float(0)
normal = array.new_float(0)
hot = array.new_float(0)

// تابع عضویت برای دمای سرد
fuzzy_cold(temp) =>
if temp <= 15
1.0
else if temp > 15 and temp < 20
(20 - temp) / (20 - 15)
else
0.0

// تابع عضویت برای دمای نرمال
fuzzy_normal(temp) =>
if temp >= 18 and temp <= 22
1.0
else if temp > 15 and temp < 18
(temp - 15) / (18 - 15)
else if temp > 22 and temp < 25
(25 - temp) / (25 - 22)
else
0.0

// تابع عضویت برای دمای گرم
fuzzy_hot(temp) =>
if temp >= 25
1.0
else if temp > 20 and temp < 25
(temp - 20) / (25 - 20)
else
0.0

// ساخت جدول برای نمایش درجات عضویت
var tbl = table.new(position.top_right, 4, 4, bgcolor = color.white)

// بروزرسانی جدول در هر بار اجرا
update_table(temp) =>
cold_degree = fuzzy_cold(temp)
normal_degree = fuzzy_normal(temp)
hot_degree = fuzzy_hot(temp)

table.cell(tbl, 0, 0, "Temperature", bgcolor = color.gray)
table.cell(tbl, 1, 0, "Cold", bgcolor = color.blue)
table.cell(tbl, 2, 0, "Normal", bgcolor = color.green)
table.cell(tbl, 3, 0, "Hot", bgcolor = color.red)

table.cell(tbl, 0, 1, str.tostring(temp), bgcolor = color.gray)
table.cell(tbl, 1, 1, str.tostring(cold_degree), bgcolor = color.blue)
table.cell(tbl, 2, 1, str.tostring(normal_degree), bgcolor = color.green)
table.cell(tbl, 3, 1, str.tostring(hot_degree), bgcolor = color.red)

// دریافت دمای فعلی (مثلا از یک اندیکاتور)
current_temp = ta.sma(close, 20) // استفاده از میانگین متحرک به عنوان مثال

// بروزرسانی جدول
update_table(current_temp)

// نمایش خطوط برای نشان دادن درجات عضویت
plot(fuzzy_cold(current_temp), "Cold Membership", color.blue)
plot(fuzzy_normal(current_temp), "Normal Membership", color.green)
plot(fuzzy_hot(current_temp), "Hot Membership", color.red)


توضیحات کد:

1. تعریف توابع عضویت:
- تابع fuzzy_cold: برای دمای سرد (زیر 15 درجه)
- تابع fuzzy_normal: برای دمای نرمال (بین 18 تا 22 درجه)
- تابع fuzzy_hot: برای دمای گرم (بالای 25 درجه)

2. ساختار داده‌ها:
- استفاده از array.new_float برای ذخیره مقادیر
- استفاده از table.new برای نمایش نتایج

3. خروجی:
- نمایش درجه عضویت هر دما در هر مجموعه فازی
- جدول نمایش مقادیر عضویت
- نمودار گرافیکی درجات عضویت

4. کاربرد:
- سیستم‌های کنترل دما
- تصمیم‌گیری فازی
- اتوماسیون هوشمند

در این مثال، هر دما می‌تواند درجات مختلفی از عضویت در مجموعه‌های سرد، نرمال و گرم داشته باشد. مثلاً دمای 19 درجه می‌تواند:
- تا حدی سرد (0.2)
- بیشتر نرمال (0.8)
- اصلاً گرم نباشد (0.0)
این مثال یک سیستم فازی برای تحلیل کندل‌ها با تمرکز بر اندازه بدنه و سایه‌های کندل ارائه می‌دهد:

//@version=5
indicator("Fuzzy Candle Analysis", overlay=true)

// تعریف توابع عضویت برای اندازه بدنه کندل
fuzzy_small_body(body_size) =>
if body_size <= 0.2
1.0
else if body_size > 0.2 and body_size < 0.5
(0.5 - body_size) / (0.5 - 0.2)
else
0.0

fuzzy_medium_body(body_size) =>
if body_size >= 0.3 and body_size <= 0.7
1.0
else if body_size > 0.2 and body_size < 0.3
(body_size - 0.2) / (0.3 - 0.2)
else if body_size > 0.7 and body_size < 0.8
(0.8 - body_size) / (0.8 - 0.7)
else
0.0

fuzzy_large_body(body_size) =>
if body_size >= 0.8
1.0
else if body_size > 0.6 and body_size < 0.8
(body_size - 0.6) / (0.8 - 0.6)
else
0.0

// محاسبه اندازه نسبی کندل
calculate_relative_size() =>
body_size = math.abs(close - open)
high_low_range = high - low
relative_size = body_size / high_low_range
relative_size

// محاسبه نسبت سایه‌های بالا و پایین
calculate_shadow_ratio() =>
upper_shadow = high - math.max(open, close)
lower_shadow = math.min(open, close) - low
total_shadow = upper_shadow + lower_shadow
shadow_ratio = total_shadow > 0 ? upper_shadow / total_shadow : 0.5
shadow_ratio

// ایجاد جدول برای نمایش اطلاعات
var tbl = table.new(position.top_right, 5, 4, bgcolor = color.white)

// بروزرسانی جدول
update_table(rel_size, shadow_ratio) =>
small_degree = fuzzy_small_body(rel_size)
medium_degree = fuzzy_medium_body(rel_size)
large_degree = fuzzy_large_body(rel_size)

table.cell(tbl, 0, 0, "Candle Analysis", bgcolor = color.gray)
table.cell(tbl, 0, 1, "Body Size", bgcolor = color.gray)
table.cell(tbl, 0, 2, "Shadow Ratio", bgcolor = color.gray)

table.cell(tbl, 1, 0, "Small", bgcolor = color.blue)
table.cell(tbl, 1, 1, str.tostring(small_degree, "#.##"), bgcolor = color.blue)

table.cell(tbl, 2, 0, "Medium", bgcolor = color.green)
table.cell(tbl, 2, 1, str.tostring(medium_degree, "#.##"), bgcolor = color.green)

table.cell(tbl, 3, 0, "Large", bgcolor = color.red)
table.cell(tbl, 3, 1, str.tostring(large_degree, "#.##"), bgcolor = color.red)

table.cell(tbl, 4, 0, "Shadow", bgcolor = color.purple)
table.cell(tbl, 4, 1, str.tostring(shadow_ratio, "#.##"), bgcolor = color.purple)

// محاسبه و نمایش برای هر کندل
rel_size = calculate_relative_size()
shadow_ratio = calculate_shadow_ratio()
update_table(rel_size, shadow_ratio)

// نمایش سیگنال‌های مختلف بر اساس تحلیل فازی
bullish_signal = fuzzy_large_body(rel_size) > 0.7 and close > open and shadow_ratio < 0.3
bearish_signal = fuzzy_large_body(rel_size) > 0.7 and close < open and shadow_ratio > 0.7
doji_signal = fuzzy_small_body(rel_size) > 0.8

// رسم نشانگرها روی چارت
plotshape(bullish_signal, "Bullish Signal", shape.triangleup, location.belowbar, color.green, size=size.small)
plotshape(bearish_signal, "Bearish Signal", shape.triangledown, location.abovebar, color.red, size=size.small)
plotshape(doji_signal, "Doji Signal", shape.cross, location.abovebar, color.yellow, size=size.small)


توضیحات کد:

1. تحلیل اندازه بدنه کندل:
- fuzzy_small_body: برای کندل‌های با بدنه کوچک
- fuzzy_medium_body: برای کندل‌های با بدنه متوسط
- fuzzy_large_body: برای کندل‌های با بدنه بزرگ

2. محاسبات کندل:
- calculate_relative_size: محاسبه اندازه نسبی بدنه کندل
- calculate_shadow_ratio: محاسبه نسبت سایه‌های بالا و پایین

3. نمایش اطلاعات:
- جدول نمایش درجات عضویت
- نمایش نسبت سایه‌ها
- نشانگرهای گرافیکی برای سیگنال‌های مختلف

4. سیگنال‌های معاملاتی:
- سیگنال صعودی: کندل بزرگ صعودی با سایه پایینی کوچک
- سیگنال نزولی: کندل بزرگ نزولی با سایه بالایی بزرگ
- سیگنال دوجی: کندل با بدنه بسیار کوچک

5. کاربردها:
- شناسایی الگوهای کندل‌استیک
- تحلیل قدرت روند
- تشخیص نقاط برگشت بازار

این کد به شما کمک می‌کند تا:
- اندازه نسبی کندل‌ها را تحلیل کنید
- نسبت سایه‌های بالا و پایین را بررسی کنید
- سیگنال‌های معاملاتی بر اساس تحلیل فازی دریافت کنید
This media is not supported in your browser
VIEW IN TELEGRAM
Forwarded from (𝙑𝙞𝙥𝙚𝙧 𝘿𝙞𝙨𝙘𝙪𝙨𝙨𝙞𝙤𝙣)™️ (Admin 10)
۲۶ اسفند۱۳۷۶ اتوبوس حامل نخبگان ریاضی شرکت‌کننده در مسابقات ریاضی در راه بازگشت به تهران در جاده انديمشک-پل‌دختر به دره سقوط ‌كرد.

در این سانحه ۲ راننده و ۷ نفر از دانشجویان نخبه رياضی دانشگاه‌های شريف و تهران كشته شدند.

مریم میرزاخانی یکی از بازماندگان این فاجعه بود.

روحشان شاد🙏
Forwarded from ICT_SOURCES & MATH
Forwarded from ICT_SOURCES & MATH
Forwarded from ICT_SOURCES & MATH
Forwarded from ICT_SOURCES & MATH
ازیرا سرت ز آسمان برترست
که بنیادت زان نامور گوهرست
جهان‌آفرین تا جهان آفرید
سواری چو رستم نیامد پدید
چو سام نریمان به گیتی نبود
سرش را نیارست گردون بسود