تفاوت ورژن‌های پاین اسکریپت (v4, v5, v6) در تریدینگ ویو

0

نظرات

1٬610

بازدید

ورژن پاین اسکریپت رو خط //@version مشخص می‌کنه. فرق v4، v5 و v6، تغییرهای مهمی مثل study و ta.sma و دلیل ارور کدهای قدیمی رو ساده یاد بگیر.
توضیحات

تا حالا شده یه کد پاین اسکریپت رو از یه سایت، کانال تلگرام یا گیت‌هاب کپی کنی و با ذوق و شوق توی ادیتور پیست کنی، اما دکمه اجرای کد رو که می‌زنی، با یه لیست طولانی از خطاهای قرمز رنگ روبه‌رو بشی؟ توی بیشتر مواقع، کدی که پیدا کردی هیچ غلط منطقی نداره، بلکه فقط با یک نسخه قدیمی‌تر پاین اسکریپت نوشته شده و پلتفرم نمی‌تونه دستورات اون رو با قوانین امروزی تطبیق بده.

پاین اسکریپت هم درست مثل تمام زبان‌های برنامه‌نویسی دنیا به مرور زمان رشد کرده، منظم‌تر شده و امکانات جدیدی بهش اضافه شده. دونستن تفاوت ورژن‌های پاین اسکریپت بهت کمک می‌کنه کدهای قدیمی رو خیلی راحت بفهمی، ارورهای رایج رو در چند ثانیه رفع کنی و اسکریپت‌های جدیدت رو با آخرین استانداردهای رسمی بنویسی. توی این مطلب، مسیر تحول پاین اسکریپت از v4 تا v6 رو بررسی می‌کنیم.

مسیر تکامل پاین اسکریپت در یک نگاه

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

خط زمان ورژن‌های پاین اسکریپت از v1 در سال ۲۰۱۸ تا v6 در سال ۲۰۲۴

نگاهی به این جدول زمانی بندازیم تا با فلسفه هر دوره آشنا بشیم:

  • نسخه‌های ابتدایی (v1 تا v3): در سال‌های اولیه معرفی شد و امکانات بسیار محدودی داشت. متغیرها ساده بودن، مدیریت آرایه‌ها وجود نداشت و ساختارهای کنترلی مثل حلقه‌ها بسیار سخت پیاده می‌شدن.
  • نسخه ۴ (v4 در سال ۲۰۲۰): یک جهش بزرگ بود. پشتیبانی گسترده‌تر از انواع داده‌ها، ساختارهای شرطی غنی‌تر و طراحی بصری بهتر باعث شد جامعه برنامه‌نویسان به شکل گسترده‌ای به این زبان رو بیارن.
  • نسخه ۵ (v5 در سال ۲۰۲۱): نسخه ساختاریافته نامیده شد. بزرگ‌ترین تغییر، دسته‌بندی توابع با پیشوند (Namespace)، اضافه شدن کتابخانه‌ها و یکپارچه‌سازی دستورات بود تا خوانایی کدها چند برابر بشه.
  • نسخه ۶ (v6 در سال ۲۰۲۴): مدرن‌ترین نسخه فعلی است که روی افزایش چشمگیر سرعت محاسبات، بهینه‌سازی حافظه، مدیریت دقیق‌تر مقادیر بولی و فرمت‌بندی پیشرفته متن تمرکز کرده است.

خط حیاتی ورژن: اگر این خط نباشد چه اتفاقی می‌افتد؟

در خط اول هر کد پاین اسکریپت، عبارتی شبیه به //@version=6 یا //@version=5 قرار داره. شاید فکر کنی این خط فقط یک کامنت ساده است چون با دو تا اسلش شروع شده، اما در واقع یک دستور مستقیم به کامپایلره. اگر این خط رو از بالای کد پاک کنی، تریدینگ ویو به طور پیش‌فرض فرض می‌کنه کد تو مربوط به نسخه ۱ هست و با قوانین باستانی سال ۲۰۱۸ اجراش می‌کنه؛ نتیجه هم فوران ارورهای عجیب و غریبه. پس همیشه اولین خط کدت رو بررسی کن.

مقایسه عملی کدها: چه چیزهایی در نسخه ۵ و ۶ عوض شد؟

برای اینکه عمق تغییرات رو لمس کنی، بیا یک کد یکسان رو در دو دوره متفاوت مقایسه کنیم. تصویر زیر دو نسخه از یک اسکریپت ساده رو در محیط پاین ادیتور کنار هم نشون می‌ده:

مقایسه کد نسخه ۴ و نسخه ۵ پاین اسکریپت در پاین ادیتور

