صفحة 648 من 686 الأولىالأولى ... 148548598638642643644645646647648649650651652653654658 ... الأخيرةالأخيرة
النتائج 9,706 إلى 9,720 من 10278
  1. #9706
    الصورة الرمزية Sakkar
    Sakkar غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Sep 2019
    الإقامة
    النمسا
    المشاركات
    238

    افتراضي

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

    بس ممكن توضحوا لي كيف يقوم الاكسبيرت بفتح صفقات على بيانات حركة الشموع السابقة ومتابعة الربح والخسارة نقطة نقطة، هذا يدل على أن بيانات السعر موجودة على الشارت من أجل أن يمر
    الاكسبيرت عليها ويفتح ويغلق الصفقات ويتابع الربح بداخل الشموع نقطة نقطة ان لم يكن تكة تكة.. يمكن تصححوا لي أن كنت مخطئ أو تفسروا لي أن كان هناك التباس في الامر؟
    آخر تعديل بواسطة Sakkar ، 30-10-2019 الساعة 09:52 PM

  2. #9707
    الصورة الرمزية elhelaly
    elhelaly غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2017
    الإقامة
    السعودية
    المشاركات
    180

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة elhelaly مشاهدة المشاركة
    مستر دولار هذه احد محاولاتى يرجى التصحيح ان امكن

    اولا عند عمل DEbug تظهر رساله خطأ فى الكود array out of rang والمشكله فى اللوب على ما اعتقد

    ثانيا اتمنى تصحيح اى اخطاء موجوده بالكود

    واتمنى مساعدتى فى تخزين نسب ال D فى متغير ثابت يمكننى البيع منه او الشراء وشكرا مستر دولار
    للرفع

  3. #9708
    الصورة الرمزية M7madit
    M7madit غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2013
    الإقامة
    لبنان
    المشاركات
    15

    افتراضي

    السلام عليكم
    الله يعطيكم العافيه جميعا
    سؤالي اذا كان هنالك امر معلق وابتعد عنه سعر الحالي بنقاط معينه هل يمكن اغلاقه بكود معين او باضافه ع امر نفسه
    مثال وضعت امر ع 1.300 وابتعد عنه 1.350 فيحذف امر معلق واذا بقي ما بين سعرين يبقى مفعل ؟؟

    وشكرا لكم جميعا

  4. #9709
    الصورة الرمزية sjjad
    sjjad غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2019
    الإقامة
    العراق
    المشاركات
    2

    افتراضي النجف

    اقتباس المشاركة الأصلية كتبت بواسطة Ahmed774 مشاهدة المشاركة
    السلام عليكم اريد كود لمقارنة سعر فتح الصفقة مع السعر الحالي واذا كانت النتيجة ان الصفقة خاسرة حوالي ١٥ نقطة يغلق الصفقة وويفتح صفقة معاكسة لها لذلك اريد دالة سعر فتح الصفقة ودالة اغلاق الصفقات
    نعم انا ايضا ابحث عن هكذا اكسبيرت مع مضاعفة الصفقة المعاكسة

  5. #9710
    الصورة الرمزية sjjad
    sjjad غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2019
    الإقامة
    العراق
    المشاركات
    2

    افتراضي

    انا ايضا ابحث عن اكسبيرت مشابه

  6. #9711
    الصورة الرمزية hamza_ghennami
    hamza_ghennami غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2019
    الإقامة
    الولايات المتحدة
    المشاركات
    72

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة M7madit مشاهدة المشاركة
    السلام عليكم
    الله يعطيكم العافيه جميعا
    سؤالي اذا كان هنالك امر معلق وابتعد عنه سعر الحالي بنقاط معينه هل يمكن اغلاقه بكود معين او باضافه ع امر نفسه
    مثال وضعت امر ع 1.300 وابتعد عنه 1.350 فيحذف امر معلق واذا بقي ما بين سعرين يبقى مفعل ؟؟

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

  7. #9712
    الصورة الرمزية hamza_ghennami
    hamza_ghennami غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2019
    الإقامة
    الولايات المتحدة
    المشاركات
    72

    افتراضي

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

    بس ممكن توضحوا لي كيف يقوم الاكسبيرت بفتح صفقات على بيانات حركة الشموع السابقة ومتابعة الربح والخسارة نقطة نقطة، هذا يدل على أن بيانات السعر موجودة على الشارت من أجل أن يمر
    الاكسبيرت عليها ويفتح ويغلق الصفقات ويتابع الربح بداخل الشموع نقطة نقطة ان لم يكن تكة تكة.. يمكن تصححوا لي أن كنت مخطئ أو تفسروا لي أن كان هناك التباس في الامر؟
    عندما نستعمل اكسبيرت من الطبيعي اما نترك الحاسوب مفتوح 24/24 وطوال الاسبوع او نستاجر vps لان لكي يشتغل الاكسبيرت على طول يجب ان تكون المنصة مفتوحة على طول بالنسبة لمنصة الميتاتريدر تحتفظ في قاعدة البيانات فقط ب الافتتاح والاغلاق لا تحتفظ بالتكات ابدا لهذا لا نقدر على استدعاء التيكات لشموع الماضية لان المنصة لم تحتفظ بها سواءا اردنا استعملها في مؤشر او اكسبيرت ....اذا اردت التيك شارت لاي زوج انصحك بالاستعانة اما ب ctrader او ninjatrader

  8. #9713
    الصورة الرمزية hamza_ghennami
    hamza_ghennami غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2019
    الإقامة
    الولايات المتحدة
    المشاركات
    72

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة النظير مشاهدة المشاركة
    السلام عليكم
    ممكن كود الشرط التالي عندما يكون الاكاونت بروفت مثلا 100 دولار يقوم بتحريك الترلنق ستوب مثلا 10 نقاط وعندما يتم ضرب الترينلق يقفل جميع الصفقات الرابحه والخاسره
    الفكرة هو ان نحدد حجم الربح في الحساب لزوج معين بدالة account_profit ثم اذا كان حجم الربح يتجاوز مثلا 100 دولار نقوم بتفعيل التريلينغ ستوب لصفقات مع الاحتفاظ بالتيك سايز الخاص بها يعني رقمها لاننا نحتاجها لكي نعلم اذا اذا ضرب ستوب التريلينغ ستوب نغلق كل الصفقات (هذه طريقة من الطرق)
    كود PHP:
    #property copyright "Copyright 2019,HamzaGhennami Software Corp."
    #property version   "1.00"
    #property strict
    extern int Account_Profit=100;
    extern int TrailAmount=10;
    double pips=0;
    int Ticket[],Size=1,Index=0;
    //+------------------------------------------------------------------+
    //| Expert initialization function                                   |
    //+------------------------------------------------------------------+
    int OnInit()
      {
    //---
       
    ArrayResize(Ticket,Size);
       
    double ticksize=MarketInfo(Symbol(),MODE_TICKSIZE);
       if(
    ticksize==0.00001 || ticksize==0.001)
          
    pips=ticksize*10;
       else 
    pips=ticksize;
       return(
    0);
    //---
       
    return(INIT_SUCCEEDED);
      }
    //+------------------------------------------------------------------+
    //| Expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    void OnDeinit(const int reason)
      {
    //---
      
    }
    //+------------------------------------------------------------------+
    //| Expert tick function                                             |
    //+------------------------------------------------------------------+
    void OnTick()
      {
    //---
       
    if(Get_Account_Profits()>Account_Profit)AdjustTrail();
        
    Check_Ticket();
       if(
    OpenOrdersThisPairBuy()==&& OpenOrdersThisPairSell()==0){ArrayFree(Ticket);Size=1;Index=0;ArrayResize(Ticket,Size);}
       
      }
    //+------------------------------------------------------------------+
    double Get_Account_Profits(){
      
    double Profits=0;
       for(
    int i=OrdersTotal()-1i>=0i--)
                {
                if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                   if(
    OrderType()<&& OrderSymbol()==Symbol())
                     
    Profits+=OrderProfit();
                        }
            return(
    Profits);
          }
    //+------------------------------------------------------------------+
    void AdjustTrail()
    {
          for(
    int b=OrdersTotal()-1;b>=0;b--)
              {
             if(
    OrderSelect(b,SELECT_BY_POS,MODE_TRADES))
              if(
    OrderSymbol()==Symbol() && OrderType()==OP_BUY)
               if(
    OrderStopLoss()<NormalizeDouble(Bid-TrailAmount*pips,Digits) || OrderStopLoss()==0){
                 if(!
    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-(TrailAmount*pips),Digits),OrderTakeProfit(),0,CLR_NONE))
                   Print(
    "error modifying buy order ",GetLastError());
                     
    Save_Ticket(OrderTicket());}
             }
          for(
    int s=OrdersTotal()-1;s>=0;s--)
              {
             if(
    OrderSelect(s,SELECT_BY_POS,MODE_TRADES))
              if(
    OrderSymbol()==Symbol() && OrderType()==OP_SELL)
                if(
    OrderStopLoss()>NormalizeDouble(Ask+TrailAmount*pips,Digits) || OrderStopLoss()==0){
                  if(!
    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+(TrailAmount*pips),Digits),OrderTakeProfit(),0,CLR_NONE))
                   Print(
    "error modifying sell order ",GetLastError());
                     
    Save_Ticket(OrderTicket());}
             }
    }
    //+-------------------------------------------------------------------+
    void Save_Ticket(int T){
     
    int Total=0;
      for(
    int i=0;i<ArraySize(Ticket);i++){
       if(
    T!=Ticket[i])Total++;
        }
      if(
    Total==ArraySize(Ticket)){Ticket[Index]=T;Size++;Index++;ArrayResize(Ticket,Size);}
      }
    //+-------------------------------------------------------------------+
    void Check_Ticket(){
      for(
    int i=0;i<ArraySize(Ticket);i++){
       if(
    Ticket[i]!=&& !OrderSelect(Ticket[i],SELECT_BY_TICKET))Close_Trades();
        }
      }
    //+-------------------------------------------------------------------+
    void Close_Trades(){
       for(
    int i=OrdersTotal()-1i>=0i--)
          {
       if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        if(
    OrderType()==OP_BUY && Symbol()==Symbol()){
         if(!
    OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3,clrGreen))printf("Failure To Close The Order",GetLastError());}
          else if(
    OrderType()==OP_SELL && Symbol()==Symbol())
           if(!
    OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),3,clrRed))printf("Failure To Close The Order",GetLastError());
                  } 
               }
    //+-------------------------------------------------------------------+
    int OpenOrdersThisPairBuy()
      {
       
    int total=0
       for(
    int i=OrdersTotal()-1i>=0i--)
         {
          if(!
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))Print("error Selecting order ",GetLastError());
          if(
    OrderType()==OP_BUY && OrderSymbol()==Symbol())
           
    total++;
         }
       return (
    total);
      }
    //+-------------------------------------------------------------------+
    int OpenOrdersThisPairSell()
      {
       
    int total=0;
       for(
    int i=OrdersTotal()-1i>=0i--)
         {
          if(!
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))Print("error Selecting order ",GetLastError());
          if(
    OrderType()==OP_SELL && OrderSymbol()==Symbol())
          
    total++;
         }
       return (
    total);
      }
    //+-------------------------------------------------------------------+ 

  9. #9714
    الصورة الرمزية hamza_ghennami
    hamza_ghennami غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2019
    الإقامة
    الولايات المتحدة
    المشاركات
    72

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة النظير مشاهدة المشاركة
    السلام عليكم
    ممكن كود الشرط التالي عندما يكون الاكاونت بروفت مثلا 100 دولار يقوم بتحريك الترلنق ستوب مثلا 10 نقاط وعندما يتم ضرب الترينلق يقفل جميع الصفقات الرابحه والخاسره
    الطريقة الاخرى بمقارنة عدد الصفقات قبل وبعد ضرب ستوب التريلينغ ستوب حاول تعدل على الكود او تضيف حسب مبتغاك
    كود PHP:
    #property copyright "Copyright 2019,HamzaGhennami Software Corp."
    #property version   "1.00"
    #property strict
    extern int Account_Profit=100;
    extern int TrailAmount=10;
    double pips=0;
    int Trades=0;
    //+------------------------------------------------------------------+
    //| Expert initialization function                                   |
    //+------------------------------------------------------------------+
    int OnInit()
      {
    //---
       
    double ticksize=MarketInfo(Symbol(),MODE_TICKSIZE);
       if(
    ticksize==0.00001 || ticksize==0.001)
          
    pips=ticksize*10;
       else 
    pips=ticksize;
       return(
    0);
    //---
       
    return(INIT_SUCCEEDED);
      }
    //+------------------------------------------------------------------+
    //| Expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    void OnDeinit(const int reason)
      {
    //---
      
    }
    //+------------------------------------------------------------------+
    //| Expert tick function                                             |
    //+------------------------------------------------------------------+
    void OnTick()
      {
    //---
       
    if(Get_Account_Profits()>Account_Profit)AdjustTrail();
       if(
    OpenOrdersThisPairBuy()==&& OpenOrdersThisPairSell()==0)Trades=0;
        if(
    OpenOrdersThisPairBuy()+OpenOrdersThisPairSell()<Trades)Close_Trades();
       
      }
    //+------------------------------------------------------------------+
    double Get_Account_Profits(){
      
    double Profits=0;
       for(
    int i=OrdersTotal()-1i>=0i--)
                {
                if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
                   if(
    OrderType()<&& OrderSymbol()==Symbol())
                     
    Profits+=OrderProfit();
                        }
            return(
    Profits);
          }
    //+------------------------------------------------------------------+
    void AdjustTrail()
    {
          for(
    int b=OrdersTotal()-1;b>=0;b--)
              {
             if(
    OrderSelect(b,SELECT_BY_POS,MODE_TRADES))
              if(
    OrderSymbol()==Symbol() && OrderType()==OP_BUY)
               if(
    OrderStopLoss()<NormalizeDouble(Bid-TrailAmount*pips,Digits) || OrderStopLoss()==0){
                 if(!
    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Bid-(TrailAmount*pips),Digits),OrderTakeProfit(),0,CLR_NONE))
                   Print(
    "error modifying buy order ",GetLastError());
                    if(
    OpenOrdersThisPairBuy()+OpenOrdersThisPairSell()>Trades)Trades=OpenOrdersThisPairBuy()+OpenOrdersThisPairSell();}
             }
          for(
    int s=OrdersTotal()-1;s>=0;s--)
              {
             if(
    OrderSelect(s,SELECT_BY_POS,MODE_TRADES))
              if(
    OrderSymbol()==Symbol() && OrderType()==OP_SELL)
                if(
    OrderStopLoss()>NormalizeDouble(Ask+TrailAmount*pips,Digits) || OrderStopLoss()==0){
                  if(!
    OrderModify(OrderTicket(),OrderOpenPrice(),NormalizeDouble(Ask+(TrailAmount*pips),Digits),OrderTakeProfit(),0,CLR_NONE))
                   Print(
    "error modifying sell order ",GetLastError());
                     if(
    OpenOrdersThisPairBuy()+OpenOrdersThisPairSell()>Trades)Trades=OpenOrdersThisPairBuy()+OpenOrdersThisPairSell();}
             }
    }
    //+-------------------------------------------------------------------+
    void Close_Trades(){
       for(
    int i=OrdersTotal()-1i>=0i--)
          {
       if(
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))
        if(
    OrderType()==OP_BUY && Symbol()==Symbol()){
         if(!
    OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_BID),3,clrGreen))printf("Failure To Close The Order",GetLastError());}
          else if(
    OrderType()==OP_SELL && Symbol()==Symbol())
           if(!
    OrderClose(OrderTicket(),OrderLots(),MarketInfo(OrderSymbol(),MODE_ASK),3,clrRed))printf("Failure To Close The Order",GetLastError());
                  } 
               }
    //+-------------------------------------------------------------------+
    int OpenOrdersThisPairBuy()
      {
       
    int total=0
       for(
    int i=OrdersTotal()-1i>=0i--)
         {
          if(!
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))Print("error Selecting order ",GetLastError());
          if(
    OrderType()==OP_BUY && OrderSymbol()==Symbol())
           
    total++;
         }
       return (
    total);
      }
    //+-------------------------------------------------------------------+
    int OpenOrdersThisPairSell()
      {
       
    int total=0;
       for(
    int i=OrdersTotal()-1i>=0i--)
         {
          if(!
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))Print("error Selecting order ",GetLastError());
          if(
    OrderType()==OP_SELL && OrderSymbol()==Symbol())
          
    total++;
         }
       return (
    total);
      }
    //+-------------------------------------------------------------------+ 

  10. #9715
    الصورة الرمزية M7madit
    M7madit غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2013
    الإقامة
    لبنان
    المشاركات
    15

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة hamza_ghennami مشاهدة المشاركة
    نعم برمجيا ممكن ...الاكسبيرت يفحص معلومات الصفقة المعلقة (سعر التعليق.وقت التعليق.الستوب.الهدف) وعندك السعر الحالي لزوج وتقارن وتضيف وتزيل الصفقة اللي بدك ....
    الله يجزيك الخير يا اخوي .. انا بشتغل ع برنامج forex generator شو هو كود يلي احطه حتى يعطيني هالنتيجه .. ما بدي اعذبك بس اكتبلي اسم كود


    وشكرا جزيلا لك

  11. #9716
    الصورة الرمزية hamza_ghennami
    hamza_ghennami غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2019
    الإقامة
    الولايات المتحدة
    المشاركات
    72

    افتراضي

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


    الله يجزيك الخير يا اخوي .. انا بشتغل ع برنامج forex generator شو هو كود يلي احطه حتى يعطيني هالنتيجه .. ما بدي اعذبك بس اكتبلي اسم كود


    وشكرا جزيلا لك
    كل العمل سيكون يدور حول loop تخص الصفقات المعلقة والمفتوحة فقط زد على ذالك متغيرات اللي بدك
    كود PHP:
    for(int i=OrdersTotal()-1i>=0i--)
         {
          if(!
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))Print("error Selecting order ",GetLastError());
          if(
    OrderType()==OP_BUY && OrderSymbol()==Symbol())
         
    //****************************************************************************
         


  12. #9717
    الصورة الرمزية hamza_ghennami
    hamza_ghennami غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    May 2019
    الإقامة
    الولايات المتحدة
    المشاركات
    72

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة hamza_ghennami مشاهدة المشاركة
    كل العمل سيكون يدور حول loop تخص الصفقات المعلقة والمفتوحة فقط زد على ذالك متغيرات اللي بدك
    كود PHP:
    for(int i=OrdersTotal()-1i>=0i--)
         {
          if(!
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))Print("error Selecting order ",GetLastError());
          if(
    OrderType()==OP_BUY && OrderSymbol()==Symbol())
         
    //****************************************************************************
         

    لكن اظن ان forex generator لن يفي بالغرض ولن يعطيك الاكسبيرت بالميزات اللي بدك حاول تعدل على الكود افضل

  13. #9718
    الصورة الرمزية nirvano
    nirvano غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2018
    الإقامة
    الجزائر
    المشاركات
    282

    افتراضي

    لا اريد المقاطعة لكن هل توجد طريقة لعمل اكسبيرت يقوم بتحديد التيك برفيل عن الطريق السعر وليس النقاط لصفقات مفتوحة ( المفعلة و ليس المعلقة ) سابقا فغير لها سعر التيك بروفيل مثلا انا فاتح يدويا 20 صفقة شراء على زوج واحد كيف لي ان احدد اتوماتكيا انو يكون الغلق على سعر 1.15200 لكل عمليات الشارء ونفس الشي للبيع ان تغلق جميع الصفقات المفعلة المفتوحة وليس المعلقة.
    يحتوي الاكسبيرت مايلي :

    سعر وليس نقاط TP_SELL : 1.10540
    سعر وليس نقاط TP_Buy : 1.11540

    فقط.......
    تحياتي

  14. #9719
    الصورة الرمزية nirvano
    nirvano غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Aug 2018
    الإقامة
    الجزائر
    المشاركات
    282

    افتراضي

    لقد وجدت اكسبيرت لمستر دولار يضع هدف لكل صفقات BuyTakeProfit الهدف لجميع صفقات لكن يوجد مشكل في وضع هدف لصفقات sell فهو يضع SellTakeProfit السعر المحدد كستوب لوز لصفقات buy وليس هدف لجميع صفقات sell

    كود PHP:
       extern int Ticket=0;
     
    extern string S1=" Set Target As Price";       
     
    extern double BuyTakeProfit=0;
     
    extern double SellTakeProfit=0;
     
    extern string S2=" Set Trailing For Orders";
     
    extern int TrailingDistance=0;
     

     
    double point;
     
    int digits;
                              
     
    int init()
    {
     
        if(
    Digits<4)
       {
          
    point=0.01;
          
    digits=2;
       }
       else
       {
          
    point=0.0001;
          
    digits=4;
       }
    return(
    0);
    }

     
    //+------------------------------------------------------------------+
     //| FUNCTION DEFINITIONS    deinitialization function                |
     //+------------------------------------------------------------------+

     
    void deinit() {
        
    Comment("");
      }

     
    //+------------------------------------------------------------------+
     //| FUNCTION DEFINITIONS   Start function                            |
     //+------------------------------------------------------------------+

     
    int start()
       {
        
    Comment("Programmed by MR.dollar"+"\n"+"ãäÊÏì ÇáãÊÏÇæá ÇáÚÑÈí"+"\n"+"www.arabictrader.com/vb");
     
       if(
    TrailingDistance>0)MoveTrailing();
      
               
    //////////////////////////////////////
              
          //////////////////////////////////////////////////
          
    for(int i=0;i<OrdersTotal();i++){
          
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
          if(
    OrderSymbol()==Symbol()&&(OrderTicket()==Ticket||Ticket==0)){
          
    int tick=OrderTicket();int type=OrderType();double take=OrderTakeProfit();double open=OrderOpenPrice();
          if(
    take!=BuyTakeProfit&&BuyTakeProfit!=0&&type==OP_BUY){
          
    OrderModify(tick,OrderOpenPrice(),OrderStopLoss(),BuyTakeProfit,0,0);}
          if(
    take!=SellTakeProfit&&SellTakeProfit!=0&&type==OP_SELL){
           
    OrderModify(tick,OrderOpenPrice(),OrderStopLoss(),SellTakeProfit,0,0);
         }
          }
           }
          }
       
     
    void MoveTrailing()
    {
        for(
    int cnt=0;cnt<=OrdersTotal();cnt++)
       {
          
    OrderSelect(cnt,SELECT_BY_POS,MODE_TRADES);
         
          
    int tick1=OrderTicket();double open1=OrderOpenPrice();int type1=OrderType();double stop=OrderStopLoss();double prof=OrderTakeProfit();
          if(
    type1<=OP_SELL&&OrderSymbol()==Symbol()&&(tick1==Ticket||Ticket==0))
          {
             if(
    type1==OP_BUY)
             {
                if(
    TrailingDistance>0)  
                {                 
                   if(((
    MathAbs(NormalizeDouble(stop,digits)-NormalizeDouble(Bid,digits)))/point!=TrailingDistance)||(stop==0))
                   {
                      
    OrderModify(tick1,open1,NormalizeDouble(Bid-TrailingDistance*point,digits),prof,0,Blue);
                     
                   }
                }
             }
             else 
             {
                if(
    TrailingDistance>0)  
                {                 
                   if(((
    MathAbs(NormalizeDouble(stop,digits)-NormalizeDouble(Ask,digits)))/point!=TrailingDistance)||(stop==0))
                   {
                      
    OrderModify(tick1,open1,NormalizeDouble(Ask+TrailingDistance*point,digits),prof,0,Red);
                     
                   }
                }
             }
          }
       }


  15. #9720
    الصورة الرمزية M7madit
    M7madit غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Jul 2013
    الإقامة
    لبنان
    المشاركات
    15

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة hamza_ghennami مشاهدة المشاركة
    كل العمل سيكون يدور حول loop تخص الصفقات المعلقة والمفتوحة فقط زد على ذالك متغيرات اللي بدك
    كود PHP:
    for(int i=OrdersTotal()-1i>=0i--)
         {
          if(!
    OrderSelect(i,SELECT_BY_POS,MODE_TRADES))Print("error Selecting order ",GetLastError());
          if(
    OrderType()==OP_BUY && OrderSymbol()==Symbol())
         
    //****************************************************************************
         

    الله يسلم ايديك يا اخي و يعطيك العافيه

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

  1. موضوع مخصص للاكسبيرتات اللتي يستخدمها الاعضاء على الحقيقي,,عندك اكسبيرت ممتاز ضعه هنا
    By محمد معمو in forum برمجة المؤشرات واكسبرتات التداول - Experts Advisor EA
    مشاركات: 11
    آخر مشاركة: 15-12-2023, 02:03 PM
  2. عااااااااااااجل ( موضوع مخصص للفرص الفورية)!!!
    By عاشق الذبذبـة in forum توقعات وتوصيات سوق العملات
    مشاركات: 280
    آخر مشاركة: 27-08-2009, 10:30 PM

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


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17