📊 مستندات فنی سیستم تحلیل ارز دیجیتال

شرح کامل الگوریتم‌ها، اندیکاتورها و روش‌های محاسباتی

🔬 تحلیل تکنیکال پیشرفته 🤖 هوش مصنوعی DeepSeek 📈 تشخیص الگو
۱۵+
اندیکاتور تکنیکال
۷
الگوی کندلی
۴۵+
ویژگی استخراجی
۱۰۰۰
کندل تحلیلی

📋 فهرست مطالب

🔄
فرآیند کلی تحلیل

سیستم تحلیل در چهار مرحله اصلی عمل می‌کند. هر مرحله داده‌های مرحله قبل را دریافت و پردازش می‌کند تا در نهایت یک پیش‌بینی معاملاتی تولید شود.

۱

دریافت داده

CoinEx API

۲

محاسبه اندیکاتور

۱۵+ اندیکاتور

۳

استخراج ویژگی

۴۵+ ویژگی

۴

تحلیل AI

DeepSeek

💡 نکته مهم

تمامی محاسبات بر روی ۱۰۰۰ کندل آخر انجام می‌شود تا دقت تحلیل بالا باشد و روندهای بلندمدت نیز در نظر گرفته شوند.

📡
منبع داده (CoinEx API)

🔗 اتصال به صرافی

داده‌های کندل‌استیک از API عمومی صرافی CoinEx دریافت می‌شوند.

GET https://api.coinex.com/v1/market/kline ?market={SYMBOL} &type={INTERVAL} &limit=1000
پارامتر توضیحات مثال
market نماد جفت‌ارز BTCUSDT, ETHUSDT
type تایم‌فریم 1hour, 4hour, 1day
limit تعداد کندل 1000 (حداکثر)

📊 ساختار داده کندل

هر کندل شامل اطلاعات زیر است:

timestamp (زمان)
open (قیمت باز شدن)
high (بالاترین قیمت)
low (پایین‌ترین قیمت)
close (قیمت بسته شدن)
volume (حجم معاملات)

⚠️ مدیریت خطا

سیستم دارای مکانیزم Retry با Exponential Backoff است. در صورت خطا، حداکثر ۲ بار تلاش مجدد با فاصله زمانی افزایشی انجام می‌شود.

📈
اندیکاتورهای روند (Trend Indicators)

این اندیکاتورها برای تشخیص جهت کلی حرکت قیمت و قدرت روند استفاده می‌شوند.

📊 EMA (میانگین متحرک نمایی)

میانگین متحرکی که وزن بیشتری به قیمت‌های اخیر می‌دهد. واکنش سریع‌تری به تغییرات قیمت دارد.

دوره‌ها: EMA 9, 20, 50, 200

📊 SMA (میانگین متحرک ساده)

میانگین ساده قیمت‌ها در دوره مشخص. برای تشخیص روندهای بلندمدت استفاده می‌شود.

دوره‌ها: SMA 50, 200

📊 MACD

تفاوت بین دو میانگین متحرک نمایی. برای تشخیص تغییر روند و قدرت حرکت استفاده می‌شود.

تنظیمات: Fast: 12, Slow: 26, Signal: 9

📊 ADX (شاخص جهت‌دار میانگین)

قدرت روند را اندازه‌گیری می‌کند (نه جهت). مقادیر بالای ۲۵ نشان‌دهنده روند قوی است.

دوره: 14 | سیگنال قوی: ADX ≥ 25

🔢 فرمول محاسبه MACD

MACD Line = EMA(12) - EMA(26) Signal Line = EMA(9) of MACD Line Histogram = MACD Line - Signal Line // سیگنال‌های معاملاتی: // ✅ خرید: MACD از پایین خط سیگنال را قطع کند // ❌ فروش: MACD از بالا خط سیگنال را قطع کند

🔢 سیگنال‌های EMA Cross

trend_ema_20_50 = EMA(20) > EMA(50) ? 1 : 0 trend_ema_50_200 = EMA(50) > EMA(200) ? 1 : 0 // Golden Cross: EMA کوتاه‌تر از EMA بلندتر عبور کند ← صعودی // Death Cross: EMA کوتاه‌تر از زیر EMA بلندتر عبور کند ← نزولی
اندیکاتورهای مومنتوم (Momentum Indicators)

