كيف يتم حساب فِراما
الإجابة المباشرة: ماذا يعني حساب “Frama”؟
FRAMA (غالبًا تُكتب “Frama”) اختصار FRactal Adaptive Moving Average. يتم حسابها لإنتاج متوسط متحرك تتكيف قوة تمليسه مع مدى “تعقيد” أو “اتجاهية” حركة السعر الأخيرة. تأتي عملية التكيّف من تقدير بُعد كسري من نطاقات السعر عبر عدة نوافذ نظرة رجعية، ثم تحويل هذا التقدير إلى عامل تمليس فعّال.
النقطة الأساسية هي أن قيمة Frama لا تُنتَج من صيغة واحدة باستخدام معلمة واحدة فقط. بل تعتمد على:
- أطوال النظرة الرجعية المختارة،
- تعريف بيانات السعر (مثل استخدام نطاقات high/low المستمدة من OHLC)،
- والربط بين البعد الكسري وعامل التمليس.
الآلية: المدخلات والخطوات الأساسية للحساب
1) تحديد البيانات و“range” المستخدمة
تستخدم معظم تطبيقات Frama range السعر عبر نافذة، وغالبًا ما تُستمد من قيم high وlow. يكون مفهوم range القياسي عادةً:
- Range عبر نافذة: مقياس مثل (highest high − lowest low) داخل تلك النافذة.
إذا كنت تتحقق من الحساب بنفسك، فمهمتك الأولى هي تثبيت التعريف الدقيق لـ“range” الذي تستخدمه مصادر البيانات لديك، لأن تغيير تعريف range يغيّر سلسلة Frama الناتجة.
2) تقسيم النظرة الرجعية الرئيسية إلى نوافذ فرعية
يستخدم تصميم Frama النموذجي طول نافذة رئيسية (لنسمّه N). ولتقدير السلوك الكسري، يأخذ الخوارزم بعين الاعتبار:
- range عبر آخر N شمعة/بار، و
- ranges عبر نافذتين فرعيتين متتاليتين بطول N/2 (عندما يكون N عددًا زوجيًا).
هذا يعني أنه بالنسبة للبار عند الزمن t، تقوم مفاهيميًا بحساب:
- Range1: range عبر النافذة الفرعية الأولى،
- Range2: range عبر النافذة الفرعية الثانية،
- RangeTotal: range عبر النافذة الكاملة.
3) حساب تقدير البعد الكسري
يتم تقدير البعد الكسري (بالمعنى المستخدم في Frama) من كيفية مقارنة RangeTotal بـ Range1 وRange2. وتوجد طريقة شائعة لتحويل النسبة إلى قيمة بعد تزداد عندما تبدو حركة السعر أكثر “عدم انتظام”، وتقل عندما تبدو أقرب إلى اتجاه سلس.
وبما أن هناك عدة نسخ مستخدمة عمليًا، فإن التحقق يتطلب مراجعة مرجعك المختار للتأكد من الربط الدقيق بين نسب الـrange وقيمة البعد الكسري.
4) تحويل البعد الكسري إلى عامل تمليس تكيفي
بمجرد توفر تقدير للبعد الكسري، يحوّل Frama ذلك إلى عامل تمليس. الفكرة هي:
- عندما تشير التعقيدات المقدّرة إلى “ضوضاء أكثر”، يصبح التمليس أقوى (استجابة أبطأ)،
- عندما تشير إلى “بنية أقرب للاتجاه”، يصبح التمليس أضعف (استجابة أسرع).
مرة أخرى، التحويل الدقيق يعتمد على التنفيذ. تستخدم العديد من النسخ معلمات مثل حدود دنيا/قصوى للتمليس للحفاظ على عامل التمليس ضمن نطاق عملي.
5) تطبيق تحديث تمليس أُسّي (exponential smoothing)
في النهاية، يقوم Frama بتحديثه بشكل تكراري على نمط المتوسط المتحرك:
- قيمة Frama الجديدة عند الزمن t هي مزج بين السعر الحالي (أو وسيط مختار مثل mid-price) وقيمة Frama السابقة،
- حيث تكون نسبة المزج هي عامل التمليس التكيفي المحسوب في الخطوات 2–4.
لذلك، حتى عندما تكون حسابات البعد الكسري صحيحة، ما زال عليك التحقق من:
- ما هو “السعر الحالي” المستخدم في التحديث (close أم mid-price)، و
- كيف يتم تهيئة أول قيمة لـ Frama.
دليل أو مثال: كيف تتحقق من حساب Frama دون افتراضات تداول
بما أن الصيغة الدقيقة قد تختلف بين المصادر، فإن أكثر طريقة موثوقية للتحقق من “كيف يتم حسابه” هي إعادة إنتاجه وفق افتراضات ثابتة على مجموعة بيانات صغيرة.
إجراء تحقق ذاتي
- اختر مقطعًا تاريخيًا قصيرًا وتعريفًا ثابتًا للبار (مثل OHLC مع high/low وclose).
- اختر N وقاعدة تقسيم النافذة الفرعية (مثل N/2 لكل جهة، مع اشتراط أن يكون N زوجيًا).
- احسب Range1 وRange2 وRangeTotal باستخدام نفس تعريف range الموجود في مصدر البيانات المستهدف.
- طبّق تحويل البعد الكسري إلى قيمته كما هو مذكور حرفيًا في ذلك المصدر.
- احسب عامل التمليس التكيفي ثم نفّذ تحديث Frama التكراري.
- قارن قيم السلسلة النهائية بمخرجات المصدر المستهدف لنفس المدخلات.
افتراضات يجب ذكرها صراحةً
اذكر افتراضاتك في ملاحظاتك:
- هل استخدمت (highest high − lowest low) كـ range،
- هل استخدمت close أم mid-price في التحديث النهائي،
- كيف تتعامل مع أول N بار (لا يوجد مخرجات، أو warm-up، أو تهيئة)،
- وما إذا كنت تستخدم N الزوجي فقط أو تقوم بالتقريب عند تقسيم النوافذ الفرعية.
إذا غيّرت أيًا من هذه الأمور، فيجب أن تتوقع تغيّر قيم Frama—حتى لو كنت قد حافظت على “الفكرة الرئيسية” الخاصة بالتكيّف الكسري.
القيود وأوضاع الفشل
1) اختلافات التنفيذ شائعة
“Frama” مفهوم خوارزمي، لكن قد تستخدم منصات ومقالات مختلفة تفاصيل مختلفة مثل:
- تحويل البعد الكسري،
- حدود التمليس،
- وسيط السعر في التحديث،
- وطريقة التهيئة.
لذلك لا يمكنك مقارنة قيم Frama بأمان بين مزودين مختلفين ما لم تتطابق تفاصيل الحساب.
2) مدخلات قائمة على range قد تكون حساسة للضوضاء
استخدام نطاقات high/low يعني أن المؤشر قد يتفاعل بقوة مع القيم القصوى داخل الشمعة/البار. في ظروف التذبذب، قد تغيّر التقلبات العشوائية نسب الـrange وبالتالي عامل التمليس التكيفي، حتى عندما لا تكون “الاتجاهية” الأساسية واضحة.
3) اختيار المعلمات قد يهيمن على السلوك
طول النظرة الرجعية وأي حدود للتمليس تؤثر بقوة على مدى سرعة تكيف Frama. تميل النافذة القصيرة إلى أن تكون أكثر استجابة لكنها قد تكون أيضًا أقل استقرارًا. تميل النافذة الأطول إلى أن تكون أكثر سلاسة لكنها قد تتأخر. هذه مفاضلة رياضية وإحصائية وليست ضمانًا للصحة.
4) المؤشرات التكرارية تعتمد على ظروف البداية
وبما أن Frama عادةً ما تكون تكرارية، فإن قرارات التهيئة المبكرة ومعالجة warm-up يمكن أن تؤثر على القيم اللاحقة. مع تواريخ طويلة قد تقل تأثيرات البداية، لكن في العينات الأقصر قد يكون ذلك مهمًا.
التحقق والسؤال التالي الذي يجب طرحه
لشرح Frama بدقة لشخص آخر، قدّم ثلاثة أشياء:
- تفاصيل الصيغة الدقيقة التي تستخدمها، بما في ذلك كيفية تعريف range، والبعد الكسري، وعامل التمليس، والتحديث التكراري.
- قائمة بالمدخلات المطلوبة (على الأقل high/low وسعر لخطوة التحديث) والمعلمات اللازمة (مثل N وأي حدود للتمليس).
- بيان قيد واحد بناءً على اختيارات التنفيذ التي افترضتها (مثل الحساسية لضوضاء high/low أو الاعتماد على التهيئة).
سؤال مفيد تالٍ هو: كيف تغيّر الإعدادات التي تختارها التوازن بين الاستجابة والتمليس؟ إذا شاركت أسماء المعلمات المحددة وتعريفات السعر/الـrange من المصدر الذي تستخدمه، يمكن التحقق من حساب Frama خطوة بخطوة مقابل مجموعة بياناتك.