اکنون کوانتها میتوانند از ماتریسها در اسکریپتهای خود استفاده کنند! این ویژگی به عنوان یک شیء جدید با فضای نام مخصوص به خود و مجموعهای کامل از 49 تابع همراه که به شما امکان میدهد ماتریسها را ایجاد و ویرایش کنید و عملیات معمول جبر ماتریس را انجام دهید، پیادهسازی شده است.
توابع مرتبط با ماتریس در فضای نام matrix.* قرار دارند. برای ایجاد یک ماتریس ساده میتوانید از تابع matrix.new
// یک ماتریس "int" 2x3 (2 ردیف و 3 ستون) با مقادیر صفر ایجاد میکند. m = matrix.new(2, 3, 0)
شما میتوانید یک ماتریس را با استفاده از تابع matrix.set() برای تعیین ارزش عناصر خاص یا با استفاده از تابع matrix.fill() برای پر کردن کل ماتریس با یک مقدار، پر کنید. ماتریسها همه نوعهای Pine را پشتیبانی میکنند. تمام عناصر در ماتریس باید از یک نوع باشند که با استفاده از الگوهای نوع جدید (یک نام نوع در براکتهای “<>”) در تماس matrix.new
توابع ماتریس
matrix.new |
یک شیء ماتریس جدید ایجاد میکند. ماتریس یک ساختار داده دوه بعدی است که شامل ردیفها و ستونها میباشد. تمام عناصر در ماتریس باید از نوع مشخص شده در الگوی نوع (“ |
matrix.row() | یک آرایه یکبعدی از عناصر یک ردیف ماتریس ایجاد میکند. |
matrix.col() | یک آرایه یکبعدی از عناصر یک ستون ماتریس ایجاد میکند. |
matrix.get() | عنصری را که دارای شاخص مشخص شده در ماتریس است، برمیگرداند. |
matrix.set() | به عنصر در شاخص ستون و ردیف ماتریس مقدار value را اختصاص میدهد. |
matrix.rows() | تعداد ردیفهای موجود در ماتریس را بازمیگرداند. |
matrix.columns() | تعداد ستونهای موجود در ماتریس را بازمیگرداند. |
matrix.elements_count() | تعداد کل عناصر ماتریس را بازمیگرداند. |
matrix.add_row() | یک ردیف به ماتریس اضافه میکند. این ردیف میتواند شامل |
برای استفاده رایگان از تریدینگ ویو پرمیوم از چارت آتو تی کریپتو استفاده کنید
na مقادیر، یا یک آرایه میتواند برای ارائه مقادیر استفاده شود.
matrix.add_col()
این تابع یک ستون به ماتریس اضافه میکند. این ستون میتواند شامل na مقادیر باشد، یا یک آرایه برای ارائه مقادیر میتواند استفاده شود.
matrix.remove_row()
این تابع ردیف ماتریس را حذف کرده و آرایهای شامل مقادیر ردیف حذف شده را برمیگرداند.
matrix.remove_col()
این تابع ستون ماتریس را حذف کرده و آرایهای شامل مقادیر ستون حذف شده را برمیگرداند.
matrix.swap_rows()
این تابع ردیفهای داخل ماتریس را جابجا میکند.
matrix.swap_columns()
این تابع ستونهای داخل ماتریس را جابجا میکند.
matrix.fill()
این تابع یک ناحیه مستطیلی از ماتریس را که توسط ایندکسهای from_column تا to_column (شامل نمیشود) و from_row تا to_row (شامل نمیشود) تعریف شده است، با مقدار value پر میکند.
matrix.copy()
یک ماتریس جدید که کپی ماتریس اصلی است، ایجاد میکند.
matrix.submatrix()
یک زیرماتریس را درون ایندکسهای مشخص شده استخراج میکند.
matrix.reverse()
ترتیب ردیفها و ستونها در ماتریس را معکوس میکند. ردیف و ستون اول به آخرین و آخرین به اول تبدیل میشوند.
matrix.reshape()
ماتریس را به ابعاد rows x cols بازسازی میکند.
matrix.concat()
یک ماتریس را به دیگری اضافه میکند.
matrix.sum()
یک ماتریس جدید که نتیجه جمع دو ماتریس، یا یک ماتریس و یک عدد (مقدار عددی) است را برمیگرداند.
matrix.diff()
یک ماتریس جدید که نتیجه تفریق بین ماتریسها، یا یک ماتریس و یک عدد (مقدار عددی) است را برمیگرداند.
matrix.mult()
یک ماتریس جدید که نتیجه ضرب
برای استفاده رایگان از تریدینگ ویو پرمیوم از چارت آتو تی کریپتو استفاده کنیدمحصول بین ماتریسها، یا بین یک ماتریس و یک عدد اسکالر (یک مقدار عددی)، یا بین یک ماتریس و یک وکتور (یک آرایه از مقادیر) محاسبه میشود.
برای استفاده رایگان از تریدینگ ویو پرمیوم از چارت آتو تی کریپتو استفاده کنید.ردیف یک ماتریس (مجموع عناصر بر روی قطر اصلی).
برای استفاده رایگان از تریدینگ ویو پرمیوم از چارت آتو تی کریپتو استفاده کنید.
matrix.is_stochastic() | این تابع بررسی میکند که آیا ماتریس تصادفی است یا خیر. |
matrix.is_square() | این تابع بررسی میکند که آیا ماتریس مربع است (یعنی تعداد سطرها و ستونهای آن برابر است). |
برخی از توابع موجود اکنون از ماتریسها نیز پشتیبانی میکنند: ساختار for…in به شما امکان میدهد که از سطرهای ماتریس عبور کنید و از آنان به عنوان آرایه استفاده کنید. تابع str.tostring() ماتریس را به نمایش رشتهای آن تبدیل میکند.
در مثال زیر، ما یک ماتریس ایجاد میکنیم و عناصر آن را بر اساس مقادیر اولین ستون به صورت صعودی مرتب میکنیم. سپس ماتریس را در یک جدول نمایش میدهیم:
//@version=5 indicator("مثال ماتریس", overlay = true) // ایجاد یک ماتریس ۲ در ۲ با مقادیر ‘na’. m1 = matrix.new(2, 2, na) // تنظیم مقادیر برای عناصر ماتریس. آرگومان اول شی ماتریس است که قبلاً ایجاد کردیم، آرگومان دوم شاخص سطر است (از ۰ برای سطر اول شروع میشود)، آرگومان سوم شاخص ستون است (از ۰ برای ستون اول شروع میشود). آخرین آرگومان مقدار باید تنظیم شود. matrix.set(m1, 0, 0, 3) matrix.set(m1, 0, 1, 4) matrix.set(m1, 1, 0, 1) matrix.set(m1, 1, 1, 2) // کپی کردن ماتریس برای ایجاد یک ماتریس جدید. m2 = matrix.copy(m1) // مرتبسازی سطرهای ماتریس `m2` بر اساس مقادیر اولین ستون به صورت صعودی. matrix.sort(m2, 0, order.ascending) // نمایش عناصر ماتریس در جدول. var t = table.new(position.top_right, 2, 2, color.green) if barstate.islastconfirmedhistory table.cell(t, 0, 0, "ماتریس اصلی:") table.cell(t, 0, 1, str.tostring(m1)) table.cell(t, 1, 0, "ماتریس مرتبشده:") table.cell(t, 1, 1, str.tostring(m2))
برای استفاده رایگان از تریدینگ ویو پرمیوم از چارت آتو تی کریپتو استفاده کنید
در زیر نمونههایی از اسکریپتهایی که توسط PineCoders در تریدینگ ویو منتشر شدهاند و به آزمایش ویژگیهای جدید Pine Script® کمک میکنند، ارائه میشود:
کتابخانه “Fit چند جملهای” توسط RicardoSantos
کتابخانه مذکور به انجام برازش چند جملهای برای دادهها میپردازد. در آمار، برازش چند جملهای نوعی تحلیل برازش است که در آن رابطه بین متغیر مستقل x و متغیر وابسته y به عنوان یک چند جملهای از درجه n در x مدلسازی میشود.
کتابخانه “روش حداقل مربعات عادی” توسط lejmer
برای استفاده رایگان از تریدینگ ویو پرمیوم از چارت آتو تی کریپتو استفاده کنید
یکی از روشهای رایج برای تخمین ضرایب رگرسیون خطی، استفاده از روش حداقل مربعات معمولی (OLS) است. این مجموعه قابلیت این را دارد که رگرسیون خطی را با چندین متغیر مستقل بر روی یک متغیر وابسته برازش دهد، به شرطی که فرضیات مربوط به OLS برقرار باشد.
“احتمال قیمت تنزیل شده” توسط HeWhoMustNotBeNamed
این اسکریپت، همبستگی تاریخی قیمت و مبانی را مقایسه کرده و احتمال undervalued بودن را تعریف میکند.
امیدواریم این ویژگی که به شدت درخواست شده است برایتان مفید باشد. لطفاً بازخورد و پیشنهادات خود را برای بهبود به ما ارسال کنید. ما تریدینگ ویو را برای شما ساختهایم و همیشه مشتاق دریافت نظرات شما هستیم.
برای آگاهی از ویژگیهای جدید پاین، به یادداشتهای انتشار راهنمای کاربر پاین توجه کنید. حساب PineCoders همچنین بهروزرسانیهایی را از Squawk Box خود در تلگرام و همچنین از حساب توییتر خود پخش میکند و همچنین از چت عمومی بیت پاین اسکریپت® در تریدینگ ویو.
برای استفاده رایگان از تریدینگ ویو پرمیوم از چارت آتو تی کریپتو استفاده کنید