PDA

View Full Version : زائدة وقف رمز؟



عبد القادر لمياء
11-19-2008 09:40, 09:40 AM
كنت أتساءل ما إذا كان شخص ما يمكن أن يشير لي إلى بعض التعليمات البرمجية التي يمكنني استخدامها في EA التي سوف تسمح لي لوضع وقف مع رمز. بدلاً من استخدام نقطة الربح ، أرغب في وضع أمر وقف متحرك ، لذا إذا كان الطلب ينتقل إلى اتجاه ، فيمكنني تحقيق أقصى استفادة من هذا الربح بدلاً من الاستفادة منه.

لقد بحثت في قاعدة كود MQL ولا يمكنني العثور على أي أفعال لوضع أمر وقف على أمر مفتوح.

شكرا لكم!

إمام حليم
07-24-2021 01:45, 01:45 AM
هنا يمكنك الذهاب. إنه ليس رمزًا مقاومًا للرصاص ، ولكنه سوف يجعلك تتحرك في الاتجاه الصحيح. رمز المدرج باطل TrailingAlls (int trail) إذا (trail == 0) إرجاع ؛/- stopcrnt المزدوج ؛ stopcal المزدوج. التجارة الدولية int intes = OrdersTotal ()؛ ربح مزدوج. لـ (التجارة = 0 ؛ التجارة ؛ التجارة ؛ التجارة ) OrderSelect (التجارة ، SELECT_BY_POS ، MODE_TRADES) ؛ يجب (OrderSymbol () == Symbol ())/last؛/LONG if (OrderType () == OP_BUY) stopcrnt = OrderStopLoss ()؛ stopcal = Bid- (trail * Stage) ؛ profitcalc = OrderTakeProfit () (TakeProfit * نقطة). إذا (stopcrnt == 0) OrderModify (OrderTicket () و OrderOpenPrice () و stopcal و profitcalc و 0 و Blue) ؛ وإلا إذا (stopcalgt؛ stopcrnt) OrderModify (OrderTicket () و OrderOpenPrice () و stopcal و profitcalc و 0 و Blue) ؛/LONG/Shrt if (OrderType () == OP_SELL) stopcrnt = OrderStopLoss ()؛ stopcal = اسأل (درب * المرحلة) ؛ profitcalc = OrderTakeProfit () - (TakeProfit * نقطة). إذا (stopcrnt == 0) OrderModify (OrderTicket () و OrderOpenPrice () و stopcal و profitcalc و 0 و Red) ؛ وإلا إذا (stopcallt ؛ stopcrnt) OrderModify (OrderTicket () و OrderOpenPrice () و stopcal و profitcalc و 0 و Red) ؛/سحرت

عبد القادر لمياء
07-24-2021 03:06, 03:06 AM
شكرًا لك على الكود ... عندما يكون لديك طلب مفتوح في MT4 ، يمكنك تركه وانقر فوقه ثم وضع نقطة توقف يتعامل معها النظام تلقائيًا حتى لا تحتاج إلى ترقيته. لا توجد وسيلة للقيام بذلك؟ لدي شعور بأنه إذا قمت بتغيير طلبات الشراء عن طريق EA ، فلن يسعد الوسيط بذلك. أفكار؟

إمام حليم
07-24-2021 04:27, 04:27 AM
شكرًا لك على هذا الكود ... عندما يكون لديك طلب مفتوح في MT4 ، يمكنك تركه انقر فوقه ثم وضع نقطة توقف يديرها الجهاز تلقائيًا حتى لا تضطر إلى ترقيته. لا توجد وسيلة للقيام بذلك؟ لدي شعور بأنه إذا قمت بتغيير الطلبات بشكل متقطع من خلال EA مباشر ، فلن يكون السمسار سعيدًا بذلك. أفكار؟
بعد ذلك ، لا تتخذ إجراءً محددًا - يجب عليك ضبطه حتى يتم إطلاقه فقط عند توفر شمعة جديدة.

albaferp
07-24-2021 05:48, 05:48 AM
قال LongToBeFree: ثم لا تفعل ذلك بالتعاقب - يجب عليك ضبطه بحيث ينطلق فقط إذا كانت شمعة جديدة مفتوحة. مجرد بداية لمعرفة MQL4 ، لذلك تحتاج إلى مساعدة قدر ما تستطيع. كيف تكسب MT4 تعمل فقط على شمعة جديدة ، هل هو شيء مثل هذا: int Lastbar = 0 void start () if (Lastbar == Bars) return (0)؛ Lastbar = القضبان ؛/////بقية الكود هنا///return (0)؛ لقد أثرت هذا من EA مختلفة كنت أدرس ، ولكن من الصعب للغاية مع كل شيء يجري على الخط. لا أحد يعلم بوجود كتاب مدرسي مطبوع على MQL4 ، لقد مر وقت طويل جدًا منذ سمعت أي لغة ترميز جديدة ، وكان على الورق في تلك الأيام القديمة. التحيات ، إيان ، في لعبة الركبي.

