برمجياً : هل هناك امكانية لاستخدام التريلنج ستوب بهذا الشكل
النتائج 1 إلى 5 من 5
  1. #1
    تاريخ التسجيل
    Aug 2011
    المشاركات
    1,607

    افتراضي برمجياً : هل هناك امكانية لاستخدام التريلنج ستوب بهذا الشكل

    السلام عليكم
    ما اعرفة عن التريلنج ستوب هو المثال الاتى : دخلت مثلاً شراء يورو بهدف 40 نقطة مثلاً وعملت تريلنج ستوب 10 نقط فيكون العمل اننى فى حالة ربح الـ 10 نقط الاولى لا اخسرهم واذا وصلت للـ 20 نقطة يتحرك التريلنج فلا اخسرهم (10+10) وهكذا

    ما اريده هو ان يعمل التريلنج ستوب كما فى المثال السابق لكن بداية من النقطة 20 (مثلاً) ليس من النقطة صفر بمعنى عند وصول الربح الى 20 نقطة يبدأ التريلنج ستوب فى العمل مثلا ً كل 5 نقط ... لكن المهم ان يبدأ عملة بعد عدد معين من النقاط

    ارجوا ان اكون نجحت فى توصيل الفكرة والف شكر لمن يرغب فى المساعدة
    توقيع العضو
    سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته . اللهم اغفر للمسلمين والمسلمات والمؤمنين والمؤمنات الاحياء منهم والاموات

  2. #2
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    12,977

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة mahdy1 مشاهدة المشاركة
    السلام عليكم
    ما اعرفة عن التريلنج ستوب هو المثال الاتى : دخلت مثلاً شراء يورو بهدف 40 نقطة مثلاً وعملت تريلنج ستوب 10 نقط فيكون العمل اننى فى حالة ربح الـ 10 نقط الاولى لا اخسرهم واذا وصلت للـ 20 نقطة يتحرك التريلنج فلا اخسرهم (10+10) وهكذا

    ما اريده هو ان يعمل التريلنج ستوب كما فى المثال السابق لكن بداية من النقطة 20 (مثلاً) ليس من النقطة صفر بمعنى عند وصول الربح الى 20 نقطة يبدأ التريلنج ستوب فى العمل مثلا ً كل 5 نقط ... لكن المهم ان يبدأ عملة بعد عدد معين من النقاط

    ارجوا ان اكون نجحت فى توصيل الفكرة والف شكر لمن يرغب فى المساعدة
    وعليكم السلام ورحمة الله وبركاته
    ملاحظه بسيطه أولا في التريلينج ستوب العادي إذا كان التريلينج ستوب مثلا 10 نقاط فبعد ربح 10 نقاط يقوم بنقل الأستوب لوز إلى نقطة الدخول ثم بعد ذلك مع ربح كل نقطه يتم تقديم الأستوب +1 نقطه وليس الإنتظار 10 نقاط أخرى حتى يقدم الأستوب لوز
    الآن بالنسبه لسؤالك نعم يمكن فلاحظ على سبيل المثال هذا كود التريلينج ستوب العادي
    كود PHP:
    void MoveTrailingStop()
    {
       
    int cnt,total=OrdersTotal();
       for(
    cnt=0;cnt<total;cnt++)
       {
          
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
          if(
    OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
          {
             if(
    OrderType()==OP_BUY)
             {
                if(
    TrailingStop>0&&Ask>OrderOpenPrice())  
                {                 
                   if((
    NormalizeDouble(OrderStopLoss(),Digits)<NormalizeDouble(Bid-TrailingStop*point,Digits))||(OrderStopLoss()==0))
                   {
                      
    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-TrailingStop*point,Digits),OrderTakeProfit(),0,Blue);
                      return(
    0);
                   }
                }
             }
             else 
             {
                if(
    TrailingStop>0&&Bid<OrderOpenPrice())  
                {                 
                   if((
    NormalizeDouble(OrderStopLoss(),Digits)>(NormalizeDouble(Ask+TrailingStop*point,Digits)))||(OrderStopLoss()==0))
                   {
                      
    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+TrailingStop*point,Digits),OrderTakeProfit(),0,Red);
                      return(
    0);
                   }
                }
             }
          }
       }

    و TrailingStop هو المتغير الخارجي الذي يتم التحكم فيه
    لكن حسب الطريقه التي تريد عملها أن يبدأ التريلينج ستوب من نقطه محدده مختلفه عن عدد نقاط التريلينج ستوب
    فسوف نستخدم StartTrailingStopPips في هذا السطر
    كود PHP:
     if(TrailingStop>0&&Ask>OrderOpenPrice()+StartTrailingStopPips*point
    ثم تريد تحريك الكود كل عدد نقاط ربح محدده وليس كل نقطه ربح واحده فسنضيف المتغير TrailingStep
    فيصبح الكود النهائي
    كود PHP:
    void MoveTrailingStop()
    {
       
    int cnt,total=OrdersTotal();
       for(
    cnt=0;cnt<total;cnt++)
       {
          
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
          if(
    OrderType()<=OP_SELL&&OrderSymbol()==Symbol()&&OrderMagicNumber()==MagicNumber)
          {
             if(
    OrderType()==OP_BUY)
             {
                if(
    TrailingStop>0&&Ask>OrderOpenPrice()+StartTrailingStopPips*point)  
                {                 
                   if((
    NormalizeDouble(OrderStopLoss()+TrailingStep*point,Digits)<NormalizeDouble(Bid-TrailingStop*point,Digits))||(OrderStopLoss()==0))
                   {
                      
    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-TrailingStop*point,Digits),OrderTakeProfit(),0,Blue);
                      return(
    0);
                   }
                }
             }
             else 
             {
                if(
    TrailingStop>0&&Bid<OrderOpenPrice()-StartTrailingStopPips*point)  
                {                 
                   if((
    NormalizeDouble(OrderStopLoss()-TrailingStep*point,Digits)>(NormalizeDouble(Ask+TrailingStop*point,Digits)))||(OrderStopLoss()==0))
                   {
                      
    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+TrailingStop*point,Digits),OrderTakeProfit(),0,Red);
                      return(
    0);
                   }
                }
             }
          }
       }

    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  3. #3
    تاريخ التسجيل
    Aug 2011
    المشاركات
    1,607

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة MR.dollar مشاهدة المشاركة
    وعليكم السلام ورحمة الله وبركاته
    ملاحظه بسيطه أولا في التريلينج ستوب العادي إذا كان التريلينج ستوب مثلا 10 نقاط فبعد ربح 10 نقاط يقوم بنقل الأستوب لوز إلى نقطة الدخول ثم بعد ذلك مع ربح كل نقطه يتم تقديم الأستوب +1 نقطه وليس الإنتظار 10 نقاط أخرى حتى يقدم الأستوب لوز

    واضح انى كنت فاهم غلط .. بس تحريك الاستوب +1 غريبة شوية ،، اصل انا استخدمت تريلينج ستوب وكان لما بيوصل للرقم اللى انا حددتة مكنش بيزيد تانى ، يعنى انا مثلاً اشتريت يورو دولار من 1.2900 بهدف 12950 وعملت تريلنج ستوب 20 نقطة ،، اللى بيحصل انة لما كان بيوصل الى 1.2920 كان بيضع الرقم ده فى خانة الاستوب لوز ولو طلع اكثر من كده مكنش بيحركة والمفروض مش هيغيرة الا عند 1.2940 ولو طلع حتى الى 1.2930 بيفضل الاستوب مكانة ولو رجع اقل من 1.2920 بيضرب الاستوب اللى هو اساساً استوب لوز ويقفل الصفقة على ربح 20 نقطة
    اللى انا عاوزة من حضرتك هو ما شرحتة فى الموضوع وهو بداية الاستوب من عدد نقط افتتاح الاوردر ،، يعنى مثلاً فى المثال السابق عاوز الاستوب يبدأ عملة بعد 20 نقطة ويزيد بعد ذلك 3 نقط
    وبصراحة انا عاوز اضيف هذة الجزئية على اسكريبتين
    الاسكريبت الاول يقوم بفتح 8 عمليات بيع و2 شراء والاسكريبت الثانى يفعل العكس
    أأمل فى وضع هدف واستوب لوز وتريلينج ستوب بالمواصفات المقترحة ويتم تعديلها من داخل الاسكريبت ويفضل ان تكون قيمة واحدة للعشرة ازواج ، يعنى ادخل الاسكريبت مثلاً اغير القيمة الافتراضية لو عاوز مثلاُ (الهدف 50 وبداية التريلينج 20 وزيادة التريلنج 3 والاستوب لوز مثلاً مش عاوز يبقا اخلية صفر)
    مرفق الاسكربتين ومنتظر رد حضرتك
    ومليار شكر يا استاذنا
    الملفات المرفقة الملفات المرفقة
    توقيع العضو
    سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته . اللهم اغفر للمسلمين والمسلمات والمؤمنين والمؤمنات الاحياء منهم والاموات

  4. #4
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    12,977

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة mahdy1 مشاهدة المشاركة

    واضح انى كنت فاهم غلط .. بس تحريك الاستوب +1 غريبة شوية ،، اصل انا استخدمت تريلينج ستوب وكان لما بيوصل للرقم اللى انا حددتة مكنش بيزيد تانى ، يعنى انا مثلاً اشتريت يورو دولار من 1.2900 بهدف 12950 وعملت تريلنج ستوب 20 نقطة ،، اللى بيحصل انة لما كان بيوصل الى 1.2920 كان بيضع الرقم ده فى خانة الاستوب لوز ولو طلع اكثر من كده مكنش بيحركة والمفروض مش هيغيرة الا عند 1.2940 ولو طلع حتى الى 1.2930 بيفضل الاستوب مكانة ولو رجع اقل من 1.2920 بيضرب الاستوب اللى هو اساساً استوب لوز ويقفل الصفقة على ربح 20 نقطة
    اللى انا عاوزة من حضرتك هو ما شرحتة فى الموضوع وهو بداية الاستوب من عدد نقط افتتاح الاوردر ،، يعنى مثلاً فى المثال السابق عاوز الاستوب يبدأ عملة بعد 20 نقطة ويزيد بعد ذلك 3 نقط
    وبصراحة انا عاوز اضيف هذة الجزئية على اسكريبتين
    الاسكريبت الاول يقوم بفتح 8 عمليات بيع و2 شراء والاسكريبت الثانى يفعل العكس
    أأمل فى وضع هدف واستوب لوز وتريلينج ستوب بالمواصفات المقترحة ويتم تعديلها من داخل الاسكريبت ويفضل ان تكون قيمة واحدة للعشرة ازواج ، يعنى ادخل الاسكريبت مثلاً اغير القيمة الافتراضية لو عاوز مثلاُ (الهدف 50 وبداية التريلينج 20 وزيادة التريلنج 3 والاستوب لوز مثلاً مش عاوز يبقا اخلية صفر)
    مرفق الاسكربتين ومنتظر رد حضرتك
    ومليار شكر يا استاذنا
    الطريقه التي ذكرتها أيضا موجوده وطريقة عمل التريلينج ستوب ستختلف حسب كيفية كتابة الكود وما يريده المبرمج
    الإسكربتات التي أرفقتها تعتمد في طريقة عملها على تنفيذ الأوامر مره واحده فقط وبعدها يتوقف عمل الإسكربت فإذا كان إكسبرت كان يمكن إضافة التريلينج ستوب له لكنه سكربت
    توقيع العضو
    بناء أنظمة تداول آلي ويدوي لفحص سوق العملات ودمجها مع التحليل الفني لإتخاذ القرارات

  5. #5
    تاريخ التسجيل
    Aug 2011
    المشاركات
    1,607

    افتراضي

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

    اشكرك جداً
    توقيع العضو
    سبحان الله وبحمده عدد خلقه ورضا نفسه وزنة عرشه ومداد كلماته . اللهم اغفر للمسلمين والمسلمات والمؤمنين والمؤمنات الاحياء منهم والاموات