این اندیکاتورها سرعت و قدرت تغییرات قیمت را اندازه‌گیری می‌کنند و برای تشخیص نقاط اشباع خرید/فروش استفاده می‌شوند.

⚡ RSI (شاخص قدرت نسبی)

نسبت میانگین سودها به ضررها در دوره مشخص. محدوده ۰ تا ۱۰۰.

دوره: 14
اشباع خرید: ≥ 70 | اشباع فروش: ≤ 30

⚡ Stochastic RSI

ترکیب RSI با اسیلاتور استوکاستیک. حساسیت بیشتری نسبت به RSI دارد.

دوره RSI: 14 | دوره Stoch: 14
K Period: 3 | D Period: 3

⚡ CCI (شاخص کانال کالا)

فاصله قیمت از میانگین آماری. برای تشخیص چرخش قیمت استفاده می‌شود.

دوره: 20
محدوده نرمال: -100 تا +100

⚡ ROC (نرخ تغییر)

درصد تغییر قیمت نسبت به N دوره قبل. سادگی و کارایی بالا.

دوره: 12
فرمول: ((Close - Close[n]) / Close[n]) × 100

🔢 فرمول محاسبه RSI

RS = Average Gain / Average Loss (over 14 periods) RSI = 100 - (100 / (1 + RS)) // تفسیر: // RSI ≥ 70 → اشباع خرید (احتمال اصلاح نزولی) // RSI ≤ 30 → اشباع فروش (احتمال بازگشت صعودی) // RSI = 50 → نقطه تعادل
📉
اندیکاتورهای نوسان (Volatility Indicators)

این اندیکاتورها میزان نوسان و تلاطم قیمت را اندازه‌گیری می‌کنند و برای تعیین حد سود/ضرر استفاده می‌شوند.

📉 ATR (میانگین دامنه واقعی)

میانگین نوسان قیمت در هر کندل. برای تعیین Stop Loss و Take Profit استفاده می‌شود.

دوره: 14
کاربرد: Stop Loss = Entry - (1.5 × ATR)

📉 Bollinger Bands

سه خط بر اساس میانگین متحرک و انحراف معیار. نشان‌دهنده محدوده نوسان قیمت.

دوره: 20 | انحراف:
خروجی: Upper, Middle, Lower

📉 Keltner Channel

مشابه Bollinger اما با ATR به جای انحراف معیار. نوسان کمتری دارد.

محاسبه:
Upper = EMA(20) + 1.5 × ATR
Lower = EMA(20) - 1.5 × ATR

📉 BB Squeeze (فشردگی)

وقتی عرض باند بولینگر کم شود، نشان‌دهنده انفجار قیمتی آتی است.

فرمول:
BB Width = (Upper - Lower) / Middle × 100
Squeeze: BB Width < 2%

🔢 فرمول محاسبه ATR

True Range = MAX( High - Low, ABS(High - Previous Close), ABS(Low - Previous Close) ) ATR = SMA(True Range, 14) // کاربرد در تعیین حد ضرر: // Stop Loss Long = Entry Price - (1.5 × ATR) // Stop Loss Short = Entry Price + (1.5 × ATR)
📊
اندیکاتورهای حجم (Volume Indicators)

حجم معاملات تأییدکننده حرکات قیمت است. افزایش حجم همراه با حرکت قیمت نشان‌دهنده قدرت روند است.

📊 OBV (حجم تعادلی)

جمع تجمعی حجم با علامت مثبت/منفی بر اساس جهت قیمت. برای تشخیص واگرایی استفاده می‌شود.

فرمول:
اگر Close > Previous Close: OBV += Volume
اگر Close < Previous Close: OBV -= Volume

📊 VWAP (میانگین قیمت وزنی حجم)

میانگین قیمت با در نظر گرفتن حجم. نقطه تعادل قیمت بر اساس معاملات واقعی.

فرمول:
TP = (High + Low + Close) / 3
VWAP = Σ(TP × Volume) / Σ(Volume)

📊 Volume Surge

تشخیص افزایش ناگهانی حجم نسبت به میانگین. سیگنال ورود/خروج بزرگ.

شرط: Volume > 1.8 × Average Volume(50)
خروجی: 0 یا 1

📊 Volume Profile (POC)

