يمكن لمبرمجي باين الآن استخدام أطوال محسوبة ديناميكيًا في الدوال التالية:
alma()
change()
highest()
highestbars()
linreg()
lowest()
lowestbars()
mom()
sma()
sum()
vwma()
wma()
ستجعل أطوال المتسلسلة من السهل إنشاء مؤشرات Pine التكيفية باستخدام حسابات تستند إلى فترات متغيرة. انظر هنا ، على سبيل المثال ، كيف نستخدم التقلبات لتقصير أو إطالة فترة 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)
// Follow the calculated Length in the Data Window.
plotchar(dynamicLen, "dynamicLength", "")

على الرغم من أنه قد يكون من المفيد استخدام floats لحساب الأطوال ديناميكيًا ، يرجى تذكر إرسالها إلى “int” قبل استخدامها في استدعاءات الدوال ، كما نفعل في مثالنا. ضع في اعتبارك أيضًا أنه ، كالعادة ، تتطلب هذه الوظائف تقييمًا على كل عمود بياني، لذلك يجب استخدامها خارج حلقات “for” ، وكتل “if” لم يتم تنفيذها على كل عمود بياني.
نأمل أن تكون هذه الميزة الجديدة التي طلبتها مفيدة.
يرجى الاستمرار في إرسال ملاحظاتك إلينا للتحسين. نحن نبني لك TradingView ونحب سماع رأيك في هذه التحديثات المطلوبة بشدة لمنصتنا.