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 تناسبياً.