الى اخواني خبراء البرمجة حتى اللي مو خبراء سؤالي بسيط ....
النتائج 1 إلى 9 من 9
  1. #1
    تاريخ التسجيل
    Aug 2006
    الإقامة
    السعودية
    المشاركات
    207

    افتراضي الى اخواني خبراء البرمجة حتى اللي مو خبراء سؤالي بسيط ....

    السلام عليكم و رحمة الله و بركاته
    عندي سؤالين و اتمنى القى اجابتها عندكم
    دايما في كود الاكسبيرت في البداية يجي الكود ثلاثةاجزاء
    حبيت اعرف الفرق بين هذي الاجزاء
    الجزء الاول : int init()
    الجزء الثاني : int deinit()
    الجزء الثالث : int start()
    يعني ماهي الاوامر او المعلومات اللتي اضعها في الجزء الاول و ما هي الاوامر او المعلومات اللتي اضعها في الجزء الثاني و .......

    و كمان احب اعرف الستب لوز هل توجد طريقة تجعله يلاحق التيك بروفيت
    بمعنى :
    اذا كانت عندي صفقة شراء

    هل يمكنني ان اجعل الستب لوز يرتفع كلما ارتفع السعر او لا؟؟
    و لكم مني جزيل الشكر و الاحترام
    اخوكم
    الاصــيل العربي

  2. #2
    تاريخ التسجيل
    Sep 2006
    الإقامة
    المملكة العربية السعودية
    المشاركات
    2,917

    افتراضي رد: الى اخواني خبراء البرمجة حتى اللي مو خبراء سؤالي بسيط ....

    راجع هذا الموضوع

    http://www.arabictrader.com/vb/t37561.html


  3. #3
    تاريخ التسجيل
    Jun 2005
    الإقامة
    ليبيا
    المشاركات
    1,749

    افتراضي رد: الى اخواني خبراء البرمجة حتى اللي مو خبراء سؤالي بسيط ....

    أخي العزيز ...
    وجدت لك إجابة كاملة لطلبك فأرجو أن تكون واضحة لديك وهي كالتالي ...

    There are three functions with pre-defined names in MQL4:

    init() is a function to be called during the module initialization. If it is not available, no function will be called at initialization.

    start() is the basic function. For experts, it is called after the next tick has income. For custom indicators, it is called at recalculation after the indicator has been attached to the chart, at opening of the client terminal (if the indicator is attached to the chart), and after the next tick has income, as well. For scripts, it is executed immediately after the script has been attached to the chart and initialized. If there is no start() function in the module, the module (expert, script, or custom indicator) cannot be launched.

    deinit() is a function to be called during deinitialization of the module. If it is not available, no function will be called at deinitialization.
    Pre-defined functions can have some parameters. However, no parameters will be taken from outside when these functions are called by the client terminal, but the default values will be used. Functions of start(), init(), and deinit() can be called from any point of the module according to the common rules, equally to other functions.
    It is not recommended to call start() function from init() function or to perform trade operations, as chart data, market prices, etc. can be incomplete by the moment of the module initialization. The init() and deinit() functions must finish their working as soon as possible and, in no case, shall they loop when trying to start its full-fledged working before the start() function is called.

    أما بالنسبة للستوب المتحرك فأنا شخصيا أستخدم الكود التالي كقالب جاهز وأعمل عليه التغيرات الطفيفة لكي يتلائم مع طلبي ...

    كود PHP:
    [LEFT]extern double           TrStop 20;
    ...
    ...
    ...
    void Start(){
    ...
    ...
    ...
       if (
    ExistPositions()){ // دالة تعمل في حالة وجود صفقة مفتوحة من زوج معين
       
    Comment("\nT R A D I N G !!!");      
       if(
    TrStop !=0){ // يجب أن يكون الستوب المتحرك لايساوي صفر وإلا هذا يعني بأننا لانستخدمه
          
    TrailingPositionsBuy(TrStop);
          
    TrailingPositionsSell(TrStop);
       }
    }
    //end of Start()

    bool ExistPositions() { //دالة للكشف عن وجود صفقة مفتوحة من زوج معين أم لا
     
    for (int i=0i<OrdersTotal(); i++) {
      if (
    OrderSelect(iSELECT_BY_POSMODE_TRADES)) {
       if (
    OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC) {
          return(
    True);
       }
      } 
     } 
     return(
    false);
    }


    void TrailingPositionsBuy(int trailingStop) { //الستوب المتحرك في حالة اللونق
       
    for (int i=0i<OrdersTotal(); i++) {       if (OrderSelect(iSELECT_BY_POSMODE_TRADES)) { 
             if (
    OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC) { 
                if (
    OrderType()==OP_BUY) { 
                   if (
    Bid-OrderOpenPrice()>trailingStop*Point) { 
                      if (
    OrderStopLoss()<Bid-trailingStop*Point
                         
    ModifyStopLoss(Bid-trailingStop*Point); 
                   } 
                } 
             } 
          } 
       } 

    void TrailingPositionsSell(int trailingStop) { //الستوب المتحرك في حالة الشورت
       
    for (int i=0i<OrdersTotal(); i++) { 
          if (
    OrderSelect(iSELECT_BY_POSMODE_TRADES)) { 
             if (
    OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC) { 
                if (
    OrderType()==OP_SELL) { 
                   if (
    OrderOpenPrice()-Ask>trailingStop*Point) { 
                      if (
    OrderStopLoss()>Ask+trailingStop*Point || OrderStopLoss()==0)  
                         
    ModifyStopLoss(Ask+trailingStop*Point); 
                   } 
                } 
             } 
          } 
       } 


    void ModifyStopLoss(double ldStopLoss) { //دالة تعديل الستوب يتم مناداتها من دالة الستوب المتحرك
       
    bool fm;
       
    fm OrderModify(OrderTicket(),OrderOpenPrice(),ldStopLoss,OrderTakeProfit(),0,CLR_NONE); 
       if (
    fm && UseSoundPlaySound("falsh.wav"); 

    [/
    LEFT]

    [
    RIGHT][/RIGHT


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

    وفقكم الله
    توقيع العضو
    نَصِيحَتِي لَكَ... اِبْحَثْ جَيِّدًا قَبْلَ أَنْ تَسْأَلَ... فَهَذَا يُعْلِمَك أَكْثَرَ

  4. #4
    تاريخ التسجيل
    Aug 2006
    الإقامة
    السعودية
    المشاركات
    207

    افتراضي رد: الى اخواني خبراء البرمجة حتى اللي مو خبراء سؤالي بسيط ....

    اقتباس المشاركة الأصلية كتبت بواسطة wajdyss مشاهدة المشاركة
    راجع هذا الموضوع


    الف شكر اخوي وجدي ما قصرت

    هذا الموضوع حافظه عن ظهر قلب و كل صفحات الموضوع محفظة بجهازي

  5. #5
    تاريخ التسجيل
    Jul 2007
    الإقامة
    روسيا - سانت بطرسبورغ
    المشاركات
    1,920

    افتراضي رد: الى اخواني خبراء البرمجة حتى اللي مو خبراء سؤالي بسيط ....

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

    الجزء الاول : int init()
    تنفذ التعليمات البرمجية في هذا الجزء فقط عند تحميل المؤشر او الاكسبيرت للشارت مرة واحدة فقط.

    الجزء الثاني : int deinit()
    تنفذ التعليمات البرمجية في هذا الجزء فقط عند ازالة المؤشر او الاكسبيرت (يستعمل عادة لحذف مخلفات المؤشر التي قام برسمها من خطوط واسهم وغيرها).

    الجزء الثالث : int start()
    تنفذ التعليمات البرمجية في هذا الجزء كلما استلم البرنامج تغيير في السعر للزوج المعني ففي كل مرة يستلم البيانات يقوم بما هو موجود في هذا الجزء وينفذ ما مطلوب منه.
    بالتوفيق اخي الكريم

  6. #6
    تاريخ التسجيل
    Aug 2006
    الإقامة
    السعودية
    المشاركات
    207

    افتراضي رد: الى اخواني خبراء البرمجة حتى اللي مو خبراء سؤالي بسيط ....

    اقتباس المشاركة الأصلية كتبت بواسطة أسامة مشاهدة المشاركة
    أخي العزيز ...
    وجدت لك إجابة كاملة لطلبك فأرجو أن تكون واضحة لديك وهي كالتالي ...

    There are three functions with pre-defined names in MQL4:

    init() is a function to be called during the module initialization. If it is not available, no function will be called at initialization.

    start() is the basic function. For experts, it is called after the next tick has income. For custom indicators, it is called at recalculation after the indicator has been attached to the chart, at opening of the client terminal (if the indicator is attached to the chart), and after the next tick has income, as well. For scripts, it is executed immediately after the script has been attached to the chart and initialized. If there is no start() function in the module, the module (expert, script, or custom indicator) cannot be launched.

    deinit() is a function to be called during deinitialization of the module. If it is not available, no function will be called at deinitialization.
    Pre-defined functions can have some parameters. However, no parameters will be taken from outside when these functions are called by the client terminal, but the default values will be used. Functions of start(), init(), and deinit() can be called from any point of the module according to the common rules, equally to other functions.
    It is not recommended to call start() function from init() function or to perform trade operations, as chart data, market prices, etc. can be incomplete by the moment of the module initialization. The init() and deinit() functions must finish their working as soon as possible and, in no case, shall they loop when trying to start its full-fledged working before the start() function is called.

    أما بالنسبة للستوب المتحرك فأنا شخصيا أستخدم الكود التالي كقالب جاهز وأعمل عليه التغيرات الطفيفة لكي يتلائم مع طلبي ...

    كود PHP:
    [left]extern double           TrStop 20;
    ...
    ...
    ...
    void Start(){
    ...
    ...
    ...
       if (
    ExistPositions()){ // دالة تعمل في حالة وجود صفقة مفتوحة من زوج معين
       
    Comment("\nT R A D I N G !!!");      
       if(
    TrStop !=0){ // يجب أن يكون الستوب المتحرك لايساوي صفر وإلا هذا يعني بأننا لانستخدمه
          
    TrailingPositionsBuy(TrStop);
          
    TrailingPositionsSell(TrStop);
       }
    }
    //end of Start()

    bool ExistPositions() { //دالة للكشف عن وجود صفقة مفتوحة من زوج معين أم لا
     
    for (int i=0i<OrdersTotal(); i++) {
      if (
    OrderSelect(iSELECT_BY_POSMODE_TRADES)) {
       if (
    OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC) {
          return(
    True);
       }
      } 
     } 
     return(
    false);
    }


    void TrailingPositionsBuy(int trailingStop) { //الستوب المتحرك في حالة اللونق
       
    for (int i=0i<OrdersTotal(); i++) {       if (OrderSelect(iSELECT_BY_POSMODE_TRADES)) { 
             if (
    OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC) { 
                if (
    OrderType()==OP_BUY) { 
                   if (
    Bid-OrderOpenPrice()>trailingStop*Point) { 
                      if (
    OrderStopLoss()<Bid-trailingStop*Point
                         
    ModifyStopLoss(Bid-trailingStop*Point); 
                   } 
                } 
             } 
          } 
       } 

    void TrailingPositionsSell(int trailingStop) { //الستوب المتحرك في حالة الشورت
       
    for (int i=0i<OrdersTotal(); i++) { 
          if (
    OrderSelect(iSELECT_BY_POSMODE_TRADES)) { 
             if (
    OrderSymbol()==Symbol() && OrderMagicNumber()==MAGIC) { 
                if (
    OrderType()==OP_SELL) { 
                   if (
    OrderOpenPrice()-Ask>trailingStop*Point) { 
                      if (
    OrderStopLoss()>Ask+trailingStop*Point || OrderStopLoss()==0)  
                         
    ModifyStopLoss(Ask+trailingStop*Point); 
                   } 
                } 
             } 
          } 
       } 


    void ModifyStopLoss(double ldStopLoss) { //دالة تعديل الستوب يتم مناداتها من دالة الستوب المتحرك
       
    bool fm;
       
    fm OrderModify(OrderTicket(),OrderOpenPrice(),ldStopLoss,OrderTakeProfit(),0,CLR_NONE); 
       if (
    fm && UseSoundPlaySound("falsh.wav"); 

    [/
    left]
     
    [
    right][/right
    أرجو أن تكون هذه الإجابة كافية لديك.
    عموما البرمجة أسهل ما يتصور الكثيرون ... بس تتطلب لو لديك فكرة مسبقة عن إحدى لغات البرمجة وبالأخص لغة السي والباقي يأتي لوحده إن شاء الله.


    وفقكم الله
    الف شكر اخوي اسامه و الله ما قصرت

    بارك الله فيك

  7. #7
    تاريخ التسجيل
    Aug 2006
    الإقامة
    السعودية
    المشاركات
    207

    افتراضي رد: الى اخواني خبراء البرمجة حتى اللي مو خبراء سؤالي بسيط ....

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

    الله يوفقك و يخليك يا رب

  8. #8
    تاريخ التسجيل
    Jun 2005
    الإقامة
    ليبيا
    المشاركات
    1,749

    افتراضي رد: الى اخواني خبراء البرمجة حتى اللي مو خبراء سؤالي بسيط ....

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

    بارك الله فيك
    الشكر لله وحده ... ولو إحتجت أي مساعدة في البرمجة فأنا تحت أمرك
    توقيع العضو
    نَصِيحَتِي لَكَ... اِبْحَثْ جَيِّدًا قَبْلَ أَنْ تَسْأَلَ... فَهَذَا يُعْلِمَك أَكْثَرَ

  9. #9
    تاريخ التسجيل
    Aug 2006
    الإقامة
    السعودية
    المشاركات
    207

    افتراضي رد: الى اخواني خبراء البرمجة حتى اللي مو خبراء سؤالي بسيط ....

    تسلم حبيب قلبي اسامه

المواضيع المتشابهه

  1. طلب اكسبرت بسيط من مستر دولار او من خبراء البرمجة
    By fx_trader_man in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 0
    آخر مشاركة: 27-08-2010, 12:33 PM
  2. طلب من خبراء البرمجة
    By ashraf1990 in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 3
    آخر مشاركة: 20-05-2010, 12:01 AM
  3. طلب تعديل بسيط على اكسبيرت من الاخوة خبراء البرمجة
    By Kasem in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 19
    آخر مشاركة: 13-05-2010, 07:15 PM
  4. طلب خاص من خبراء البرمجة وبالأخص الأخ وضاح العطار
    By esmaeel in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 5
    آخر مشاركة: 14-07-2009, 09:11 AM
  5. الي خبراء البرمجة
    By ابوحاتم القثامي in forum سوق تداول العملات الأجنبية والسلع والنفط والمعادن
    مشاركات: 0
    آخر مشاركة: 04-09-2008, 06:02 AM

الاوسمة لهذا الموضوع