ccuccuno
07-24-2021 07:08, 07:08 AM
في بعض الحالات ، لا ترغب في الحصول على ”إيقاف” وقف الخسارة المتأخرة عند إغلاق الشمعة نظرًا لوجود انخفاض محتمل في أرباح النقطة. يهدف وقف الخسارة المتأخر إلى جني الأرباح مع تقليل الخسائر. يمكن للشمعة تحريك النقاط لصالحك ببساطة للهروب داخل نفس الشمعة مباشرة إلى الموقع الذي لن تدرك فيه بعض هذه المكاسب. سيكون منذ وقف الخسارة الزائدة 'الحرائق'. ولكن إذا كان هذا هو التفضيل بكل الوسائل ...
https://www.cavemantrading.com/attachments/1529198924.pngمثال على الكود الذي تتحدث عنه هنا ... double PointValue؛ لـ (int I = 0 ؛ I lt ؛ OrdersTotal () ؛ I ) OrderSelect (I، SELECT_BY_POS، MODE_TRADES)؛ PointValue = MarketInfo (OrderSymbol () ، MODE_POINT) ؛/تطبيع مراقبة قيمة الإيقاف إلى النقطة التي تستحق مضاعفة TSTP = TrailingStop * PointValue؛ if (OrderType () == OP_BUY) if ((Bid - OrderOpenPrice ()) gt؛ TSTP) if (OrderStopLoss () lt؛ (Bid - TSTP)) OrderModify (OrderTicket ()، OrderOpenPrice ()، Bid - TSTP، OrderTakeProfit () ، الأحمر) ؛ else if (OrderType () == OP_SELL) if ((OrderOpenPrice () - Ask) gt؛ TrailingStop * PointValue) (OrderStopLoss () == 0)) OrderModify (OrderTicket () و OrderOpenPrice () و Ask TSTP و OrderTakeProfit () ) ، الأحمر) ؛

croba977
07-24-2021 08:29, 08:29 AM
يبدو أن الوقف المتحرك للوهلة الأولى يمثل مشكلة ترميز ، وكان هذا هو الأسلوب الذي تم تناوله به من قبلي في أول رحلة لي. لقد وجدت الفروق الدقيقة التي لم يكن منطقي يعالجها وقمت بمراجعة الكود مرتين ولم أسفر عن نتيجة مرضية. هناك العديد من العوامل التي يجب أخذها في الاعتبار وقد تم ذكر بعضها بالفعل. الأول هو ما إذا كان يجب القيام بذلك من جانب العميل أو جانب الخادم. أنا شخصياً أؤيد جانب العميل لأن ترقية الخادم مع كل زيادة صغيرة يولد الكثير من النفقات العامة لـ 5 أنظمة. القرار هو ما إذا كان ينبغي إعادة حساب لكل علامة واحدة أو كل حانة. خفضت كل حسابات الأعمدة من TF وقد تعمل لمدة 15 مليونًا ولكن من أجل 4H TF من شأنها أن تجعل TS عديم الفائدة. عندما أكتب رمزًا ، لا أرغب في عمل افتراضات على الأرجح أن EA ستعمل عليها ، لذلك أريد. أحد الاعتبارات التي تم التغاضي عنها هو أن الحساب يجب إعادة تشغيله أو مقاطعته. أعني بذلك أنه بينما تعمل EA ، قد يتم تغيير إعداد من قبل المستخدم أو قد يتم إغلاق MT4 وإعادة تشغيله. يحتاج الحساب إلى استئناف وإنشاء نتائج في هذا الحدث. ويترتب على ذلك أن MathMax بسيط جدًا (مرتفع [0] ، prevHigh) لن يعمل لأنه يتم إعادة تهيئة prevHigh. هذا هو السبب في أنني أستخدم حسابًا مثل hi = High [ArrayMaximum (High، nbarsOpen، 0)] عندما يكون لديّ تداول طويل مشغول. NbarsOpen = iBarShift (NULL ، 0 ، orderOpenTime) ؛ قد يبدو هذا حسابًا كبيرًا لكل علامة ، والآن أفكر في وضعه في الدالة init () ومع حساب MathMax () الأبسط للدالة start ().

حكيم ممتاز
07-24-2021 09:50, 09:50 AM
مرحباً يا شباب ، لدي رمز لفتح أمرين معلقين في نفس الوقت ، لكن يجب أن أدرج لهذا الرمز وظيفة إيقاف المسار في حالة وجود أي تعليق معلق .... هل يمكن لأي شخص المساعدة؟ مع تحياتي.

PatibPatabbod
07-24-2021 11:11, 11:11 AM
يا رفاق قد ترغب في التحقق من هذا.
https://www.cavemantrading.com/general-forex-discussion/1180-profitable-renko-system.html