تفاوت‌های اصلی در این مراحل و ساختارها خلاصه می‌شن:

  1. تغییر عنوان اصلی برنامه: در نسخه ۴ برای اندیکاتور از دستور study() استفاده می‌شد، اما از نسخه ۵ به بعد دستور استاندارد indicator() جایگزین شد.
  2. اضافه شدن پیشوند به توابع محاسباتی: در گذشته توابع فنی پراکنده بودن. مثلاً تابع میانگین متحرک به صورت sma() صدا زده می‌شد، اما در نسخه‌های جدید همه توابع تحلیلی به کتابخانه ta رفتن و به شکل ta.sma() نوشته می‌شن.
  3. حذف آرگومان شفافیت (transp): در نسخه ۴ پارامتری به نام transp=50 داخل تابع رسم وجود داشت. این پارامتر حذف شد و ساختار شفافیت به تابع مدرن color.new() منتقل شد تا رنگ‌ها انعطاف بیشتری داشته باشن.

برای درک بهتر، ابتدا شکل کد در نسخه ۴ رو ببین:

//@version=4
study("My Script", overlay=true)
mySma = sma(close, 14)
plot(mySma, color=color.red, transp=50)

و حالا معادل استاندارد همین کد در نسخه ۵ و ۶ رو بررسی کن:

//@version=6
indicator("My Script", overlay=true)
mySma = ta.sma(close, 14)
plot(mySma, color=color.new(color.red, 50))

علاوه بر این موارد، تابع معروف دریافت داده از تایم‌فریم‌های دیگر یعنی security() هم تغییر کرد و به فضای نام شبکه منتقل شد و حالا با دستور request.security() کار می‌کنه. همچنین پارامترهای ورودی که قبلاً با input() ساده تعریف می‌شدن، حالا از طریق توابع اختصاصی مثل input.int() یا input.string() مقداردهی می‌شن که توی راهنمای تنظیمات اینپوت اندیکاتورها تمام جزییاتش رو توضیح دادیم.

امکانات اختصاصی نسخه ۶

نسخه ۶ آخرین دستاورد توسعه‌دهندگان پاین اسکریپته. این نسخه قابلیت‌هایی مثل بهینه‌سازی هوشمند تایپ‌های داده سفارشی (UDT)، توابع پیشرفته مدیریت متن و رشته‌ها، بهبود سرعت پردازش محاسبات سنگین روی کندل‌های گذشته و سازگاری کامل با استراتژی‌های پیچیده رو به همراه آورده. برای مقایسه خروجی اندیکاتورها مثل میانگین متحرک ساده این نسخه سبک‌ترین و بهینه‌ترین مصرف حافظه رو ارائه می‌ده.

چطور کدهای قدیمی را آپدیت کنیم؟

خوشبختانه برای تبدیل کدهای قدیمی نیاز نیست همه چیز رو دستی از اول تایپ کنی. پاین ادیتور ابزار تبدیل خودکاری داره که با زدن چند دکمه، کدهای v4 رو به v5 ارتقا می‌ده. آموزش گام‌به‌گام این فرآیند رو می‌تونی توی مقاله آپدیت کدهای قدیمی پاین اسکریپت بخونی.

چک‌لیست طلایی کار با ورژن‌های پاین اسکریپت

قبل از اجرای اسکریپت، این موارد رو بررسی کن:

  • [ ] آیا در خط اول کد، عبارت //@version به درستی نوشته شده است؟
  • [ ] آیا توابع به کار رفته در کد با نسخه اعلام شده همخوانی دارند؟
  • [ ] آیا اندیکاتور شما روی چارت با سرعت مناسب و بدون کندی لود می‌شود؟
  • [ ] آیا در صورت نیاز از ساختارهای مدرن‌تر پاین اسکریپت استفاده کرده‌اید؟

برای تمرین، یه کد از اسکریپت‌های باز پیدا کن و تفاوت توابع نسخه‌ها رو بسنج. این کدها رو می‌تونی توی پاین ادیتور چارت تریدرفا هم پیاده کنی و با دکمه‌ی «افزودن به چارت» در هر دو نسخه ۵ و ۶ خروجیش رو ببینی. این شناخت دقیق بهت کمک می‌کنه بدون ترس از ارور، هر اسکریپتی رو به دلخواه شخصی‌سازی کنی.

همین حالا تمرین کنید مفاهیم این مقاله را روی چارت زنده ببینید؛ بدون فیلترشکن.
تریدرفا را در گوگل «منبع منتخب» کنید پیشنهاد ویژه · یک کلیک

