Spectra
تصفّح التوثيق

backtester

أوضاع تحديد الحجم

كيف يُحدَّد حجم المركز في الباك تيستس — ثابت أو نسبة من الرصيد أو قائم على ATR.


الباك تيستر يقدّم ثلاثة أوضاع لتحديد الحجم. اختر واحداً في لوحة Strategy؛ يمكن للسكريبتات تجاوزه لكل استدعاء عبر buy(qty: ...).

ثابت

qty = constant  // مثل buy(qty: 100)

الأبسط. مفيد عند اختبار منطق الدخول/الخروج دون اهتمام بحجم المركز.

نسبة من الرصيد

qty = floor(equity × pct / price)

يضاعف المكاسب والخسائر. استخدمه لقياس تصرّف استراتيجية بديناميكيات منحنى أسهم واقعية. الافتراضي pct = 5%.

قائم على ATR (مكافئ المخاطرة)

qty = floor(risk_pct × equity / (atr(14) × atr_multiplier))

يحدّد حجم كل مركز بحيث يكون خطر الدولار حتى إيقافك ثابتاً. الوضع المفضّل لأنظمة تتبّع الاتجاه حيث يتوسّع ATR مع التذبذب.

let size = atr_position(risk_pct: 1.0, atr: atr(14))
buy(qty: size)

القيود القصوى

الثلاثة كلها تحترم:

  • الحد الأقصى للمركز (Profile ← Backtester ← Max position).
  • الحد الأقصى للمراكز المتزامنة (افتراضي ٥).
  • الرصيد المتاح — الأوامر التي تتخطى القوة الشرائية تُرفض (أو تُنفَّذ جزئياً إن partial_fill_on_margin = true).

التوسّع داخل/خارج

buy(qty: size, scale: 0.5)   // يضيف نصف الحجم للمركز القائم
sell(qty: size * 0.5)        // يبيع النصف

التوسّعات الداخلية تتركّز عند متوسط دخول المركز. التوسّعات الخارجية تُحقّق P&L تناسبياً.