أَغْنِنَا بِحَلَالِكَ عَنْ حَرَامِكَ

تنزيل كيل

v0.21.0 2026-09-30

يتطلّب Python 3.14 أو أحدث · التنزيل من GitHub Releases — ولا يُنسخ هنا أبدًا

كلُّ الإصدارات، من الأحدث إلى الأقدم — السجلُّ الكامل للتغييرات

لا تثبّت بالاسم المجرَّد أبدًا. فالتوزيعة اسمها keel-trader؛ أمّا اسم keel على PyPI فلمشروعٍ آخر لا علاقة له بنا، ولذلك يجلب الأمر pip install keel حزمةً ليست لنا. والنسخة المبنيّة التي تُظهر DIRTY أو [checkout] ليست إصدارًا، ويُمنع تشغيلها على أموالٍ حيّة.
  1. نزّل

    اختر زرّ نظامك أدناه — هذه هي الخطوة الأولى كاملةً.

  2. ثبّت

    على Windows: شغّل الملف الذي نزّلته؛ فإن ظهر تحذير SmartScreen ‏«Windows protected your PC» فاختر More info ثم Run anyway، ويتولّى معالجُ الإعداد الباقي. وعلى macOS: افتح ملف ‏.dmg واسحب كيل إلى مجلد Applications. التحذير سببُه أن الحزمة غير موقّعة — و«التفاصيل» أدناه تشرح السبب وكيف تتحقّق ممّا نزّلته.

  3. شغّل

    على macOS: يُرفض الفتح الأول مرةً واحدة — افتح System Settings ثم Privacy & Security واختر Open Anyway (وهذا هو الطريق الوحيد في نظام macOS الحالي). وعلى Windows: شغّل كيل من قائمة Start. يُفتح كيل في متصفّحك مع قائمةِ تحقّقٍ للتشغيل الأول، وتُحفظ بياناتُ دخولك في سلسلة المفاتيح. وبعدها يصبح كلُّ تشغيلٍ نقرةً مزدوجةً عادية.

  4. اختر الورقي

    مجّاني، بمحاكاةٍ، ولا شيء في خطر. لا يحتاج النمطُ الورقي حسابًا ممولًا ولا مفاتيح تداول — بل مفتاحَ بياناتٍ للقراءة فقط ومجّاني. تعلّم سيرَ العمل كاملًا هنا أولًا.

  5. إلى الحيّ — أصعبُ عمدًا

    حين تجهز: وثّق منصّتك (Coinbase اليوم)، ويجب أن تجتاز قواعدُك بوابةَ الترقية، وكلُّ إجراءٍ حيّ يطلب تأكيدَك المكتوب. ليس هذا تعقيدًا لذاته — بل هو جوهرُ المنتج.

macOS

التنزيل لـ macOS keel-0.13.3-arm64.dmg بناءُ سطح المكتب 0.13.3 — تصل إصلاحاتُ المحرّك إلى pip والمُثبِّت أولًا (0.21.0)؛ وتتبعها الحزمُ مع كلِّ إصدارٍ للتطبيق.

Windows

التنزيل لـ Windows keel-0.13.3-windows-x86_64-setup.exe بناءُ سطح المكتب 0.13.3 — تصل إصلاحاتُ المحرّك إلى pip والمُثبِّت أولًا (0.21.0)؛ وتتبعها الحزمُ مع كلِّ إصدارٍ للتطبيق.

لينكس وغيره: حزم wheel نفسها متاحةٌ في صفحة الإصدار. اطّلع على الإصدارات في GitHub →

ابدأ بالتداول التجريبي — مجّانًا، ولا شيء في خطر