تحلیل توزیع حجم در سطوح قیمتی مختلف. POC = قیمتی با بیشترین حجم معامله.

تعداد سطوح: 30 سطح قیمتی
خروجی: POC Price, POC Bin Index

🔢 الگوریتم Volume Profile

function volumeProfile(candles, bins = 30): 1. محدوده قیمت را به 30 سطح تقسیم کن 2. برای هر کندل، قیمت میانه را محاسبه کن: (High + Low + Close) / 3 3. حجم را به سطح مربوطه اضافه کن 4. سطح با بیشترین حجم = POC (Point of Control) // POC معمولاً به عنوان سطح حمایت/مقاومت قوی عمل می‌کند
🕯️
الگوهای کندلی (Candlestick Patterns)

سیستم ۷ الگوی کندلی مهم را به صورت خودکار تشخیص می‌دهد. هر الگو به صورت یک پرچم ۰ یا ۱ در بردار ویژگی‌ها ذخیره می‌شود.

Doji (دوجی)

بدنه خیلی کوچک
نشانه تردید بازار

🔨
Hammer (چکش)

سایه پایین بلند
سیگنال بازگشت صعودی

Shooting Star

سایه بالا بلند
سیگنال بازگشت نزولی

🟢
Bullish Engulfing

کندل سبز بزرگ
پوشش کندل قبلی

🔴
Bearish Engulfing

کندل قرمز بزرگ
پوشش کندل قبلی

📦
Inside Bar

کندل داخل کندل قبلی
انباشت انرژی

📤
Outside Bar

کندل بزرگ‌تر از قبلی
شکست قوی

🔢 فرمول‌های تشخیص الگو

// متغیرهای پایه candleBody = ABS(close - open) candleRange = high - low lowerWick = MIN(open, close) - low upperWick = high - MAX(open, close) // الگوها isDoji = candleBody / candleRange < 0.1 isHammer = lowerWick > 2 × candleBody AND upperWick < candleBody isShootingStar = upperWick > 2 × candleBody AND lowerWick < candleBody // Engulfing isBullEngulf = prev.close < prev.open AND last.close > last.open AND last.close > prev.open AND last.open < prev.close // Inside/Outside isInside = last.high ≤ prev.high AND last.low ≥ prev.low isOutside = last.high ≥ prev.high AND last.low ≤ prev.low
🏗️
ساختار بازار (Market Structure)

تحلیل ساختار بازار بر اساس قله‌ها (Swing Highs) و دره‌ها (Swing Lows) انجام می‌شود. این تحلیل برای تشخیص روند و نقاط چرخش استفاده می‌شود.

📈 HH (Higher High)

قله جدید بالاتر از قله قبلی. نشانه ادامه روند صعودی.

امتیاز عددی: 3

📈 HL (Higher Low)

دره جدید بالاتر از دره قبلی. تأیید روند صعودی.

امتیاز عددی: 2

📉 LH (Lower High)

قله جدید پایین‌تر از قله قبلی. نشانه ضعف یا روند نزولی.

امتیاز عددی: 1

📉 LL (Lower Low)

دره جدید پایین‌تر از دره قبلی. تأیید روند نزولی.

امتیاز عددی: 0

🔄 BOS و CHoCH

مفهوم توضیحات سیگنال
BOS
(Break of Structure)
شکست یک قله یا دره مهم قبلی. ادامه روند فعلی را تأیید می‌کند. ادامه روند
CHoCH
(Change of Character)
تغییر جهت ساختار بازار. نشانه احتمال چرخش روند. برگشت روند

🔢 الگوریتم تشخیص Swing Points

// تشخیص نقاط چرخش با روش 5 کندلی for i = 2 to length - 2: // Swing High: قیمت بالای کندل از 2 کندل قبل و بعد بالاتر است if candle[i].high > candle[i-1].high AND candle[i].high > candle[i-2].high AND candle[i].high > candle[i+1].high AND candle[i].high > candle[i+2].high: → Swing High شناسایی شد // Swing Low: قیمت پایین کندل از 2 کندل قبل و بعد پایین‌تر است if candle[i].low < ... (مشابه بالا) → Swing Low شناسایی شد
🧮
بردار ویژگی‌ها (Feature Vector)

تمامی اندیکاتورها و الگوها به یک بردار عددی تبدیل می‌شوند که ورودی مدل هوش مصنوعی است. این بردار شامل ۴۵+ ویژگی عددی است.

