Parser Functions
Parser Functions
توابع تجزیهگر ([Parser Functions]) ابزاری قدرتمند در MediaWiki هستند که به شما اجازه میدهند تا منطق و محاسبات را مستقیماً در صفحات ویکی خود تعبیه کنید. این توابع به شما امکان میدهند تا محتوا را به صورت پویا تولید کنید، متن را دستکاری کنید، و شرایط خاصی را بررسی کنید، همه اینها بدون نیاز به نوشتن کد PHP یا استفاده از Extensionها. این مقاله یک راهنمای جامع برای مبتدیان در مورد Parser Functions است، که شامل مفاهیم اساسی، نحوه استفاده، و مثالهای عملی میشود.
مقدمه
Parser Functions اساساً توابعی هستند که در داخل تگهای `<nowiki>` یا `Template:...` نوشته میشوند و هنگام پیشنمایش یا ذخیره صفحه، توسط تجزیهگر (Parser) ارزیابی میشوند. نتیجه این ارزیابی، جایگزین عبارت Parser Function در صفحه میشود. این قابلیت، امکان ایجاد محتوای بسیار پویا و قابل تنظیم را فراهم میکند.
نحو اصلی
نحو اصلی Parser Functions به شکل زیر است:
`{{#function:argument1|argument2|...}}`
- `#function`: نام تابع تجزیهگر.
- `argument1`, `argument2`, ...: آرگومانهای ورودی به تابع. تعداد و نوع این آرگومانها به تابع خاص بستگی دارد.
توابع پایه
در اینجا به برخی از مهمترین و پرکاربردترین توابع تجزیهگر اشاره میکنیم:
- `#if`: این تابع یک شرط را بررسی میکند و بر اساس نتیجه، محتوای متفاوتی را نمایش میدهد.
`{{#if:condition|then|else}}`
اگر `condition` ارزیابی شود به عنوان `true` (مثلاً یک رشته غیر خالی، یک عدد غیر صفر)، `then` نمایش داده میشود. در غیر این صورت، `else` نمایش داده میشود. اگر `else` حذف شود و شرط `false` باشد، هیچ چیزی نمایش داده نمیشود. شرطی سازی
- `#ifeq`: این تابع دو رشته را با هم مقایسه میکند و بر اساس برابری آنها، محتوای متفاوتی را نمایش میدهد.
`{{#ifeq:string1|string2|then|else}}`
اگر `string1` و `string2` با هم برابر باشند (به صورت حساس به حروف بزرگ و کوچک)، `then` نمایش داده میشود. در غیر این صورت، `else` نمایش داده میشود. مقایسه رشتهها
- `#ifexpr`: این تابع یک عبارت ریاضی را ارزیابی میکند و بر اساس نتیجه، محتوای متفاوتی را نمایش میدهد.
`{{#ifexpr:expression|then|else}}`
اگر `expression` ارزیابی شود به عنوان `true` (مثلاً یک عدد غیر صفر)، `then` نمایش داده میشود. در غیر این صورت، `else` نمایش داده میشود. عبارات ریاضی
- `#switch`: این تابع یک مقدار را با چندین مقدار دیگر مقایسه میکند و بر اساس اولین تطابق، محتوای متفاوتی را نمایش میدهد.
`{{#switch:value|case1|result1|case2|result2|...|default}}`
اگر `value` با `case1` برابر باشد، `result1` نمایش داده میشود. اگر با `case2` برابر باشد، `result2` نمایش داده میشود، و به همین ترتیب. اگر هیچ تطابقی پیدا نشود، `default` نمایش داده میشود. مقایسه چندگانه
- `#vardefine`: این تابع یک متغیر را تعریف میکند و مقدار اولیه به آن اختصاص میدهد. این متغیرها در طول صفحه قابل استفاده هستند.
`{{#vardefine:variable_name|value}}`
تعریف متغیر
- `#varget`: این تابع مقدار یک متغیر تعریف شده را برمیگرداند.
`{{#varget:variable_name}}`
دسترسی به متغیر
- `#time`: این تابع تاریخ و زمان فعلی را بر اساس فرمت مشخص شده نمایش میدهد.
`{{#time:format}}`
تاریخ و زمان
- `#title`: این تابع عنوان صفحه را برمیگرداند.
`{{#title:page_title}}`
عنوان صفحه
مثالهای عملی
- **نمایش پیام خوشآمدگویی بر اساس نام کاربر:**
```wiki {{#if:Template:USERNAME|سلام، Template:USERNAME! به ویکی ما خوش آمدید.|سلام، کاربر ناشناس! به ویکی ما خوش آمدید.}} ```
- **تغییر رنگ متن بر اساس یک متغیر:**
```wiki
{{#vardefine:color|blue}}
این متن به رنگ آبی است.
```
- **محاسبه مجموع دو عدد:**
```wiki {{#ifexpr: 2 + 3 | مجموع 2 و 3 برابر است با: {{#ifexpr: 2 + 3 | 5 | خطا در محاسبه}} | خطا در شرط}} ```
- **نمایش اطلاعات بر اساس مقدار یک پارامتر:**
```wiki {{#switch:default |book|این یک کتاب است. |movie|این یک فیلم است. |music|این یک آهنگ است. |#default|نوع نامعتبر. }} ```
توابع پیشرفته
- `#array`: ایجاد و مدیریت آرایهها.
- `#map`: اعمال یک تابع به هر عنصر یک آرایه.
- `#set`: تنظیم مقادیر در آرایهها.
- `#len`: محاسبه طول یک رشته یا آرایه.
- `#strpos`: یافتن موقعیت یک زیررشته در یک رشته.
- `#replace`: جایگزینی یک زیررشته با رشته دیگر.
- `#substring`: استخراج یک زیررشته از یک رشته.
- `#formatnum`: فرمت کردن اعداد.
- `#property`: دسترسی به ویژگیهای یک صفحه.
نکات مهم
- **حساسیت به حروف بزرگ و کوچک:** Parser Functions به حروف بزرگ و کوچک حساس هستند.
- **نحو صحیح:** اطمینان حاصل کنید که نحو توابع را به درستی رعایت میکنید.
- **تودرتو بودن:** میتوانید Parser Functions را در داخل یکدیگر تودرتو کنید تا منطق پیچیدهتری ایجاد کنید.
- **عملکرد:** استفاده بیش از حد از Parser Functions میتواند باعث کاهش عملکرد صفحه شود.
- **خطایابی:** در صورت بروز خطا، پیام خطا را به دقت بررسی کنید تا علت مشکل را پیدا کنید.
کاربردها در تحلیل داده و استراتژیهای معاملاتی
Parser Functions میتوانند در تحلیل دادههای مربوط به بازار سهام و بازارهای مالی نیز مفید باشند. به عنوان مثال:
- **نمایش وضعیت یک سهم:** میتوان از توابع شرطی برای نمایش وضعیت یک سهم (مثلاً "خرید"، "فروش"، "نگهداری") بر اساس قیمت فعلی و میانگین متحرک آن استفاده کرد.
میانگین متحرک
- **محاسبه شاخصهای مالی:** میتوان از توابع ریاضی برای محاسبه شاخصهای مالی مانند نسبت قیمت به درآمد (P/E ratio) یا بازده سرمایه (ROE) استفاده کرد.
- **ایجاد هشدارهای معاملاتی:** میتوان از توابع شرطی برای ایجاد هشدارهای معاملاتی بر اساس شرایط خاص بازار استفاده کرد.
تحلیل تکنیکال
- **نمایش دادههای حجم معاملات:** میتوان از توابع برای نمایش دادههای حجم معاملات و شناسایی الگوهای خاص استفاده کرد.
تحلیل حجم معاملات
- **محاسبه ریسک و بازده:** میتوان از Parser Functions برای محاسبه ریسک و بازده سرمایهگذاریها استفاده کرد.
مدیریت پورتفوی
- **نمایش دادههای بنیادی:** Parser Functions میتوانند برای نمایش دادههای بنیادی شرکتها، مانند درآمد، سود، و بدهیها استفاده شوند.
تحلیل بنیادی
- **ایجاد جداول مقایسهای:** میتوان جداول مقایسهای از سهام مختلف بر اساس شاخصهای مالی مختلف ایجاد کرد.
مقایسه سهام
- **محاسبه نقاط حمایت و مقاومت:** با استفاده از توابع ریاضی و شرطی، میتوان نقاط حمایت و مقاومت را محاسبه و نمایش داد.
الگوهای نموداری
- **نمایش شاخصهای مومنتوم:** میتوان شاخصهای مومنتوم مانند شاخص قدرت نسبی (RSI) را محاسبه و نمایش داد.
اندیکاتورهای تکنیکال
- **محاسبه میانگینهای وزنی:** Parser Functions میتوانند برای محاسبه میانگینهای وزنی در تحلیل سبد سهام استفاده شوند.
بهینهسازی پورتفوی
- **نمایش دادههای اقتصادی:** میتوان دادههای اقتصادی مانند نرخ بهره، نرخ تورم، و تولید ناخالص داخلی را نمایش داد.
اقتصاد کلان
- **محاسبه بتا (Beta):** محاسبه بتا یک سهم نسبت به بازار.
بتا
- **نمایش دادههای مربوط به اخبار:** Parser Functions میتوانند برای نمایش خلاصه یا لینک به اخبار مرتبط با یک سهم استفاده شوند.
اخبار بازار
- **محاسبه شاخصهای نوسانات:** Parser Functions میتوانند برای محاسبه شاخصهای نوسانات مانند انحراف معیار استفاده شوند.
مدیریت ریسک
- **ایجاد نمودارهای ساده:** اگرچه Parser Functions برای ایجاد نمودارهای پیچیده مناسب نیستند، میتوان از آنها برای ایجاد نمودارهای ساده مانند نمودارهای میلهای یا خطی استفاده کرد.
تصویرسازی دادهها
منابع بیشتر
- [Help:Parsing](https://en.wikipedia.org/wiki/Help:Parsing)
- [Category:Parser functions](https://en.wikipedia.org/wiki/Category:Parser_functions)
==
شروع معاملات الآن
ثبتنام در IQ Option (حداقل واریز $10) باز کردن حساب در Pocket Option (حداقل واریز $5)
به جامعه ما بپیوندید
در کانال تلگرام ما عضو شوید @strategybin و دسترسی پیدا کنید به: ✓ سیگنالهای معاملاتی روزانه ✓ تحلیلهای استراتژیک انحصاری ✓ هشدارهای مربوط به روند بازار ✓ مواد آموزشی برای مبتدیان