للخطوة الأولى الحذرة: نمطُ التداول التجريبي مجّانيٌّ وتعليمي — تنفيذٌ مُحاكًى ولا أوامرَ حقيقية — بُني لتتعلّم سير العمل قبل أيّ قرارٍ في التشغيل الحيّ. وهو لا يحتاج إلى حسابٍ مموَّلٍ لدى منصّة ولا إلى بيانات اعتمادٍ للتداول؛ والمفتاح الوحيد الذي يطلبه مفتاحُ بيانات سوقٍ مجّانيٌّ للقراءة فقط لجلب تاريخ الشموع. أمّا النمط الحيّ فالوصول إليه أصعبُ عن قصد: إذ تقف في الطريق التوثيقاتُ، ومسارُ بوابة الترقية، والتأكيداتُ البشرية المكتوبة.

أأنت جديدٌ هنا؟ ابدأ بدليل البداية

شرحٌ خطوةً بخطوة — أوّلُ محاكاة، ونمطُ التداول التجريبي، ولوحةُ تحكّم المشغّل — مع لقطة شاشةٍ لكل شاشة.

افتح دليل البداية →

التفاصيل — التثبيت من الطرفية، والتحديثات، والبناء من المصدر، ولماذا يحذّرك حاسوبك

التثبيت من الطرفيّة — أمرٌ واحد

جمعُ حزم ‏wheel يدويًّا ليس المدخل الوحيد. فثمّة سكربتٌ على الفرع الافتراضي لمستودع كيل يتولّى المهمّة كاملة: يقرأ أحدث إصدارٍ على ‏GitHub، وينزّل حزم ‏wheel الإنتاجية الخمس وملفَّ ‏config.yaml الافتراضي، ثم يثبّتها في بيئة ‏Python خاصّةٍ داخل مجلّدك الشخصي.

وحزمةُ ‏wheel حزمةُ ‏Python مبنيّةٌ مسبقًا. أمّا الـvenv فمجلّدٌ يضمّ نسخة ‏Python الخاصّة بمشروعٍ واحدٍ ومكتباتِه، معزولًا عن بقيّة النظام؛ وهذا الـvenv يُنشأ في ‎~/.keel/.venv.

تحتاج إلى ‏macOS أو ‏Linux، وإلى طرفيّة، وإلى ‏curl، وإلى ‏Python 3.14 أو أحدث. والسكربت يرفض كلَّ نظامٍ آخر، فيبقى قرّاء ‏Windows على مسار حزم ‏wheel أعلاه. وهذا الحدُّ يؤذي على ‏Linux اليوم: إذ ما تزال معظمُ التوزيعات تعتمد افتراضيًّا نسخةَ ‏Python أقدم، ولذلك يفشل اختبارُ كيل الدخانيُّ على ‏Linux عند هذا الفحص بعينه، بينما يجتازه ‏macOS بنسخةٍ من ‏Homebrew. فتوقّع أن تثبّت 3.14 بنفسك أوّلًا. ومنذ الإصدار v0.12.0 تطلب حزمُ ‏wheel المنشورة الحدَّ نفسه (3.14)، فصارت كلُّ الطرق إلى كيل على أرضيةٍ واحدة.

التثبيت بسطرٍ واحد

curl -fsSL https://raw.githubusercontent.com/CodeGateSoftware/keel/main/scripts/install.sh | bash

أو اقرأه أولًا ثم شغّل ما قرأت

كيل برنامجٌ قد تعطيه مفاتيح ‏API لمنصّة تداول، ولذلك لا ينبغي أن يكون تمريرُ سكربتٍ من الإنترنت إلى ‏bash مباشرةً هو الخيار الوحيد المعروض. نزّله، واقرأه، ثم شغّل نسختك أنت.

curl -fsSL https://raw.githubusercontent.com/CodeGateSoftware/keel/main/scripts/install.sh -o install.sh
# كلُّ خطوةٍ تطبع ما هي مقبلةٌ على فعله ولماذا، قبل أن تفعله
less install.sh
bash install.sh

ويُقدَّم السكربتُ من الفرع ‏main، وهو الفرع الافتراضي لمستودع كيل. ولم يكن يومًا جزءًا من إصدارٍ موسوم، فليس له رقمُ إصدارٍ نشير إليه، وهو يتغيّر كلّما تغيّر ‏main: فبهذا الطريق انتقل حدُّ ‏Python أعلاه من 3.11 إلى 3.14. فاقرأ النسخة التي تنزّلها، ولا تفترض أنّ هذا الوصف قد واكب التغيير.

