در اینجا نسخه بازنویسی شده و منظم پروژه به زبان فارسی ارائه شده است که برای ارائه به عنوان یک مورد فنی یا مستندات پروژه آماده است:
***
# مورد فنی: سیستم امتیازدهی مومنتوم ارزهای دیجیتال
## 1. خلاصه پروژه
هدف این پروژه، توسعه یک سامانه مبتنی بر پایتون برای تحلیل و امتیازدهی در لحظه (Real-time) به ارزهای دیجیتال است. این سیستم با استفاده از تغییرات قیمت، پویایی حجم معاملات و رتبه بازار (Standing)، داراییها را آنالیز کرده و بر اساس قدرت روند (Momentum) رتبهبندی میکند.
## 2. وظایف و ماژولهای اصلی
### ماژول 1: جمعآوری دادهها (Data Acquisition)
- **منبع:** اتصال به API صرافیهای معتبر (مانند Binance یا Coinbase) با استفاده از کتابخانه `ccxt`.
- **دادههای مورد نیاز:**
- قیمت فعلی ($P_{curr}$) در مقابل قیمت 1 ساعت قبل ($P_{prev}$)
- حجم معاملات: فعلی، 1 ساعت قبل و حداکثر حجم 24 ساعته
- سقف قیمت 24 ساعته (High 24h/ATH)
- رتبه یا جایگاه بازار (Standing/Rank)
### ماژول 2: موتورهای محاسبه امتیاز
منطق اصلی سیستم شامل سه موتور مجزا است که امتیاز نهایی را تشکیل میدهند. «این امکان وجود دارد که در طول پروژه، پارامترها یا فرمولها تغییر کنند.» با توجه به احتمال تغییر فرمولها و پارامترها جهت رسیدن به بهترین خروجی، سیستم به گونهای طراحی میشود که منطق محاسباتی از پارامترهای ورودی کاملاً جدا باشد.
**موتور A: مومنتوم قیمت (Price Momentum)**
تمرکز بر سرعت و تداوم روند قیمت.
$$ \text{Score}_A = (\%\Delta \times (1 + 0.2 \times \text{Strike})) \times \text{Decay} + \left(\frac{P_{curr}}{\text{ATH}}\right)^3 \times 5 $$
* **Strike:** شمارنده کندلهای سبز متوالی (روند صعودی پیوسته).
* **Decay:** ضریب جریمه که در صورت اصلاح قیمت اعمال میشود.
**موتور B: مومنتوم حجم (Volume Momentum)**
تمرکز بر قدرت نسبی حجم و اشباع خرید/فروش.
$$ \text{Score}_B = \log_{10}\left(\frac{V_{curr}}{V_{prev}} + 1\right) \times 10 + \left(\frac{V_{curr}}{V_{max24h}}\right)^2 \times 5 $$
**موتور C: امتیاز جایگاه بازار (Market Standing)**
امتیاز ویژه برای کوینهای برتر که رتبه خود را حفظ کردهاند.
$$ \text{Score}_C = \left(\frac{\text{Standing} - 9849}{150}\right)^2 \times (1 + 0.1 \times \text{Streak}) $$
* **شرط فعالسازی:** این موتور فقط برای داراییهایی با `Standing > 9850` فعال میشود.
### ماژول 3: تجمیع و خروجی
- **فرمول نهایی:** $\text{Total Score} = \text{Score}_A + \text{Score}_B + \text{Score}_C$
- **رتبهبندی:** ایجاد لیست مرتب شده از 1000+ کوین و نمایش 10 کوین برتر (Top 10).
## 3. مصورسازی و شبیهسازی
### داشبورد دادهها (Visualization)
- **جداول:** لیست قابل سورت شامل نماد، قیمت، تغییرات درصدی و ریز امتیازها.
- **نمودارها:**
- نمودار خطی: روند قیمت.
- نمودار میلهای: مقایسه حجم نسبی.
- بازه زمانی: پنجره 6 ساعته گذشته.
### شبیهساز معاملاتی (Paper Trading)
- **منطق:** تخصیص سرمایه مجازی به صورت تئوری.
- **استراتژی:** توزیع برابر سرمایه بین 10 کوین برتر شناسایی شده توسط سیستم.
- **متریک:** محاسبه سود و زیان (PnL) لحظهای.
ماژول 4: شبیهساز معاملات و محاسبه سود و زیان (Paper Trading & PnL Engine)
این ماژول به عنوان آخرین حلقه از زنجیره سیستم، وظیفه دارد تا خروجیهای تحلیلی ماژولهای قبلی را در یک محیط شبیهسازی شده (بدون ریسک واقعی) تست کرده و عملکرد استراتژی را بسنجد.
هدف: ارزیابی کارایی استراتژی مومنتوم در شرایط واقعی بازار بدون درگیر کردن سرمایه واقعی.
## . تکنولوژیهای مورد استفاده
* **زبان:** Python 3.9+
* **کتابخانههای ضروری:**
* `ccxt` (اتصال به صرافیها)
* `pandas` (پردازش دادههای جدولی)
* `numpy` (محاسبات برداری سریع)
* `matplotlib` یا `plotly` (رسم نمودار)
* `requests` (ارتباطات وب)
## 5. توابع کلیدی جهت پیادهسازی
```python
def calculate_price_momentum(price_curr, price_prev, high_24h, strike):
# محاسبه امتیاز قیمت و بهروزرسانی Strike
return (score, new_strike)
def calculate_volume_momentum(vol_curr, vol_prev, vol_max_24h):
# محاسبه امتیاز حجم
return score
def calculate_standing_dominance(standing, streak):
# محاسبه امتیاز رتبه (فقط برای Standing > 9850)
return (score, new_streak)
```
## 6. برنامه زمانبندی و فازهای تحویل
**فاز 1: هسته محاسباتی (روز 1 تا 3)**
- پیادهسازی توابع ریاضی دقیق.
- تست واحد (Unit Test) با یک مجموعه داده ثابت 20 تایی.
**فاز 2: پایپلاین داده (روز 4 تا 7)**
- اتصال به API و دریافت دادههای زنده.
- مدیریت خطاها (Rate limits، قطعی اینترنت) و نرمالسازی دادهها.
**فاز 3: داشبورد و نمودارها (روز 8 تا 10)**
- ساخت جداول خروجی و ماژولهای نموداری.
- فرمتدهی خروجی در ترمینال یا رابط کاربری ساده.
**فاز 4: شبیهساز و نهاییسازی (روز 11 تا 14)**
- پیادهسازی منطق Paper Trading.
- بهینهسازی سرعت (هدف: پردازش 1000 کوین در کمتر از 5 ثانیه).
- مستندسازی کد و راهنمای نصب.
## 7. الزامات تحویل پروژه
✅ **عملکرد:** پردازش بیش از 1000 کوین در کمتر از 5 ثانیه.
✅ **دقت:** پیادهسازی فرمولها دقیقاً طبق مشخصات ریاضی ارائه شده.
✅ **پایداری:** مدیریت خطاهای رایج (مانند تقسیم بر صفر یا دادههای خالی API).
✅ **مستندات:** داکیومنت کامل کد و فایل `README` برای نحوه اجرا.
---
**مدت زمان تخمینی:** 2 هفته (تمام وقت)
**تخصص مورد نیاز:** برنامهنویسی پایتون، تحلیل داده، کار با API های مالی
این آگهی از وبسایت کارلنسر پیدا شده، با زدن دکمهی تماس با کارفرما، به وبسایت کارلنسر برین و از اونجا برای این شغل اقدام کنین.
هشدار
توجه داشته باشید که دریافت هزینه از کارجو برای استخدام با هر عنوانی غیرقانونی است. در صورت مواجهه با موارد مشکوک، با کلیک بر روی «گزارش مشکل آگهی» به ما در پیگیری تخلفات کمک کنید.