تریدرفا را در گوگل «منبع منتخب» کنید

با حساب گوگل خود وارد شوید و در صفحه‌ای که باز می‌شود، تیک کنار «TraderFa» را بزنید. بعد از آن مطالب ما در بخش خبرهای مهم و پاسخ‌های هوش مصنوعی گوگل بیشتر به شما نشان داده می‌شود.

افزودن به منابع منتخب
سلب مسئولیت مالی و معاملاتی آموزشی است؛ توصیه‌ی مالی نیست
شفافیت محتوا و منابع بازبینی:

شفافیت محتوا: به‌روزرسانی و منابع

تاریخ انتشار
آخرین بازبینی
نویسنده و بازبین
روش تولید
سیاست تحریریه

منابع داده و مرجع

اشتراک‌گذاری

آنچه در این مطلب خواندید را روی داده‌ی زنده‌ی بازار ببینید: قیمت، نمودار و تاریخچه.

مطالب مرتبط

آپدیت کدهای قدیمی پاین اسکریپت به ورژن جدید

آپدیت کدهای قدیمی پاین اسکریپت به ورژن جدید

آپدیت کدهای قدیمی پاین اسکریپت با ابزار تبدیل خود پاین ادیتور انجام می‌شه. تبدیل قدم به قدم v4 به v5 و v6 و چک کردن خروجی بعد از آپدیت رو یاد بگیر.
مقاله
مطالعه مقاله
۱۰ دقیقه
آموزش کار با پاین ادیتور (Pine Editor) در تریدینگ ویو

آموزش کار با پاین ادیتور (Pine Editor) در تریدینگ ویو

پاین ادیتور (Pine Editor) جاییه که توی تریدینگ ویو کد پاین اسکریپت می‌نویسی. دکمه‌ها، قالب پیش‌فرض و ساخت اولین اندیکاتورت رو قدم به قدم یاد بگیر.
مقاله
مطالعه مقاله
۱۱ دقیقه
آموزش سورس (Source) در تنظیمات اندیکاتورهای تریدینگ ویو

آموزش سورس (Source) در تنظیمات اندیکاتورهای تریدینگ ویو

سورس (Source) می‌گه اندیکاتور با کدوم قیمت کندل حساب بشه. فرق close، high، low، hl2، hlc3 و ohlc4 و اثرشون روی خط اندیکاتور رو یاد بگیر.
مقاله
مطالعه مقاله
۱۰ دقیقه
آفست (Offset) در اندیکاتورهای تریدینگ ویو

آفست (Offset) در اندیکاتورهای تریدینگ ویو

آفست (Offset) خط اندیکاتور رو چند کندل جلو یا عقب می‌بره، بدون اینکه محاسبه‌اش عوض بشه. معنی آفست مثبت و منفی رو با مثال الیگیتور یاد بگیر.
مقاله
مطالعه مقاله
۱۰ دقیقه
اندیکاتور ATR (میانگین محدوده واقعی) و مدیریت ریسک

اندیکاتور ATR (میانگین محدوده واقعی) و مدیریت ریسک

اندیکاتور ATR (میانگین محدوده واقعی) نوسان بازار رو اندازه می‌گیره. فرمول True Range، تنظیم حد ضرر با ضریب ATR و حد ضرر متحرک رو با مثال یاد بگیر.
مقاله
مطالعه مقاله
۱۱ دقیقه
اندیکاتور حجم (Volume) چیست؟

اندیکاتور حجم (Volume) چیست؟

اندیکاتور حجم (Volume) نشون می‌ده توی هر کندل چقدر معامله شده. معنی رنگ میله‌ها، تأیید روند، شکست با حجم و حجم اوج رو با مثال یاد بگیر.
مقاله
مطالعه مقاله
۱۰ دقیقه

محصولات مرتبط

اندیکاتور کوارترلی تریدرفا (Quarterly)

اندیکاتور کوارترلی تریدرفا (Quarterly)

TraderFa Quarterly سیستم رهگیری زمان و قیمت بر اساس تئوری کوارترها در تریدینگ‌ویو:• رسم خودکار چرخه‌های زمانی Q1 تا Q4• تشخیص واگرایی‌های SMT/SSMT نهادی چندزمانه• سیگنال‌های تایید ساختار قیمت (PC, PSP, TPD)• داشبورد HUD در لحظه برای مدیریت تایم‌فریم‌ها
مقاله
مطالعه مقاله
۲ دقیقه
دیدگاه کاربران

هنوز نظری ثبت نشده

اولین نفری باشید که دیدگاهش را می‌نویسد.