ما الذي يفعله السكربت

  • ينزّل خمس حزم ‏wheel بالضبط، كلَّ واحدةٍ باسمها الكامل، من أحدث إصدار. ولا يوسّع النمط ‎*.whl أبدًا: فالإصدار يحمل أيضًا حزمًا لا يجوز أن يضمّها تثبيتٌ تشغيلي.
  • ويثبّت بمسار الملفّ الكامل، لا باسم الحزمة أبدًا. فاسم ‏keel على ‏PyPI يخصّ مشروعًا لا علاقة له بنا، والتثبيتُ بالمسار يجعل ذلك الخطأ مستحيلًا.
  • ويبني الـvenv بأداة ‏uv وحدَها متى استجابت نسخةٌ عاملةٌ من ‏uv للأمر ‏uv --version؛ أمّا الغلافُ الصوريُّ الذي يعجز عن العمل فيُعدُّ غيرَ موجود. وفي غير هذه الحال يستعمل نسخةَ ‏Python التي وجدها، مع ‏pip.
  • ويطبع بصمة ‏sha256 لكلّ حزمة ‏wheel محسوبةً على جهازك أنت. وهذا سجلُّ تدقيقٍ لا تحقُّق — إذ لا تُنشر بصماتٌ لحزم ‏wheel في أيّ مكان، فلا شيء يُقارَن به.
  • ولا يشغّل أيَّ أمرٍ بصلاحياتٍ مرتفعة. وتنزل الملفّاتُ في مجلّدٍ مؤقّتٍ يُحذف عند انتهاء السكربت، ولا يقيم التثبيتُ نفسه إلا داخل مجلّدك الشخصي.
  • ولا يستبدل أبدًا ملفَّ ‎~/.keel/config.yaml ولا قاعدةَ بياناتٍ موجودة. وإعادةُ تشغيل السكربت تُحدِّث الشيفرة في مكانها.
  • وملفُّ ‏config.yaml الذي يضعه هو إعدادُ الإنتاج الخاصُّ بهذا الإصدار، على الوضع ‏auto_trade.mode: confirm — أي النمطُ الحيُّ خلف بوّابة، لا نمطُ التداول التجريبي. فكيل يعاين كلَّ دخولٍ تمليه قاعدةٌ ويسأل قبل إرساله، عند مِحَثٍّ من طراز ‏y/N جوابُه الافتراضي «لا». أمّا وقفُ الحماية وجنيُ الأرباح اللذان يتبعان مركزًا وافقتَ عليه سلفًا فيُرسَلان دون سؤالٍ ثانٍ. وانتبه إلى أنّ رسالة نجاح السكربت نفسها تسمّي هذا نمطَ التداول التجريبي: تلك العبارةُ خاطئة، فتحقّق من ‏auto_trade.mode في الملفّ ولا تثق بها.
  • ومع ذلك لا يتداول التثبيتُ الجديد شيئًا. فمفتاحُ الإيقاف يفشل مغلقًا، ولذلك تتخطّى كلُّ دورةٍ عملَها حتى تشغّل ‏keel resume، والقواعدُ المزروعة تبدأ مرشَّحةً لا تتداول شيئًا حتى ترقّيها أنت. ولإعدادٍ يعجز عن تقديم أمرٍ حيٍّ البتّة، شغّل ‎./.venv/bin/keel init-config --force من ‎~/.keel: إذ من دون ‎--live يكتب قالبَ ‏mode: paper.
  • وينتهي بتشغيل الأمر ‏keel versions، ويفشل فشلًا صريحًا إن لم تأتِ نتيجتُه نظيفة.

إبقاؤه محدَّثًا

