انتقل إلى المحتوى

إنشاء قائمة بتنبيهات الأسعار

تضم قائمة تنبيهات الأسعار المستويات السعرية التي تريد معرفة وقت بلوغها دون الحاجة إلى مراقبة الرسم البياني باستمرار. يوضح هذا الدليل كيفية اختيار الرموز، والتحقق من أسعارها وساعات تداولها، ثم تفعيل تنبيه لكل مستوى. وفي النهاية، ستنشئ نصًا برمجيًا يعيد إنشاء القائمة بأكملها في تشغيل واحد.

نصيحة

حدّد بيانات اعتمادك مرة واحدة في متغيرات القشرة (shell). تستخدم جميع الأوامر التفاعلية أدناه هذه المتغيرات، مما يُبقي الخطوات مختصرة ويسهّل نقل النص البرمجي بين البيئات.

export CTID=letstrade
export ACC=7654321
export PWD_FILE=$HOME/.ctrader/pwd

1. اختيار الرموز التي تريد مراقبتها

يعرض symbols جميع الأدوات المالية المتاحة على الحساب. احفظ المخرجات لتحديد أسماء الرموز الدقيقة التي ستستخدمها في الخطوات التالية.

ctrader-cli symbols --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC > symbols.txt

استخدم الأسماء تمامًا كما تظهر هنا. إذا لم يتطابق الاسم، فستظهر رسالة الخطأ Unknown symbol name.

2. الاطلاع على الأسعار الحالية للرموز المختارة

يعيد prices سعرَي العرض (Bid) والطلب (Ask) الحاليين لعدة رموز في استدعاء واحد، ما يساعدك على تحديد مستويات التنبيه وفق أسعار السوق المباشرة بدلًا من الاعتماد على الذاكرة.

ctrader-cli prices --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
    --symbols=EURUSD,GBPUSD,XAUUSD

للاطلاع على رمز واحد، استخدم price مع --symbol.

ctrader-cli price --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --symbol=EURUSD

3. التحقق من دقة تسعير الرمز

يعرض symbol تفاصيل الأداة المالية، بما في ذلك عدد المنازل العشرية المستخدم في تسعيرها. اضبط سعر التنبيه وفق هذه الدقة لتحديد المستوى المقصود تمامًا.

ctrader-cli symbol --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --symbol=XAUUSD

4. التحقق من ساعات فتح السوق

يعرض sessions جلسات التداول الخاصة برمز معين مع أوقات فتحها وإغلاقها. إذا حددت مستوى سعريًا عندما يكون السوق مغلقًا، فلن يُفحص هذا المستوى إلا بعد إعادة فتح السوق. وهذا مهم بشكل خاص للمعادن والمؤشرات والأدوات التي يتوقف تداولها خلال عطلة نهاية الأسبوع.

ctrader-cli sessions --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q --symbol=XAUUSD

5. تفعيل تنبيه عند كل مستوى سعري

يتطلب alert create تحديد الرمز والسعر والشرط الذي يؤدي إلى تشغيل التنبيه. استخدم --message لإضافة وصف يوضح غرض التنبيه عند تشغيله، و--yes لتجاوز طلب التأكيد عند تنفيذ النص البرمجي.

يمكن أن يكون الشرط above أو below. تقارن التنبيهات سعر العرض (Bid) للرمز بالمستوى المحدد.

ctrader-cli alert create --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
    --symbol=EURUSD --price=1.1050 --condition=above \
    --message="EURUSD breaks range high" --yes

كرر الإجراء لكل مستوى سعري لكل رمز. يرتبط كل تنبيه بمستوى سعري واحد لرمز واحد.

ملاحظة

القيم المقبولة: above، below.

6. مراجعة قائمة تنبيهات الأسعار وحذف التنبيهات القديمة

يعرض alerts جميع التنبيهات النشطة حاليًا على الحساب. شغّل هذا الأمر بعد كل تعديل للتأكد من أن القائمة تطابق الإعدادات المطلوبة.

ctrader-cli alerts --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q

احذف التنبيه المحدد باستخدام معرّفه عندما يصل السعر إلى مستواه أو عندما تفقد فكرة التداول المرتبطة به أهميتها.

ctrader-cli alert delete --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q \
    --alert=44556677 --yes

لبدء قائمة فارغة، استخدم all لحذف جميع تنبيهات الأسعار على الحساب.

ctrader-cli alert delete all yes --ctid=$CTID --pwd-file=$PWD_FILE --account=$ACC -q

في القشرة التفاعلية، يُكتب الأمر نفسه بالشكل > alert delete all yes.

7. إعادة إنشاء قائمة التنبيهات بالكامل باستخدام نص برمجي

احفظ تسلسل الأوامر باسم price-alert-list.sh. يحذف النص البرمجي التنبيهات السابقة، ويفعّل جميع المستويات الموجودة في المصفوفة PRICE_ALERT_LIST، ويعرض النتيجة. وبهذا تحصل بعد تشغيل واحد على القائمة المحددة في بداية النص البرمجي، مهما كانت حالتها قبل التشغيل.

يتضمن كل إدخال رمزًا وسعرًا وشرطًا ورسالة، تفصل بينها العلامة |.

#!/usr/bin/env bash
set -euo pipefail

CTID=letstrade
ACC=7654321
PWD_FILE=$HOME/.ctrader/pwd

PRICE_ALERT_LIST=(
    "EURUSD|1.1050|above|EURUSD breaks range high"
    "EURUSD|1.0900|below|EURUSD loses range low"
    "XAUUSD|2400.00|above|Gold at round number"
)

cli() {
    ctrader-cli "$@" --ctid="$CTID" --pwd-file="$PWD_FILE" --account="$ACC" -q
}

# Start from a clean list so the array below is the single source of truth.
cli alert delete all yes

# Arm every level in the price-alert list.
for ENTRY in "${PRICE_ALERT_LIST[@]}"; do
    IFS='|' read -r SYMBOL PRICE CONDITION MESSAGE <<< "$ENTRY"
    echo "Arming $SYMBOL at $PRICE ($CONDITION)"
    cli alert create --symbol="$SYMBOL" --price="$PRICE" \
        --condition="$CONDITION" --message="$MESSAGE" --yes
done

# Confirm what is armed.
cli alerts

شغّل bash price-alert-list.sh كلما غيّرت المستويات. بما أن النص البرمجي يحذف جميع التنبيهات قبل إعادة إنشائها، فعليك تعديل المصفوفة بدلًا من إضافة تنبيهات يدويًا، وإلا فستُحذف هذه التنبيهات عند التشغيل التالي.

تسرد مراجع أوامر cTrader CLI جميع الخيارات المتاحة للأوامر المستخدمة في هذا الإجراء.

تحذير

cTrader CLI أداة للتداول والأتمتة. لا تقدم هذه الأداة استشارات مالية أو استثمارية أو قانونية أو ضريبية. قد تؤدي أوامر CLI الخاصة بوضع أو تعديل أوامر التداول إلى تنفيذ صفقات حقيقية والتسبب في خسائر. تحقق من كل أمر قبل تنفيذه، واختبره أولًا على حساب تجريبي، واحرص على حماية بيانات اعتمادك.