احتمالاً برای تو هم پیش اومده که یک اسکریپت کاربردی و عالی توی فرومها یا کدهای قدیمی پیدا کردی، اما وقتی میخوای به چارت اضافهاش کنی یا تغییری توش بدی، با هشدارهای زرد و قرمز مواجه میشی. سیستم بهت میگه توابع استفادهشده منسوخ شدن و دیگه پشتیبانی نمیشن. در این شرایط، خیلی از تریدرها فکر میکنن کد سوخته و به کل بیخیالش میشن، در حالی که با چند کلیک ساده میشه اسکریپت رو به جدیدترین استاندارد روز مجهز کرد.
تیم توسعه تریدینگ ویو خوشبختانه یک ابزار تبدیل هوشمند در دل پلتفرم قرار داده تا نیازی نباشه ساعتها وقت صرف کنی و تکتک توابع رو دستی تغییر بدی. توی این راهنما یاد میگیری چطور در چهار قدم آسان، کدهای نسخه ۴ رو به نسخه ۵ و ۶ تبدیل کنی، کدهای چند نسلی رو پلهپله ارتقا بدی و مطمئن بشی که سیگنالها بعد از آپدیت مو نمیزنن.
چهار مرحله تبدیل کد در پاین ادیتور
فرآیند تبدیل کد تقریباً خودکاره و نیاز به تخصص برنامهنویسی عمیق نداره. تصویر زیر روند کامل این تبدیل رو به شکل خلاصه نمایش میده:
این چهار مرحله رو به ترتیب زیر دنبال کن:
- باز کردن اسکریپت و تهیه کپی: ابتدا وارد محیط پاین ادیتور شو و کد قدیمی رو باز کن. قبل از هر کاری، حتماً از منوی بالای پنل گزینه Make a copy رو بزن تا یک نسخه کپی مجزا ساخته بشه و سورس اصلی دستنخورده بمونه.
- کلیک روی منوی ابزارها (More): در نوار ابزار بالای ادیتور، روی علامت سهنقطه افقی کلیک کن تا لیست گزینههای پیشرفته ادیتور باز بشه.
- انتخاب گزینه تبدیل خودکار (Convert to v5): در منوی بازشده، گزینه Convert to v5 رو انتخاب کن. با این کلیک، هوش تبدیل پلتفرم به صورت خودکار تمام نامهای توابع قدیمی، ساختار study و دستورات رسم رو به فرمت جدید بازنویسی میکنه.
- ذخیره و اضافه کردن به چارت: بعد از اتمام تبدیل، کد جدید رو ذخیره کن و دکمه اضافه کردن به چارت رو بزن تا خروجی روی نمودار قیمت فعال بشه.
اگر دلیل این تغییرات و فلسفه اسامی جدید رو نمیدونی، پیشنهاد میکنم راهنمای جامع تفاوت ورژنهای پاین اسکریپت رو مطالعه کنی تا دقیقاً متوجه بشی چرا توابع قدیمی جای خودشون رو به فضاهای نام جدید دادن.
قانون تبدیل پلهپله: پرش مستقیم ممنوع
یک نکته فنی فوقالعاده مهم که خیلی از تریدرها رو سردرگم میکنه، زنجیره ارتقاست. ابزار تبدیل خودکار تریدینگ ویو فقط میتونه کد رو یک نسخه جلو ببره. یعنی:
- اگر کدی با نسخه ۳ داری، گزینه Convert to v5 یا v6 براش فعال نیست.
- ابتدا باید گزینه Convert to v4 رو بزنی و کد ذخیره بشه.
- سپس در مرحله بعد، از روی نسخه ۴ گزینه Convert to v5 رو انتخاب کنی.
- و در نهایت برای رسیدن به مدرنترین ساختار، اون رو به نسخه ۶ منتقل کنی.
پس هرگز سعی نکن کدهای خیلی قدیمی رو با پرش مستقیم به نسخه آخر ببری؛ همیشه این مسیر پلهپله رو رعایت کن تا کامپایلر بدون خطا همه موارد رو ترجمه کنه.
تست سلامت: اطمینان از یکسان بودن خروجی محاسبات
بزرگترین نگرانی هر معاملهگر بعد از اعمال تغییر در کد اینه که نکنه فرمولها دستکاری شده باشن و سیگنالها جابهجا بشن. برای اینکه خیالت از دقت کار راحت بشه، تصویر زیر رو ببین:
توی این تصویر نکاتی رو میبینیم که نشاندهنده سلامت کامل اسکریپته:
- انطباق کامل خطوط روی چارت: خط اندیکاتور قبل از تبدیل (خط آبی) و خط نسخه جدید (خط نارنجی) دقیقاً مثل مو روی هم سوار شدن و هیچ فاصله یا شکستگی دیده نمیشه.
- حفظ منطق محاسباتی: تبدیل نسخه صرفاً قواعد نگارشی و اسامی توابع رو مدرن میکنه و به فرمولهای ریاضی و منطق پشت استراتژی دست نمیزنه.
- روش راستیآزمایی: همیشه هر دو نسخه رو همزمان روی چارت بنداز و رنگ یکی رو متمایز کن؛ اگر خطوط همپوشانی صددرصدی داشتن، میتونی با خیال راحت نسخه قدیمی رو حذف کنی.
وقتی تبدیل خودکار با خطا روبهرو میشه
مبدل داخلی تریدینگ ویو حدود ۹۰ تا ۹۵ درصد کدهای عمومی رو بدون هیچ ایرادی آپدیت میکنه. با این حال، در بعضی کدهای بسیار پیچیده که متغیرهای سفارشی یا توابع پیچیده تو در تو دارن، ممکنه بعد از تبدیل چند خطای مشخص باقی بمونه. رایجترین خطاهایی که ممکنه پیش بیاد:
- پارامترهای ورودی: تابع قدیمی
input()باید به نوع مشخصش مثلinput.int()یاinput.float()تبدیل بشه که میتونی طبق آموزش تنظیمات اینپوت اندیکاتورها مقدار پیشفرض براش تعیین کنی. - دستورات رنگ و شفافیت: استفاده از مقادیر شناور برای شفافیت در نسخههای جدید منسوخ شده و باید با ساختار
color.new()جایگزین بشه. - توابع محاسباتی اختصاصی: اگر کدی از کتابخانههای شخصی استفاده کرده، مطمئن شو لایبرری مرجع هم در دسترس کامپایلر قرار داره.
نکته طلایی: نامگذاری نسخههای جدید
وقتی اسکریپتی رو به نسخه جدید ارتقا میدی، بهترین کار اینه که توی خط دوم یعنی دستور indicator() عنوان برنامه رو هم مشخصتر کنی؛ مثلاً عبارت v5 یا Updated رو به انتهای اسم اضافه کن. این کار مانع از تداخل اسمها در پنجره اندیکاتورها میشه و وقتی در آینده چارت رو باز میکنی، در یک نگاه متوجه میشی کدوم نسخه داره محاسبات رو انجام میده.
تمرین عملی و آزمایش عملکرد
چکلیست نهایی بعد از آپدیت کدهای پاین اسکریپت
بعد از آپدیت کدهات، این موارد رو ارزیابی کن:
- [ ] آیا ارورهای قرمز رنگ در بخش کنسول پایین پاین ادیتور کاملاً برطرف شدهاند؟
- [ ] آیا بعد از آپدیت، خروجی اندیکاتور روی چارت دقیقاً مشابه نسخه اصلی و بدون تغییر است؟
- [ ] آیا تنظیمات متغیرها و ورودیها در بخش اینپوتهای اندیکاتور به درستی کار میکنند؟
- [ ] آیا اندیکاتور با سرعت و بدون تاخیر روی چارتهای تایمفریم مختلف لود میشود؟
حالا وقتشه خودت دست به کار بشی. یک اسکریپت نسخه ۴ رو باز کن، دکمه سهنقطه رو بزن و فرآیند تبدیل رو اجرا کن. بعد از اینکه تبدیل تموم شد، کدهای آپدیتشده رو میتونی توی پاین ادیتور چارت تریدرفا هم بنویسی و با دکمهی «افزودن به چارت» تست کنی (پشتیبانی کامل از نسخههای ۵ و ۶ پاین اسکریپت فعاله). دیدن اجرای بدون نقص کد جدید روی چارت زنده، بهترین پاداش زحمتیه که کشیدی.
برای بیان دیدگاه وارد شوید
با حساب تریدرفا میتوانید امتیاز بدهید، دیدگاه بنویسید و به پرسشهای دیگران پاسخ دهید. ثبتنام چند ثانیه بیشتر طول نمیکشد.
هنوز نظری ثبت نشده
اولین نفری باشید که دیدگاهش را مینویسد.