إعادةُ تشغيل المثبِّت تنقل التثبيت إلى أحدث إصدارٍ في مكانه. ويستطيع كيل أيضًا أن يحدّث نفسه من المجلّد الذي يسكنه: فالأمر ‏keel update --check يعرض ما سيفعله التحديث ولا يغيّر شيئًا، والأمر ‏keel update ينفّذه بعد تأكيدٍ تكتبه بيدك. وثمّة تحفّظٌ يحسن أن تعرفه قبل الاعتماد عليه: فالأمر ‏keel update يثبّت عبر ‏uv، ويتوقّف بخطأٍ صريحٍ حين يغيب ‏uv. ويحتاج التثبيتُ الذي بناه السكربت دون ‏uv إلى إضافة ‏uv قبل أن يسري أيُّ تحديث. أمّا نسخةُ المصدر فيرفض ‏keel update المساسَ بها، وتثبيتُ تطبيق سطح المكتب هو الشيءُ الآخر الذي يرفضه: فبالنسبة للتطبيق، تنزيلُ مثبِّت الإصدار الجديد هو طريقُ التحديث — ورفضُ الأمر يقول ذلك ويدلّك عليه.

cd ~/.keel
./.venv/bin/keel update --check
./.venv/bin/keel update
لا تثبّت بالاسم المجرَّد أبدًا. فالتوزيعة اسمها keel-trader؛ أمّا اسم keel على PyPI فلمشروعٍ آخر لا علاقة له بنا، ولذلك يجلب الأمر pip install keel حزمةً ليست لنا. والنسخة المبنيّة التي تُظهر DIRTY أو [checkout] ليست إصدارًا، ويُمنع تشغيلها على أموالٍ حيّة.

كل ملفات الإصدار

تشير روابط التنزيل مباشرةً إلى ملفات GitHub. وهذا الموقع لا ينسخ الملفات التنفيذية أبدًا. جُلبت بيانات الإصدار من GitHub وقت البناء، في 2026-10-18.

العمل من المتصفّح — تطبيق سطح المكتب

تطبيقُ سطح المكتب يفتح كيل في متصفّحك: قائمةُ تحقّقٍ للتشغيل الأول، وبياناتُ الدخول تُحفظ في سلسلة مفاتيح نظام التشغيل، وبياناتُ السوق تُجلب مهمّةً في الخلفية، وتُسجَّل شهاداتُ تصنيف الأصول وترقياتُ القواعد من صفحةٍ لا من طرفية — والترقيةُ التي تُطلَق من الصفحة لا تتقدّم إلا إذا اجتازت القاعدةُ البوابة، وبلا خيارِ تجاوز، لأنّ تجاوز البوابة يقتضي طرفية. وسطحُ الإعداد ذاك لا يستطيع تسليحَ قاعدةٍ ولا ترقيتَها ولا توثيقَ أصلٍ ولا تحريرَ أموالٍ ولا إنفاقَ شيء. ومنذ الإصدار v0.15.0 صار يستطيع أمرين اثنين لا غير ممّا يوسّع قدرات كيل: استئنافَ التداول بعد مفتاح الإيقاف، ورفعَ حاجزِ الخسائر المتتالية (السكة 16) — كلٌّ منهما خلف عبارةٍ تُكتب بخطّ اليد، وعلى جلسةٍ محليةٍ فقط، ويُرفض رفضًا قاطعًا إن كانت الواجهةُ بالغةً من غير هذا الجهاز. أمّا الإيقاف فلا يُشترط فيه المحلّيةُ عمدًا: فمن كان كيله خلف نفقٍ وجب أن يستطيع إيقافه من النفق. وما عدا ذلك ما يزال يتطلّب إنسانًا عند طرفية. ومنذ الإصدار v0.12.1 تلبس الواجهةُ هويةَ هذا الموقع نفسِه — الورقُ نفسُه، والأخضرُ المزرقُ نفسُه، وعلامةُ السفينة نفسُها — ومنذ v0.12.2 تحمل ترويسةُ الواجهة اختيارًا بين الفاتح والداكن إلى جانب شارةٍ تسمّي النمطَ الذي تعمل عليه؛ والشارةُ تُخبر فقط، فتغييرُ النمط يبقى تعديلًا مقصودًا في ملفّ الإعداد لا نقرةً في صفحة. وكلُّ رقمٍ ماليٍّ يصل نصًّا، محسوبًا ومنسّقًا من المحرّك نفسه — فالصفحةُ تعرض الأرقام ولا تشتقّها أبدًا — والربحُ والخسارة يفترقان في السطوع لا في اللون وحده فينجو التمييزُ على شاشةٍ رمادية، وحقولُ الإدخال تحمل حدودًا مرئية، وتُقدَّم الصفحةُ تحت سياسةِ أمانِ المحتوى التي تمنعها إرسالَ مراكزك أو تاريخِ تداولك إلى غير جهازك. وقاعدةُ البيانات تحتها تعمل بوضع WAL، فمراقبةُ جلبٍ مباشرٍ لن تُعطّل المحرّك أثناء كتابته. و‏macOS يحصل على التطبيق القابل للفتح بنقرةٍ مزدوجة؛ ومنذ الإصدار v0.12.0 يتم تثبيت ‏Windows عبر معالجِ إعدادٍ حقيقي. وتحديثُ تطبيق سطح المكتب يعني تنزيلَ المُثبِّت الجديد — فهو لا يستبدل نفسه أبدًا — وملفُّ إعدادك وقاعدةُ بياناتك وبياناتُ دخولك لا يمسّها تحديثٌ أبدًا. وتُسلَّم حزمتا سطح المكتب دون توقيعٍ رقمي — والملاحظةُ أدناه تقول بالضبط ما سيعرضه حاسوبك وكيف تتحقّق ممّا نزّلته — وسجلُّ التغييرات يُدرج كلَّ إصدارٍ يومَ صدوره.

