تدعم نصوص Pine الآن آثار الحجم، مما يتيح لك الوصول المباشر إلى تدفق الأوامر التفصيلي داخل كل عمود أسعار.
يتيح لك هذا التحديث إنشاء مؤشرات بصمة مخصصة واستخراج مقاييس حجم دقيقة وتحليل النشاط داخل العمود دون الاعتماد على الحلول ذات الإطار الزمني الأدنى.
لماذا نستخدم البصمات في باين؟
تتيح لك طلبات البصمة فتح البيانات المتقدمة داخل العمود على الفور وتعيين مستويات تدفق الأوامر المهمة من الناحية الهيكلية، مثل:
- تقسيمات الحجم الحبيبية: إجمالي حجم عمليات الشراء (الطلب) والبيع (العرض) بدقة للسوق بأكمله وعند مستويات أسعار محددة
- دلتا الحجم الدقيقة: الفرق المحدد بين ضغط البيع والشراء
- مستويات المزاد الرئيسية: الوصول الفوري إلى نقطة التحكم في البار (POC) ومنطقة القيمة العالية (VAH) ومنطقة القيمة المنخفضة (VAL)
- الاختلالات: بيانات عن اختلالات البيع والشراء عند صفوف أسعار محددة
بدمج request.footprint() باستخدام البرامج النصية المخصصة الخاصة بك، يمكنك مراقبة بيانات تدفق الطلبات العميقة برمجياً مع الحفاظ على التركيز على الاستراتيجية والتنفيذ.
كيف تعمل البصمات وهياكل البيانات
request.footprint() تُعد هذه الوظيفة الأداة الأساسية المستخدمة لطلب معلومات عن حجم البيانات للعمود الحالي. عند الاتصال، تقوم بإرجاع كائن البصمة، الذي يحتوي على جميع بيانات بصمة وحدة التخزين المستردة لهذا العمود المحدد.
يتم تنظيم البيانات في هيكلين أساسيين:
- كائنات البصمة: يتيح لك ذلك الوصول إلى المقاييس العامة للعمود. باستخدام footprint.*() باستخدام هذه الوظائف، يمكنك استرداد بيانات مثل إجمالي حجم الشراء، وإجمالي حجم البيع، وفرق الحجم.
- كائنات Volume_row: وهي تمثل صفوف أسعار محددة داخل البصمة، مثل حدود نقطة التحكم (POC) أو منطقة القيمة. باستخدام volume_row.*() باستخدام هذه الوظائف، يمكنك استرداد مستويات الأسعار وقيم الحجم وفرق الحجم والاختلالات في صف معين.
ملاحظة: إذا لم تتوفر بيانات البصمة لشريط معين، فسيتم استدعاء request.footprint() ستُرجع الدالة قيمة غير متاحة (na) .
تأكد دائمًا من أن البرنامج النصي الخاص بك يتحقق من أن الكائن المُعاد هو وليس na قبل محاولة استخراج المقاييس باستخدام footprint.*() أو volume_row.*() الوظائف.
مثال الاستخدام
يوجد أدناه برنامج نصي مبسط يوضح كيفية طلب البصمة والوصول إلى نقاط البيانات الأساسية الخاصة بها:
//@version=6
indicator("Footprint Data Highlight", overlay = true)
// Request the footprint object for the current bar (100 ticks per row, 70% Value Area)
footprint reqFootprint = request.footprint(100, 70)
// We use a block to ensure we only process data when the footprint is available
if not na(reqFootprint)
// 1. Access overall bar metrics from the `footprint` object
float totalBuyVol = reqFootprint.buy_volume()
float totalSellVol = reqFootprint.sell_volume()
float volumeDelta = reqFootprint.delta()
// 2. Retrieve a specific `volume_row` object (the Point of Control)
volume_row pocRow = reqFootprint.poc()
// 3. Access specific price values from the `volume_row` object
float pocUpperPrice = pocRow.up_price()
float pocLowerPrice = pocRow.down_price()
// --- USING THE VARIABLES ---
// Use Buy/Sell Volume and Delta in a label
if barstate.islast
label.new(bar_index, high,
text = "Buy: " + str.tostring(totalBuyVol, format.volume) +
"\nSell: " + str.tostring(totalSellVol, format.volume) +
"\nDelta: " + str.tostring(volumeDelta, format.volume),
color = color.new(color.blue, 20),
textcolor = color.white,
style = label.style_label_down)
// Use POC prices to highlight the POC area on the chart
linefill.new(
line.new(bar_index, pocUpperPrice, bar_index[1], pocUpperPrice, color = color.orange),
line.new(bar_index, pocLowerPrice, bar_index[1], pocLowerPrice, color = color.orange),
color.new(color.orange, 80))
// Plotting the volume delta on a separate pane (if moved to non-overlay)
// or as a reference value in the Data Window
plot(not na(reqFootprint) ? reqFootprint.total_volume() : na, "Volume Delta", display = display.data_window)
يرجى ملاحظة أنه من أجل استخدام ميزات البصمة هذه، ستحتاج إلى خطة Premium أو Ultimate.
للبقاء على اطلاع دائم بأحدث التحسينات التي طرأت على تجربة Pine Script®، تابع ملاحظات الإصدار في دليل المستخدم.
نأمل أن تجد هذه الميزة المطلوبة بشدة مفيدة لك، كما يرجى الاستمرار في إرسال ملاحظاتك واقتراحاتك إلينا حتى نتمكن من جعل منصتنا أفضل. صممنا TradingView لتفيدك، ونحن حريصون دائمًا على الاستماع إليك.
فريق TradingView