واریانس در آمار و سیستمهای فازی مفهوم مهمی است. اجازه دهید به طور ساده توضیح دهم:
واریانس در آمار کلاسیک:
- معیاری برای سنجش پراکندگی دادهها حول میانگین
- نشان میدهد دادهها چقدر از مقدار متوسط فاصله دارند
- با مجذور انحراف معیار برابر است
واریانس در سیستمهای فازی:
1. در توابع عضویت:
- میزان گستردگی تابع عضویت را نشان میدهد
- هر چه واریانس بیشتر، تابع عضویت پهنتر
- هر چه واریانس کمتر، تابع عضویت باریکتر
2. در قوانین فازی:
- درجه عدم قطعیت در قوانین را مشخص میکند
- به تعیین محدوده اثر هر قانون کمک میکند
3. کاربردها:
- طراحی کنترلرهای فازی
- سیستمهای تصمیمگیری فازی
- مدلسازی عدم قطعیت
واریانس در آمار کلاسیک:
- معیاری برای سنجش پراکندگی دادهها حول میانگین
- نشان میدهد دادهها چقدر از مقدار متوسط فاصله دارند
- با مجذور انحراف معیار برابر است
واریانس در سیستمهای فازی:
1. در توابع عضویت:
- میزان گستردگی تابع عضویت را نشان میدهد
- هر چه واریانس بیشتر، تابع عضویت پهنتر
- هر چه واریانس کمتر، تابع عضویت باریکتر
2. در قوانین فازی:
- درجه عدم قطعیت در قوانین را مشخص میکند
- به تعیین محدوده اثر هر قانون کمک میکند
3. کاربردها:
- طراحی کنترلرهای فازی
- سیستمهای تصمیمگیری فازی
- مدلسازی عدم قطعیت
تابع عضویت نشاندهنده درجه تعلق یک عنصر به یک مجموعه فازی است. اجازه دهید با یک مثال عملی توضیح دهم:
مثال: سیستم کنترل دمای اتاق
توضیحات کد:
1. تعریف توابع عضویت:
- تابع
- تابع
- تابع
2. ساختار دادهها:
- استفاده از
- استفاده از
3. خروجی:
- نمایش درجه عضویت هر دما در هر مجموعه فازی
- جدول نمایش مقادیر عضویت
- نمودار گرافیکی درجات عضویت
4. کاربرد:
- سیستمهای کنترل دما
- تصمیمگیری فازی
- اتوماسیون هوشمند
در این مثال، هر دما میتواند درجات مختلفی از عضویت در مجموعههای سرد، نرمال و گرم داشته باشد. مثلاً دمای 19 درجه میتواند:
- تا حدی سرد (0.2)
- بیشتر نرمال (0.8)
- اصلاً گرم نباشد (0.0)
مثال: سیستم کنترل دمای اتاق
//@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)
این مثال یک سیستم فازی برای تحلیل کندلها با تمرکز بر اندازه بدنه و سایههای کندل ارائه میدهد:
توضیحات کد:
1. تحلیل اندازه بدنه کندل:
-
-
-
2. محاسبات کندل:
-
-
3. نمایش اطلاعات:
- جدول نمایش درجات عضویت
- نمایش نسبت سایهها
- نشانگرهای گرافیکی برای سیگنالهای مختلف
4. سیگنالهای معاملاتی:
- سیگنال صعودی: کندل بزرگ صعودی با سایه پایینی کوچک
- سیگنال نزولی: کندل بزرگ نزولی با سایه بالایی بزرگ
- سیگنال دوجی: کندل با بدنه بسیار کوچک
5. کاربردها:
- شناسایی الگوهای کندلاستیک
- تحلیل قدرت روند
- تشخیص نقاط برگشت بازار
این کد به شما کمک میکند تا:
- اندازه نسبی کندلها را تحلیل کنید
- نسبت سایههای بالا و پایین را بررسی کنید
- سیگنالهای معاملاتی بر اساس تحلیل فازی دریافت کنید
//@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. کاربردها:
- شناسایی الگوهای کندلاستیک
- تحلیل قدرت روند
- تشخیص نقاط برگشت بازار
این کد به شما کمک میکند تا:
- اندازه نسبی کندلها را تحلیل کنید
- نسبت سایههای بالا و پایین را بررسی کنید
- سیگنالهای معاملاتی بر اساس تحلیل فازی دریافت کنید
Forwarded from (𝙑𝙞𝙥𝙚𝙧 𝘿𝙞𝙨𝙘𝙪𝙨𝙨𝙞𝙤𝙣)™️ (Admin 10)
۲۶ اسفند۱۳۷۶ اتوبوس حامل نخبگان ریاضی شرکتکننده در مسابقات ریاضی در راه بازگشت به تهران در جاده انديمشک-پلدختر به دره سقوط كرد.
در این سانحه ۲ راننده و ۷ نفر از دانشجویان نخبه رياضی دانشگاههای شريف و تهران كشته شدند.
مریم میرزاخانی یکی از بازماندگان این فاجعه بود.
روحشان شاد🙏
در این سانحه ۲ راننده و ۷ نفر از دانشجویان نخبه رياضی دانشگاههای شريف و تهران كشته شدند.
مریم میرزاخانی یکی از بازماندگان این فاجعه بود.
روحشان شاد🙏
Forwarded from ICT_SOURCES & MATH
Forwarded from ICT_SOURCES & MATH
ازیرا سرت ز آسمان برترست
که بنیادت زان نامور گوهرست
جهانآفرین تا جهان آفرید
سواری چو رستم نیامد پدید
چو سام نریمان به گیتی نبود
سرش را نیارست گردون بسود
که بنیادت زان نامور گوهرست
جهانآفرین تا جهان آفرید
سواری چو رستم نیامد پدید
چو سام نریمان به گیتی نبود
سرش را نیارست گردون بسود
Forwarded from ICT𝘼𝘿𝙑𝘼𝙉𝘾𝙀𝘿️(𝐙𝐞𝐭𝐚 𝐜𝐢𝐫𝐜𝐥𝐞 𝐢𝐧𝐧𝐞𝐫 𝐜𝐢𝐫𝐜𝐥𝐞 𝐯𝐢𝐩𝐞𝐫️)™️ (𝐼𝑁𝑁𝐸𝑅 𝐶𝐼𝑅𝐶𝐿𝐸 𝑉𝐼𝑃𝐸𝑅️️)
This media is not supported in your browser
VIEW IN TELEGRAM