حماية الدفعالتفاصيل
- التعديلات ضمن الباقة مجانية.
- إذا لم تردّ خلال 3 أيام من التسليم، يُقبل العمل تلقائيًا.
يُحجز المبلغ عند الدفع ولا يُحوَّل إلا بعد قبولك العمل.

مثال على النتيجة
مراجعة شيفرة: سكربت Python لاستيراد الطلبات في متجر إلكتروني صغير
ماذا تفعل الشيفرة
- تقرأ
orders.csvمن ملف التصدير. - لكل سطر طلب، تبحث عن المنتج برمز SKU في
stock.xlsxوتطرح الكمية. - تكتب المخزون المحدّث وتسجّل الإجماليات في
import_log.txt.
البنية واضحة وأسماء الدوال جيدة. معظم المشكلات تتعلق بمدخلات لا تأتي بالشكل الذي يتوقعه السكربت.
الأخطاء ونقاط الضعف
| # | السطر | الخطورة | المشكلة |
|---|---|---|---|
| 1 | 48 | عالية | يمكن استيراد ملف CSV نفسه مرتين؛ لا يوجد تحقق من أرقام الطلبات المعالجة سابقًا. هذا السبب الأرجح للمخزون السالب. |
| 2 | 72 | عالية | int(row["qty"]) يتعطل مع القيم الفارغة أو "2.0" في الطلبات المستردة. |
| 3 | 95 | متوسطة | البحث عن SKU حساس لحالة الأحرف: "gt-101" و"GT-101" يُعامَلان كمنتجين مختلفين. |
| 4 | 130 | متوسطة | يُفتح الملف دون encoding="utf-8"، فتتلف أسماء المنتجات العربية على Windows. |
| 5 | 201 | منخفضة | except: المجرد يخفي الأخطاء الحقيقية ويجعل السجل بلا فائدة. |
مقاطع مصحّحة
المشكلة 1: تجاوز الطلبات المستوردة مسبقًا
processed = load_processed_ids("processed_orders.txt")
for row in reader:
if row["order_id"] in processed:
continue
# ... المنطق الحالي ...
processed.add(row["order_id"])
save_processed_ids("processed_orders.txt", processed)
السبب: يُطبَّق كل طلب مرة واحدة، حتى لو شغّلت السكربت على الملف نفسه مجددًا.
المشكلة 2: قراءة الكمية بأمان
raw = (row.get("qty") or "").strip()
try:
qty = int(float(raw))
except ValueError:
log.warning("الطلب %s: كمية غير صالحة %r، تم تجاوزه", row["order_id"], raw)
continue
السبب: تُتجاوز الأسطر المستردة كليًا أو جزئيًا مع ملاحظة واضحة، بدل إيقاف الاستيراد كله.
المشكلة 3: توحيد رموز SKU
sku = row["sku"].strip().upper()
طبّقي .strip().upper() نفسها عند بناء قاموس المخزون.
الأسلوب وسهولة القراءة
- الدالة
process()طولها 90 سطرًا؛ قسّميها إلىread_ordersوapply_to_stockوwrite_report. - استبدلي أرقام الأعمدة الثابتة (
row[7]) بأسماء العناوين.
يُرجى اختبار كل إصلاح على نسخة من ملفاتك: قرأنا الشيفرة لكننا لم نشغّلها.
العميل: صاحبة متجر شاي إلكتروني كتبت سكربت Python من 310 أسطر يستورد الطلبات من ملف CSV المُصدَّر إلى جدول المخزون المشكلة المبلّغ عنها: "أحيانًا يصبح المخزون سالبًا، ويتعطل السكربت مع بعض الملفات."
العميل وجميع التفاصيل افتراضية.
عن هذه الخدمة
كثيرًا ما تبدو مؤشرات Pine Script واستراتيجياته على الرسم البياني أفضل مما تعمل فعليًا، بسبب إعادة الرسم الناتجة عن request.security مع lookahead، أو إشارات مأخوذة من شموع لم تُغلق بعد، أو استراتيجية تنفّذ الأوامر بطريقة لا يسمح بها السوق الحقيقي. نقرأ برنامجك النصي، ونشرح كيف يحسب على كل شمعة، ونحدد أخطاء الترجمة وإعادة الرسم والمنطق الذي لا يطابق ما قصدته. نراجع الشيفرة فقط ولا نقول شيئًا عن ربحية الاستراتيجية.
ما المشمول
- ما الذي تحصل عليهمراجعة مكتوبة في صفحة الطلب: كيف يحسب برنامجك شمعةً شمعة، والأخطاء ومخاطر إعادة الرسم حسب الأهمية، وأجزاء Pine Script مصحّحة. وتضيف الباقة المميزة ملاحظات لتحديث البرنامج إلى إصدار Pine الحالي.
- أخطاء الترجمةمشروحة ومصحّحة
- فحص إعادة الرسمrequest.security وlookahead وحالة الشمعة
- المنطق مقابل المقصودهل تفعل الشيفرة ما قصدته
- إعدادات الاستراتيجيةتنفيذ الأوامر والعمولة والتعزيز المتتالي
- التنبيهاتشروط تنطلق مرة واحدة لكل إشارة
كيف يعمل
- 1متطلبات الطلبتلصق البرنامج النصي والغرض منه
- 2القراءةنتتبع الحساب على كل شمعة
- 3المراجعةتستلم الأخطاء والمخاطر والشيفرة المصحّحة
ما نحتاجه منك
البرنامج النصي ملصوقًا كنص مع سطر إصدار Pine، وهل هو مؤشر أم استراتيجية، والرمز والإطار الزمني اللذان تستخدمهما، وما يُفترض أن تُظهره كل إشارة.
سنسألك:
- هل هو مؤشر أم استراتيجية؟
- ما إصدار Pine المذكور في أعلى البرنامج؟
- ماذا يجب أن تُظهر كل إشارة أو خط؟
- هل تستخدم تنبيهات أو بيانات من إطار زمني أعلى؟
قارن بين الباقات
| الباقات | الأساسيةبرنامج نصي حتى 100 سطر15 US$ | القياسيةبرنامج نصي حتى 400 سطر35 US$ | المميزةحتى 1,000 سطر مع ملاحظات الإصدار69 US$ |
|---|---|---|---|
| مدة التنفيذ | 1 يوم | 2 يوم | 3 أيام |
| التعديلات | 1 | 2 | 3 |
| أسطر الشيفرة | حتى 100 | حتى 400 | حتى 1,000 |
| أجزاء مصحّحة | نعم | نعم | نعم |
| ملاحظات ترقية إصدار Pine | لا | لا | نعم |
| اطلب الأساسية | اطلب القياسية | اطلب المميزة |
حماية الدفع
تدفع عند الطلب، لكن المبلغ لا يُحوَّل إلا مقابل عمل قبلته.
- سعر ثابتلا يتغير سعر الباقة بعد الدفع.
- المبلغ محجوزعند الدفع، يُحجز المبلغ فقط. ولا يُحوَّل إلى Dleex إلا بعد قبولك العمل.
- فحص قبل التسليمتخضع كل نتيجة لفحص الجودة قبل أن تصل إليك، وتراها في صفحة الطلب قبل قبولها.
- تعديلات مجانيةاطلب تعديلات ضمن متطلبات طلبك بالعدد الذي تسمح به الباقة.
- القبول بعد 3 أيامإذا لم تقبل العمل ولم تطلب تعديلات خلال 3 أيام من التسليم، يُقبل تلقائيًا. وإذا كتبت في محادثة الطلب بعد التسليم، يبقى الطلب قيد الانتظار؛ وبعد ردّنا، قد نعيد بدء مهلة 3 أيام وسنُعلمك بذلك في المحادثة.
- إعادة التنفيذ أو استرداد المبلغ كاملًاإذا لم تطابق النتيجة متطلبات طلبك ولم تُصلحها التعديلات، أو استغرق العمل أكثر من ضعف مدة التنفيذ، فاكتب في محادثة الطلب: سنعيد تنفيذ العمل أو نردّ إليك المبلغ كاملًا.
الأسئلة والأجوبة
هل ستخبرونني إن كانت استراتيجيتي مربحة؟
لا. هذه مراجعة للشيفرة، وليست نصيحة تداول أو استثمار. نتحقق من أن الشيفرة تفعل ما تقصده ولا تعيد الرسم.
هل تُجرون اختبارات رجعية؟
لا، لا نفتح TradingView نيابة عنك. شغّل البرنامج المصحّح على رسمك البياني وقارن النتائج بنفسك.
هل يمكنكم تحويل برنامجي من الإصدار 4؟
في الباقة المميزة نحدد ما يتغير ونقدّم أجزاء محدّثة. تحقق من البرنامج المحوّل على الرسم البياني قبل الاعتماد عليه.