من المصدر — جرّبه في خمس دقائق

كلُّ ما في هذا المسار بصلاحية القراءة فقط وعلى جانب التداول التجريبي: لا أموال، ولا شيء هنا يستطيع تقديم أمر تداول. وتحتاج إلى uv وإلى مفتاح API مجّانيٍّ للقراءة فقط من منصّة Coinbase Developer Platform‏ (CDP) — إذ تُجلب بيانات الشموع عبر العميل المُصادَق عليه، ولذلك يفشل الأمر keel fetch من دون مفتاحٍ بخطأ AuthenticationError؛ نقولها مقدَّمًا كي لا تكون مفاجأةً في الخطوة الرابعة.

  • ‏uv (مدير حزم Python)
  • ‏Python 3.14 أو أحدث — وهو الحدُّ الذي تطلبه حزم wheel المنشورة كذلك منذ v0.12.0
  • مفتاح CDP مجّاني للقراءة فقط — لبيانات السوق حصرًا
git clone https://github.com/CodeGateSoftware/keel.git && cd keel
uv sync --all-extras --dev        # Python 3.14+ — the repo's floor moved up in #546
cp .env.example .env              # put the read-only CDP key/secret in it — market data only
uv run keel rules seed            # register the rule families as candidates
uv run keel fetch                 # pull candle history for the default allowlist
uv run keel simulate --years 1 --skip-within-cap

ما ينبغي أن تتوقّعه

يعيد الأمر keel simulate تشغيلَ القواعد الحقيقية تشغيلًا حتميًّا على التاريخ المجلوب، ويقارنها بمؤشّر الشراء الدوري المنتظم (DCA) المرجعي، ويكتب تقرير GO-LIVE أو TRAIN-MORE. وعلى القواعد الافتراضية سيقول لك على الأرجح TRAIN-MORE ويسمّي البوابات التي أخفقت — وهذا دليلُ عمل المحرّك لا دليلُ عطبه؛ فالصدق نفسه هو الميزة.

أمّا الخطوات التالية — ترقيةُ قاعدةٍ عبر البوابة، وتشغيلُ الوكيل في التداول التجريبي، وأوّلُ أمرٍ حيٍّ خاضعٍ لإشرافٍ بشري — فتجدها في كتاب الانتقال إلى التشغيل الحيّ (go-live runbook). →

تُرجمت هذه الصفحة عن المراجعة الإنجليزية 2026-09-16.1.