حساب وقف الخسارة
الآن وقد حددنا قيمة النقطة المناسبة ، حان الوقت لحساب وقف الخسارة. لأوامر الشراء ،
سيكون وقف الخسارة أقل من سعر فتح الأمر ، وبالنسبة لأوامر البيع ، سيكون وقف الخسارة أعلى من
سعر فتح الأمر.
إليك حساب وقف الخسارة الخاص بأمر الشراء من وقت سابق ، مع إضافة متغير UsePoint. لاحظ أن
لقد قمنا بتعيين سعر الطلب Ask لمتغير OpenPrice:
وإليك طريقة حساب أمر البيع. لاحظ أننا قمنا بتعيين سعر العطاء Bid على OpenPrice و
التي نضيفها ببساطة بدلاً من طرحها:
بالنسبة للأوامر المعلقة ، سيتم حساب وقف الخسارة بالنسبة لسعر الأمر المعلق. في هذه الحالة،
استخدم OpenPrice المتغير لتخزين سعر الأمر المعلق بدلاً من سعر السوق الحالي.
سيكون المنطق مطابقًا للأمثلة أعلاه.
حساب جني الأرباح
يشبه حساب سعر جني الأرباح حساب وقف الخسارة ، باستثناء أننا سننعكس
جمع وطرح. بالنسبة لأمر الشراء ، سيكون سعر جني الأرباح أعلى من سعر فتح الأمر ،
وبالنسبة لأمر البيع ، سيكون سعر جني الأرباح أقل من سعر فتح الأمر. سنفترض أن
تم تخصيص السعر المناسب لـ OpenPrice:
طرق إيقاف الخسارة البديلة
هناك طرق أخرى لتحديد أسعار وقف الخسارة وجني الأرباح. على سبيل المثال ، ارتفاع حديث أو
منخفض ، أو يمكن استخدام قيمة المؤشر لتحديد وقف الخسارة. دعونا نوضح كيف يمكننا ذلك
احسب هذه.
لنفترض أننا نستخدم نظام تداول يضع وقف الخسارة تحت قاع الشريط بمقدار نقطتين
. نستخدم مصفوفة الأسعار المحددة مسبقًا Low [] لاسترداد أدنى مستوى للشريط. منخفض [0] هو أدنى مستوى من
العمود الحالي ، المنخفض [1] هو أدنى مستوى للشريط السابق ، وهكذا.
بمجرد تحديد أدنى مستوى للشريط الحالي ، نضرب 2 في UsePoint للحصول على قيمة عشرية ،
وطرح ذلك من قاعنا:
لذلك إذا كان أدنى مستوى للشريط هو 1.4760 ، فسيتم وضع وقف الخسارة عند 1.4758.
ولكن ربما ترغب في وضع وقف الخسارة عند أدنى قاع لآخر عدد س من الأشرطة. هناك
وظيفة مدمجة في MetaTrader فقط من أجل ذلك. تُرجع iLowest () قيمة التحول التي تشير إلى الشريط الذي يحتوي على
أدنى قيمة في نطاق زمني محدد. يمكننا استخدام قيم عالية أو منخفضة أو مفتوحة أو قريبة.
فيما يلي مثال لكيفية استخدام iLowest () للعثور على أدنى مستوى أدنى من آخر 10 أشرطة:
المعلمة الأولى لـ iLowest () هي رمز العملة - NULL تعني أننا نستخدم الرمز او( الزوج) الحالي.
تستخدم العديد من الدالات في MQL ثابت السلسلة NULL للإشارة إلى رمز المخطط الحالي. ال
المعلمة الثانية هي فترة الرسم البياني - 0 تشير إلى إطار الرسم البياني الحالي.
MODE_LOW هو ثابت عدد صحيح يحدد مصفوفة سلسلة السعر المنخفض. بعبارة أخرى ، نحن
نبحث عن أدنى مستوى أدنى لأشرطة التعداد الأخيرة. إذا أردنا العثور على أدنى إغلاق ، على سبيل المثال ،
سنستخدم MODE_CLOSE. يمكنك العثور على جميع ثوابت السلسلة في مرجع MQL أسفل
الثوابت القياسية - صفائف متسلسلة.
CountBars هو عدد الأشرطة التي نريد البحث عنها ، في هذه الحالة 10. أخيرًا ، المعلمة الأخيرة هي
موقع الانطلاق. 0 هو الشريط الحالي. للبدء من شريط سابق ، عد للخلف من الشريط الحالي
- الشريط السابق هو 1 ، والشريط الذي قبله هو 2 ، إلخ.
ناتج دالة iLowest () هو عدد صحيح يشير إلى التحول للخلف للشريط باستخدام
أدنى قيمة في سلسلة الأسعار. في المثال أعلاه ، إذا قامت iLowest () بإرجاع 6 ، فهذا يعني أن
أدنى انخفاض هو 6 أشرطة للخلف. نقوم بتخزين هذه القيمة في المتغير LowestShift. للعثور على السعر الفعلي ،
نحن ببساطة نسترجع قيمة السعر المنخفضة [LowestShift] ، أو بعبارة أخرى ، Low [6].
إذا أردت حساب وقف الخسارة لأمر بيع باستخدام هذه الطريقة ، فإن وظيفة iHighest ()
يعمل بنفس الطريقة. بالرجوع إلى المثال أعلاه ، يمكنك استخدام MODE_HIGH لمصفوفة السلسلة الخاصة بك.
إليك مثال باستخدام مؤشر. لنفترض أن لدينا متوسط متحرك ، ونريد استخدام
خط المتوسط المتحرك هو وقف الخسارة. سنستخدم المتغير MA لتمثيل قيمة المتوسط المتحرك
للشريط الحالي. كل ما عليك فعله هو تعيين قيمة المتوسط المتحرك الحالي لإيقاف الخسارة:
إذا كان خط المتوسط المتحرك حاليًا عند 1.6894 ، فسيكون هذا هو وقف الخسارة.
هذه هي ببساطة أكثر الطرق شيوعًا لتحديد سعر وقف الخسارة أو جني الأرباح.
يمكن تطوير الأساليب الاخرى باستخدام معرفتك بالتحليل الفني أو خيالك.
الآن وقد حددنا قيمة النقطة المناسبة ، حان الوقت لحساب وقف الخسارة. لأوامر الشراء ،
سيكون وقف الخسارة أقل من سعر فتح الأمر ، وبالنسبة لأوامر البيع ، سيكون وقف الخسارة أعلى من
سعر فتح الأمر.
إليك حساب وقف الخسارة الخاص بأمر الشراء من وقت سابق ، مع إضافة متغير UsePoint. لاحظ أن
لقد قمنا بتعيين سعر الطلب Ask لمتغير OpenPrice:
كود:
double OpenPrice = Ask; if(StopLoss > 0) double BuyStopLoss = OpenPrice – (StopLoss * UsePoint);
التي نضيفها ببساطة بدلاً من طرحها:
كود:
double OpenPrice = Bid; if(StopLoss > 0) double SellStopLoss = OpenPrice + (StopLoss * UsePoint);
استخدم OpenPrice المتغير لتخزين سعر الأمر المعلق بدلاً من سعر السوق الحالي.
سيكون المنطق مطابقًا للأمثلة أعلاه.
حساب جني الأرباح
يشبه حساب سعر جني الأرباح حساب وقف الخسارة ، باستثناء أننا سننعكس
جمع وطرح. بالنسبة لأمر الشراء ، سيكون سعر جني الأرباح أعلى من سعر فتح الأمر ،
وبالنسبة لأمر البيع ، سيكون سعر جني الأرباح أقل من سعر فتح الأمر. سنفترض أن
تم تخصيص السعر المناسب لـ OpenPrice:
كود:
if(TakeProfit > 0) double BuyTakeProfit = OpenPrice + (TakeProfit * UsePoint); if(TakeProfit > 0) double SellTakeProfit = OpenPrice - (TakeProfit * UsePoint);
طرق إيقاف الخسارة البديلة
هناك طرق أخرى لتحديد أسعار وقف الخسارة وجني الأرباح. على سبيل المثال ، ارتفاع حديث أو
منخفض ، أو يمكن استخدام قيمة المؤشر لتحديد وقف الخسارة. دعونا نوضح كيف يمكننا ذلك
احسب هذه.
لنفترض أننا نستخدم نظام تداول يضع وقف الخسارة تحت قاع الشريط بمقدار نقطتين
. نستخدم مصفوفة الأسعار المحددة مسبقًا Low [] لاسترداد أدنى مستوى للشريط. منخفض [0] هو أدنى مستوى من
العمود الحالي ، المنخفض [1] هو أدنى مستوى للشريط السابق ، وهكذا.
بمجرد تحديد أدنى مستوى للشريط الحالي ، نضرب 2 في UsePoint للحصول على قيمة عشرية ،
وطرح ذلك من قاعنا:
كود:
double BuyStopLoss = Low[0] – (2 * UsePoint);
لذلك إذا كان أدنى مستوى للشريط هو 1.4760 ، فسيتم وضع وقف الخسارة عند 1.4758.
ولكن ربما ترغب في وضع وقف الخسارة عند أدنى قاع لآخر عدد س من الأشرطة. هناك
وظيفة مدمجة في MetaTrader فقط من أجل ذلك. تُرجع iLowest () قيمة التحول التي تشير إلى الشريط الذي يحتوي على
أدنى قيمة في نطاق زمني محدد. يمكننا استخدام قيم عالية أو منخفضة أو مفتوحة أو قريبة.
فيما يلي مثال لكيفية استخدام iLowest () للعثور على أدنى مستوى أدنى من آخر 10 أشرطة:
كود:
int CountBars = 10; int LowestShift = iLowest(NULL,0,MODE_LOW,CountBars,0); double BuyStopLoss = Low[LowestShift];
المعلمة الأولى لـ iLowest () هي رمز العملة - NULL تعني أننا نستخدم الرمز او( الزوج) الحالي.
تستخدم العديد من الدالات في MQL ثابت السلسلة NULL للإشارة إلى رمز المخطط الحالي. ال
المعلمة الثانية هي فترة الرسم البياني - 0 تشير إلى إطار الرسم البياني الحالي.
MODE_LOW هو ثابت عدد صحيح يحدد مصفوفة سلسلة السعر المنخفض. بعبارة أخرى ، نحن
نبحث عن أدنى مستوى أدنى لأشرطة التعداد الأخيرة. إذا أردنا العثور على أدنى إغلاق ، على سبيل المثال ،
سنستخدم MODE_CLOSE. يمكنك العثور على جميع ثوابت السلسلة في مرجع MQL أسفل
الثوابت القياسية - صفائف متسلسلة.
CountBars هو عدد الأشرطة التي نريد البحث عنها ، في هذه الحالة 10. أخيرًا ، المعلمة الأخيرة هي
موقع الانطلاق. 0 هو الشريط الحالي. للبدء من شريط سابق ، عد للخلف من الشريط الحالي
- الشريط السابق هو 1 ، والشريط الذي قبله هو 2 ، إلخ.
ناتج دالة iLowest () هو عدد صحيح يشير إلى التحول للخلف للشريط باستخدام
أدنى قيمة في سلسلة الأسعار. في المثال أعلاه ، إذا قامت iLowest () بإرجاع 6 ، فهذا يعني أن
أدنى انخفاض هو 6 أشرطة للخلف. نقوم بتخزين هذه القيمة في المتغير LowestShift. للعثور على السعر الفعلي ،
نحن ببساطة نسترجع قيمة السعر المنخفضة [LowestShift] ، أو بعبارة أخرى ، Low [6].
إذا أردت حساب وقف الخسارة لأمر بيع باستخدام هذه الطريقة ، فإن وظيفة iHighest ()
يعمل بنفس الطريقة. بالرجوع إلى المثال أعلاه ، يمكنك استخدام MODE_HIGH لمصفوفة السلسلة الخاصة بك.
إليك مثال باستخدام مؤشر. لنفترض أن لدينا متوسط متحرك ، ونريد استخدام
خط المتوسط المتحرك هو وقف الخسارة. سنستخدم المتغير MA لتمثيل قيمة المتوسط المتحرك
للشريط الحالي. كل ما عليك فعله هو تعيين قيمة المتوسط المتحرك الحالي لإيقاف الخسارة:
كود:
double BuyStopLoss = MA;
هذه هي ببساطة أكثر الطرق شيوعًا لتحديد سعر وقف الخسارة أو جني الأرباح.
يمكن تطوير الأساليب الاخرى باستخدام معرفتك بالتحليل الفني أو خيالك.