دسته‌بندی ویژگی‌ها نوع
قیمت lastClose, pctCloseChange_1 عدد اعشاری
روند ema9, ema20, ema50, ema200, sma50, sma200, trend_ema_20_50, trend_ema_50_200 عدد / 0-1
MACD macd_macd, macd_signal, macd_hist, macd_dir عدد / 0-1
مومنتوم rsi14, rsi_overbought, rsi_oversold, stoch_k, stoch_d, cci, roc عدد / 0-1
نوسان atr, bb_lower/middle/upper, bb_width, bb_squeeze, keltner_* عدد / 0-1
حجم lastVol, avgVol50, vol_surge, obv, vwap, vol_poc_* عدد / 0-1
الگوها pattern_doji, pattern_hammer, pattern_shootingstar, pattern_*_engulf, pattern_inside/outside 0 یا 1
ساختار ms_label (0-3), ms_bos, ms_choch عدد / 0-1

💡 نرمال‌سازی داده‌ها

تمامی مقادیر null به صورت null برگردانده می‌شوند تا مدل AI بتواند آنها را مدیریت کند. مقادیر boolean به 0 و 1 تبدیل می‌شوند.

🤖
تحلیل هوش مصنوعی (DeepSeek)

پس از استخراج ویژگی‌ها، داده‌ها به مدل DeepSeek ارسال می‌شوند. این مدل با تحلیل جامع، نقاط ورود، حد سود و حد ضرر را پیشنهاد می‌دهد.

📤 ورودی مدل AI

{ "meta": { "symbol": "BTCUSDT", "interval": "1hour", "candlesCount": 1000 }, "features": { "rsi14": 45.2, "macd_hist": 12.5, "trend_ema_20_50": 1, "pattern_hammer": 1, ... }, "detectedPatterns": ["Hammer", "Bullish Engulfing"] }

📥 خروجی مدل AI

{ "symbol": "BTCUSDT", "entry": 65000, // نقطه ورود "take_profit": 68000, // حد سود "stop_loss": 63500, // حد ضرر "r_r_ratio": "2.0", // نسبت ریسک به ریوارد "trend_summary": "روند صعودی با حمایت EMA", "confidence": 73.5, // درصد اطمینان "indicators": { "rsi": "RSI در محدوده نرمال (45)", "macd": "MACD مثبت و در حال افزایش", "ema": "قیمت بالای EMA 20 و 50", "bollinger": "قیمت نزدیک میانه باند" }, "description": "با توجه به الگوی چکش و تأیید MACD..." }

📋 قوانین تحلیل

اختلاف ورود و خروج: ۲-۱۰٪
حد ضرر منطقی و مدیریت‌شده
فقط خروجی JSON معتبر
اطمینان بین ۰ تا ۱۰۰
توضیحات به زبان فارسی
تحلیل چند اندیکاتوری

⚠️ تبدیل قیمت به ریال

تمامی قیمت‌های دلاری (USDT) به صورت خودکار به ریال تبدیل می‌شوند تا با صرافی نوبیتکس سازگار باشند. نرخ ارز قبل از هر سیکل معاملاتی به‌روزرسانی می‌شود.

📋
خلاصه محاسبات امتیازدهی

هر ارز بر اساس مجموع وزن‌دار اندیکاتورها امتیاز می‌گیرد و ارزهای برتر برای معامله انتخاب می‌شوند.

🔢 فرمول امتیازدهی کلی

Final Score = RSI Score × 0.25 + MACD Score × 0.25 + ADX Score × 0.15 + Trend Score × 0.15 + Volume Score × 0.10 + Volatility Score × 0.10 // نتیجه: عدد ۰ تا ۱۰۰ // ارزهای با امتیاز بالاتر برای معامله انتخاب می‌شوند
اندیکاتور وزن محدوده بهینه
RSI 25% 30-70 (نرمال)، زیر 30 (خرید قوی)
MACD Histogram 25% مثبت و رو به رشد
ADX 15% بالای 25 (روند قوی)
EMA Trend 15% EMA کوتاه بالای EMA بلند
Volume Surge 10% بالای 1.8× میانگین
ATR (نوسان) 10% نوسان متوسط (نه خیلی بالا)