در زبان برنامهنویسی Pine Script®، از نورم دات که برای متدهای اکستنش در زبانهای دیگر استفاده میشود، اکنون پشتیبانی میشود. برنامهنویسان میتوانند از این نحو جدید به دو شیوه استفاده کنند:
- با متدهای تعریف شده توسط کاربر که تابعهای خاصی هستند که با کلمه کلیدی جدید متد اعلان میشوند.
- با تابعهای داخلی از فضاهای نام array، box، label، line، linefill، matrix و table زمانی که پارامتر اول شناسه یک شی از آن نوع باشد.
به این مثال ساده میپردازیم که در آن ما میانگین پایینترین قیمت را برای یک پنجره متحرک از میلههای صعودی محاسبه میکنیم:
//@version=5 indicator("Long stop", "", true) int lengthInput = input(20) var pricesArray = array.new(lengthInput) method maintainQueue(array srcArray, float value) => // اضافه کردن یک مقدار جدید به انتهای آرایه. srcArray.push(value) // حذف مقدار قدیمیترین از ابتدای آرایه. srcArray.shift() if close > open // پیگیری مقادیر `low` میلههای صعودی. pricesArray.maintainQueue(low) plot(pricesArray.avg(), "Stop")
متد maintainQueue() ما بسیار شبیه به یک تابع معمولی است و میتوان از آن به همین شیوه استفاده کرد، اما کلمه کلیدی متد همچنین اجازه میدهد تا از آن با نورم دات پس از متغیر نوع پارامتر اول استفاده کنیم. وقتی این کار را انجام میدهیم، آرگومان اول را از تماس با متد حذف میکنیم، مانند pricesArray.maintainQueue(low).
همچنین توجه داشته باشید که چگونه از نورم متد با تابعهای موجود در فضای نام array در تماسهایی مانند srcArray.push() و srcArray.shift() درون کد متد استفاده میکنیم و همچنین pricesArray.avg() در خط آخر مثال.
شما میتوانید اطلاعات بیشتری در مورد این ویژگی جدید در صفحه روشها در راهنمای کاربری ما پیدا کنید.
برای مشاهده متدها در عمل، میتوانید کد بهروز شده اندیکاتور Gaps داخلی ما را مشاهده کنید که از متدهای داخلی و تعریف شده توسط کاربر برای برجسته کردن شکافهای چارت با جعبهها استفاده میکند:
برای استفاده رایگان از تریدینگ ویو پرمیوم از چارت آتو تی کریپتو استفاده کنید
ما همچنین کد کتابخانه ZigZag خود را بهروزرسانی کردهایم تا از متدهای داخلی و کاربرتعریفشده استفاده کند:
ZigZag از تریدینگ ویو
در زیر میتوانید اشیاء و متدهای استفادهشده در اسکریپتهای برخی از PineCoders را مشاهده کنید:
Flare توسط Fikira
Zigzag بازگشتی [Trendoscope] توسط HeWhoMustNotBeNamed
برای استفاده رایگان از تریدینگ ویو پرمیوم از چارت آتو تی کریپتو استفاده کنید
آتو پچفورک بازگشتی [Trendoscope] توسط HeWhoMustNotBeNamed
برای آگاه ماندن از ویژگیهای جدید Pine Script®، به یادداشتهای انتشار راهنمای کاربر توجه کنید. حساب PineCoders نیز بهروزرسانیهایی از Squawk Box خود در تلگرام، حساب توییتر خود و از چت عمومی سوال و جواب Pine Script® در TradingView را پخش میکند.
امیدواریم این ویژگی که مورد درخواست زیادی قرار گرفته برای شما مفید باشد. لطفاً بازخوردها و پیشنهادهای خود را برای بهبود ادامه دهید. ما TradingView را برای شما میسازیم و همواره مشتاق دریافت نظرات شما هستیم.
برای استفاده رایگان از تریدینگ ویو پرمیوم از چارت آتو تی کریپتو استفاده کنید.