برنامهنویسان پاین حالا میتوانند از طولهای محاسبه شده به صورت داینامیک در توابع زیر استفاده کنند:
alma() change() highest() highestbars() linreg() lowest() lowestbars() mom() sma() sum() vwma() wma()
طولهای سری به ایجاد اندیکاتورهای پاین سازگار با محاسبات بر اساس دورههای متغیر کمک میکند. در اینجا به عنوان مثال، میتوانید ببینید که چگونه از نوسان برای کوتاه یا بلند کردن دوره ALMA بر روی خط ضخیم استفاده میکنیم و آن را با ALMA ثابت که با خط نازک نشان داده شده است مقایسه میکنیم:
//@version=4 study("Adaptive ALMA", "AALMA", true) i_minLen = input(10, minval = 1) i_maxLen = input(60, minval = 1) i_adaptPct = input(3., minval = 0, maxval = 100) / 100.0 startingLen = avg(i_minLen, i_maxLen) var float dynamicLen = startingLen highVolatility = atr(10) > atr(40) if highVolatility dynamicLen := max(i_minLen, dynamicLen * (1 - i_adaptPct)) else dynamicLen := min(i_maxLen, dynamicLen * (1 + i_adaptPct)) dynamicAlma = alma(close, int(dynamicLen), 0.85, 6) staticAlma = alma(close, int(startingLen), 0.85, 6) maColor(_ma) => close > _ma ? highVolatility ? #40FF00ff : #40FF0060 : highVolatility ? #FF0080ff : #FF008060 plot(dynamicAlma, "Dynamic Alma", maColor(dynamicAlma), 3) plot(staticAlma, "Static Alma", maColor(staticAlma), 1) // طول محاسبه شده را در پنجره دادهها دنبال کنید. plotchar(dynamicLen, "dynamicLength", "")
اگرچه استفاده از ارقام اعشاری (float) برای محاسبه طول به صورت داینامیک مفید است، لطفاً به یاد داشته باشید که حتماً آنها را قبل از استفاده در فراخوانی توابع به “int” تبدیل کنید، همانطور که در مثال ما انجام شده است. همچنین از یاد نبرید که این توابع به ارزیابی در هر نمودار نیاز دارند، بنابراین باید خارج از حلقههای `for` و بلاکهای `if` که در هر نمودار اجرا نمیشوند، استفاده شوند.
امیدواریم این ویژگی جدید که درخواست کردید، مفید باشد. لطفاً به ارسال بازخوردهای خود برای بهبود ادامه دهید. ما TradingView را برای شما میسازیم و از شنیدن نظرات شما در مورد این بروزرسانیهای بسیار خواسته شده از طرف خود خوشحال میشویم.
برای استفاده رایگان از تریدینگ ویو پرمیوم از چارت آتو تی کریپتو استفاده کنید