صفحة 488 من 686 الأولىالأولى ... 388438478482483484485486487488489490491492493494498538588 ... الأخيرةالأخيرة
النتائج 7,306 إلى 7,320 من 10285
  1. #7306
    الصورة الرمزية wahaab
    wahaab غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2009
    الإقامة
    الجزائر
    المشاركات
    412

    افتراضي

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

الاســـم:	000.png
المشاهدات:	69
الحجـــم:	26.8 كيلوبايت
الرقم:	455380

  2. #7307
    الصورة الرمزية msh3al
    msh3al غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2012
    الإقامة
    الكويت
    المشاركات
    410

    افتراضي

    بعد البحث وجدت اكثر من داله ناقصه وبها أخطاء ولم تضبط معي حقيقةَ .

    هل ممكن أحد يفيدنا عن :

    دالة للتعامل مع أخر قمه وقاع لـ ZigZag

    وفقكم الله

  3. #7308
    الصورة الرمزية goldfile
    goldfile غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2007
    الإقامة
    سانت لوسيا
    المشاركات
    752

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة msh3al مشاهدة المشاركة
    بعد البحث وجدت اكثر من داله ناقصه وبها أخطاء ولم تضبط معي حقيقةَ .

    هل ممكن أحد يفيدنا عن :

    دالة للتعامل مع أخر قمه وقاع لـ ZigZag

    وفقكم الله
    بسم الله الرحمن الرحيم

    اعمل الاتي

    كود:
     double ZigZag[2]={0,0};
          int i = 0;
          int j = 0;
          
          while(i <= 2){
          double zig = iCustom(NULL, 0, "ZigZag", 0, j) ; 
             if( zig != 0){
                ZigZag[i] = iCustom(NULL , 0, "ZigZag", 0, j);
                SetLines("zigzag__"+i, Time[0],ZigZag[i]) ;
                i++;
             }
             j++;
          }
    حيث ان المصفوفة لها عنصرين فقط ستخزن فيهما اخر قمة واخر قاع

    ثم الدالة SetLines تستدعيها كما هو مبين في الاعلى وقد وضعتها لك فقط لتتاكد من النتيجة

    كود:
    void SetLines(string name,datetime time, double price)
        {
         if(ObjectFind(name) != 0)
            {
             ObjectCreate(name, OBJ_HLINE, 0, time,price);
             ObjectSet(name, OBJPROP_COLOR, Yellow);
           } 
           else
            {
             if(ObjectGet(name,OBJPROP_TIME1)!=time || ObjectGet(name,OBJPROP_PRICE1)!=price )
             {ObjectDelete(name);}
            } 
       }
    اتمنى ان اكون قد افدتك تحياتي

  4. #7309
    الصورة الرمزية msh3al
    msh3al غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2012
    الإقامة
    الكويت
    المشاركات
    410

    افتراضي

    جزاك الله خير استاذي goldfile شاكر لك اهتمامك ربي يسعدك


    (1)

    ظهر لي خطأ في while
    اضغط على الصورة لعرض أكبر

الاســـم:	MkO4goA.png
المشاهدات:	69
الحجـــم:	2.0 كيلوبايت
الرقم:	455424


    (2)


    للتأكيد فقط , هل ZigZag[i] القمه ؟ و ZigZag[j] للقاع ؟

    ولو أردت أستخدام القمه والقاع في if
    هل سيكون الاستدعاء هكذا , مثال :

    كود PHP:
    if (  Close[1] > ZigZag[i] ) 
    شكراً لك
    تحمل أسئلتي , فأنا مبتدا

  5. #7310
    الصورة الرمزية goldfile
    goldfile غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2007
    الإقامة
    سانت لوسيا
    المشاركات
    752

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة msh3al مشاهدة المشاركة
    جزاك الله خير استاذي goldfile شاكر لك اهتمامك ربي يسعدك


    (1)

    ظهر لي خطأ في while
    اضغط على الصورة لعرض أكبر

الاســـم:	MkO4goA.png
المشاهدات:	69
الحجـــم:	2.0 كيلوبايت
الرقم:	455424


    (2)


    للتأكيد فقط , هل ZigZag[i] القمه ؟ و ZigZag[j] للقاع ؟

    ولو أردت أستخدام القمه والقاع في if
    هل سيكون الاستدعاء هكذا , مثال :

    كود PHP:
    if (  Close[1] > ZigZag[i] ) 
    شكراً لك
    تحمل أسئلتي , فأنا مبتدا
    بسم الله الرحمن الرحيم

    ضع متغيرين عامين وسمهم ماشئت مثال

    كود:
    double high , low ;
    ثم انسخ الدالة التالية

    كود:
    void zigzag(){
         
         double Zig1,Zig2,Zig3;
          int i = 0 ,
              j = 0 ;     
          while(i < 3){
             if( Zig1 != 0){
             Zig3=Zig2 ; Zig2=Zig1 ;
             }       
            Zig1 = iCustom(NULL , 0, "ZigZag", 0, j);
            if(Zig1 > 0 ){
                i++;              
             }
             j++;
          } 
                  if(Zig1>Zig2){
                   high = Zig1  ;low = Zig2 ;
                 }else{high = Zig2  ;low = Zig1 ;}
                 
            Print("low  :   ",low  , "     high     :",high) ;
       }
    هذه الدالة ستعيد اخر قمة واخر قاع لمؤشر الزجزاج وقد حذفت المصفوفة لانك تريد اخر قيمتين فقط ولكي اسهل عليك الامر

    لاحظ المقارنة المتغير high ياخذ اكبر قيمة مسترجعة والعكس بالنسبة للمتغير low

    ثم اذا كان اغلاق الشمعة فوق الهاي والعكس بالنسبة للو هكذا

    كود:
      if(Close[0] > high);
    تحياتي

  6. #7311
    الصورة الرمزية goldfile
    goldfile غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2007
    الإقامة
    سانت لوسيا
    المشاركات
    752

    افتراضي

    واضيف لك من الشعر بيتا تتمة للموضوع ومن الاكواد الجميلة للمعلم اسامة مع بعض التصرف

    دالة تعيد اخر قاع انت تختاره من المتغير shift

    كود:
     double ZigZagLow(int shift){
          int found = 0 ,
              i = 0 ;
              
            for(i = 0 ; i < Bars ; i++){
            
               double lo = iCustom(NULL,0,"ZigZag",0,i);
               if(lo !=0 && lo == Low[i]) found++ ;
                 if(shift == found)return(lo) ;
              }   
           return(lo) ;                
         }
    واخرى لاخر قمة

    كود:
    double ZigZagHigh(int shift){
          int found = 0 ,
              i = 0 ;
              
            for(i = 0 ; i < Bars ; i++){
            
               double hi = iCustom(NULL,0,"ZigZag",0,i);
               if(hi !=0 && hi == High[i]) found++ ;
                 if(shift == found)return(hi) ;
              }   
           return(hi) ;                
         }
    ولعمل المقارنة مثلا تريد اغلاق الشمعة الحالية يكوم اعلى من القمة رقم 2 اعمل الاتي

    كود:
    if(Close[0] > ZigZagHigh(2)) ;
    اظن مالكش حق تقول طلعلي خطأ ولا مفهمتش هههه ....

    تقبل ودي

  7. #7312
    الصورة الرمزية msh3al
    msh3al غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2012
    الإقامة
    الكويت
    المشاركات
    410

    افتراضي

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

    اظن مالكش حق تقول طلعلي خطأ ولا مفهمتش هههه ....

    تقبل ودي

    ههههههههههههههههه

    جزاك الله خيرررررررررررر وبارك الله فيك

    ضبط معي 100 %
    كتب الله اجرك
    ونفع بك وزادك من علمه وفضله

    اخوك

  8. #7313
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,851

    افتراضي

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

الاســـم:	000.png
المشاهدات:	69
الحجـــم:	26.8 كيلوبايت
الرقم:	455380
    وعليكم السلام ورحمة الله وبركاته
    أهم جزء هو SMTP username وهذا ستضع إيميلك
    و SMTP password وهذا ستضع فيه باسوورد الإيميل
    أما SMTP server فهي تختلف من كل مزود إيميل لآخر فيجب أن تتصل بهم لتعرف ما هو مزود السيرفر الخاص بهم
    راجع هذا الموضوع

    https://forum.arabictrader.com/t135536.html

  9. #7314
    الصورة الرمزية msh3al
    msh3al غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2012
    الإقامة
    الكويت
    المشاركات
    410

    افتراضي

    إستفسار :

    هل ممُكن ( برمجياً ) عمل trailing stop كـ ( سكربت ) وليس ( اكسبريت )
    بحيث يقوم بتحريك الهدف والستوب بعد كل عدد مُعين من النقاط ؟

    وهل يشترط بـ ( السكربت ) ان يكون الجهاز شغال مثل الاكسبريت او لا ؟

  10. #7315
    الصورة الرمزية MR.dollar
    MR.dollar غير متواجد حالياً مشرف المتداول العربي
    تاريخ التسجيل
    Jun 2009
    الإقامة
    مصر
    المشاركات
    13,851

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة msh3al مشاهدة المشاركة
    إستفسار :

    هل ممُكن ( برمجياً ) عمل trailing stop كـ ( سكربت ) وليس ( اكسبريت )
    بحيث يقوم بتحريك الهدف والستوب بعد كل عدد مُعين من النقاط ؟

    وهل يشترط بـ ( السكربت ) ان يكون الجهاز شغال مثل الاكسبريت او لا ؟
    نعم يمكن بحيث تقوم بعمل حلقه غير منتهي داخل الداله OnStart
    وبداخلها تضع كود التريلينج ستوب لكن في كلا الحالتين يجب أن تترك الجهاز شغال

  11. #7316
    الصورة الرمزية msh3al
    msh3al غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Nov 2012
    الإقامة
    الكويت
    المشاركات
    410

    افتراضي

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

  12. #7317
    الصورة الرمزية wahaab
    wahaab غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Oct 2009
    الإقامة
    الجزائر
    المشاركات
    412

    افتراضي

    استاذ اسامه الكريم معلش اتعبك معاي
    مرفق كود مؤشر ارسال الايميل وكود الاكسبرت واريد الدمج بينهما وليس لي خبره بالمؤشرات فلم انجح.
    لو تكرمت كيف ادمج بينهما حتى يرسل الاكسبرت رسائل الى ايميلي تحتوي على معلومات الحساب .مع العلم ان ملف الDLL يوضع في مكتبة الميتاتريدر.
    SMTP//smtp.mail.yahoo.com:465
    كود المؤشر
    كود:
    //+------------------------------------------------------------------+//|                                            SendAdvancedEmail.mq4 |
    //|                                 Copyright 2014, Dorian Ocsovszki |
    //|                                                                  |
    //+------------------------------------------------------------------+
    #property copyright "Copyright 2014, Dorian Ocsovszki"
    #property link      "http://ocsovszki-dorian.blogspot.co.uk/2014/05/sendextendedemail-dll-function-for.html"
    #property version   "1.00"
    #property strict
    #property indicator_chart_window
     
     
    #import "SendAdvancedEmail.dll"
       void SendAdvancedEmail(string MailFrom, string MailFromName, string MailTo, string MailCC, string MailSubject, string MailBodyContent, string MailBodyTemplate, string MailPriority, string MailAttachmentPath, string MailAttachmentName, string SMTPServer, int SMTPPort, bool SMTPEnableSSL, int SMTPTimeout, string SMTPUsername, string SMTPPassword);
    #import
     
     
    input string Separator1 = NULL; //=== SCREENSHOT SETTINGS ===
    input string PathToScreenshots = "C:\\DATA\\%MT4DIR%\\MQL4\\Files\\"; // Path to Screenshots ( %MT4DIR%\MQL4\Files )
    input int SCWidth = 1920; // Screenshot Width
    input int SCHeight = 1080; // Screenshot Height
     
     
    input string Separator2 = NULL; //=== MAIL SETTINGS ===
    input string MailFrom = "";   // FROM:
    input string MailFromName = "MT4 Advanced eMail Notifier"; // FROM NAME:
    input string MailTo = "";  // TO:
    input string MailCC = "";  // CC: (Mail1;Mail2;MailN ...)
     
     
    input string Separator3 = NULL; //=== SMTP SETTINGS ===
    input string SMTPServer = "";
    input int SMTPPort = 587;
    input string SMTPUsername = "";
    input string SMTPPassword = "";
     
     
    int SMTPTimeout = 10000;
    bool SMTPEnableSSL = true;
    string MailSubject = "MT4 Notifier";
    string MailBody = "MT4 Notifier MailBody";
    string MailAttachmentPath = NULL;
    string MailAttachmentName = NULL;
     
     
    //+------------------------------------------------------------------+
    //| Custom indicator initialization function                         |
    //+------------------------------------------------------------------+
    int OnInit()
      {
    //--- indicator buffers mapping
     
     
       string SCFileNameVer1 = StringConcatenate(Symbol(), "_Period", Period(), "_", TimeYear(TimeLocal()), "-", TimeMonth(TimeLocal()), "-", TimeDay(TimeLocal()), "_", PadString(DoubleToStr(TimeHour(TimeLocal()),0),"0",2), "-", PadString(DoubleToStr(TimeMinute(TimeLocal()),0),"0",2), "-", PadString(DoubleToStr(TimeSeconds(TimeLocal()),0),"0",2), ".gif" );
     
     
       if (ShootScreenShot(SCFileNameVer1)) {
          SendAdvancedEmailSimple("[FOREX] New Order Opened", "2014.05.18 13:38:15.738    OrderHistoryTest GBPNZD,M15: #40320001 2014.05.08 18:21:20 buy limit 2.00 GBPNZD 1.92168 0.00000 0.00000 2014.05.15 19:40:55 1.94523 0.00 0.00 0.00 cancelled 0", "C:\\DATA\\XMMT4-GBPNZD\\MQL4\\Libraries\\MailBody.html", "Normal", PathToScreenshots + SCFileNameVer1, SCFileNameVer1);
       } else {
          Print("ERROR: Screenshot failed. Email event cancelled.");
       }
       
    //---
       return(INIT_SUCCEEDED);
      }
    //+------------------------------------------------------------------+
    //| Custom indicator iteration function                              |
    //+------------------------------------------------------------------+
    int OnCalculate(const int rates_total,
                    const int prev_calculated,
                    const datetime &time[],
                    const double &open[],
                    const double &high[],
                    const double &low[],
                    const double &close[],
                    const long &tick_volume[],
                    const long &volume[],
                    const int &spread[])
      {
    //---
       
    //--- return value of prev_calculated for next call
       return(rates_total);
      }
    //+------------------------------------------------------------------+
     
     
     
     
    void SendAdvancedEmailSimple(string fMailSubject, string fMailBodyContent, string fMailBodyTemplate, string fMailPriority = "Normal", string fMailAttachmentPath = NULL, string fMailAttachmentName = NULL)
    {
       SendAdvancedEmail(MailFrom, MailFromName, MailTo, MailCC, fMailSubject, fMailBodyContent, fMailBodyTemplate, fMailPriority, fMailAttachmentPath, fMailAttachmentName, SMTPServer, SMTPPort, SMTPEnableSSL, SMTPTimeout, SMTPUsername, SMTPPassword);
    }
     
     
    bool ShootScreenShot(string SCFileName) 
    {
       bool status = WindowScreenShot(SCFileName,SCWidth,SCHeight,-1,-1,-1);
       return (status);
    }
     
     
    string PadString(string toBePadded, string paddingChar, int paddingLength)
    {
       while(StringLen(toBePadded) <  paddingLength)
       {
          toBePadded = StringConcatenate(paddingChar,toBePadded);
       }
       return (toBePadded);
    }
    كود الاكسبرت
    كود:
    //+------------------------------------------------------------------+//|                                              FireStrategy_EA.mq4 |
    //|                                           ENG.ABDELOUAHAB KEBICI |
    //|                                             https://www.mql5.com |
    //+------------------------------------------------------------------+
    #property copyright "ENG.ABDELOUAHAB KEBICI"
    #property link      "https://www.mql5.com"
    #property version   "1.00"
    #property strict
     
     
     extern double lot=0.1;
     extern double lot2=0.3;
     extern double Increment_lot=0.4;
     extern int Gap=20;
      extern string _Use_One_Type_Order_="=====Use One Type Order=====";
      extern bool Use_BuyOrder=false;
      extern bool Use_SellOrder=false;
       extern string _Close_At_TotalProfit="=====Close at TotalProfit=====";
      extern double TotalProfit=50;
       extern string _UseFullHedget="=====Use Full Hedge=====";
      extern bool UseFullHedge=true;
      extern double Floating=200;
     extern string __="=======Time Filter========";
     extern bool  UseTimeFilter= true;        
     extern int  Start_Time = 6;            
     extern int  Finish_Time =21;
     extern string ___ooo___="=================";
     extern int MagicNumber=2016;
     
     
      double point;
    int digits,Q;
    //+------------------------------------------------------------------+
    //| Expert initialization function                                   |
    //+------------------------------------------------------------------+
    int OnInit()
      {
    //---
                  if(Digits==5 || Digits==3)Q=10;
       else Q=1;
       if(Digits<4)
         {
          point=0.01;
          digits=2;
         }
       else
         {
          point=0.0001;
          digits=4;
         }
    //---
       return(INIT_SUCCEEDED);
      }
    //+------------------------------------------------------------------+
    //| Expert deinitialization function                                 |
    //+------------------------------------------------------------------+
    void OnDeinit(const int reason)
      {
    //---
        DeletPendOrders();
      }
    //+------------------------------------------------------------------+
    //| Expert tick function                                             |
    //+------------------------------------------------------------------+
     double SL,TP,lot1,lots,Lots;
    void OnTick()
      {
      Comment("AccountEquity = ",AccountEquity(),"\n",
               "AccountBalance = ",AccountBalance(),"\n",
               "=============","\n",
               "SommeLots_Buy = ",SommeLots_Buy(),"\n",
               "SommeLots_Sell = ",SommeLots_Sell(),"\n",
                "=============","\n",
                "Floating = ",ProfitAllorders()
                
               );
      //+------------------------------------------------------------------+
      //|          Time                                                    |
      //+------------------------------------------------------------------+
       datetime Current_Time = TimeHour(TimeCurrent());
     
     
     if (UseTimeFilter&&orderstotal()<1){
          if (Start_Time == 0) Start_Time = 24; if (Finish_Time == 0) Finish_Time = 24; if (Current_Time == 0) Current_Time = 24;
          
          if ( Start_Time < Finish_Time )
          {
             if ( (Current_Time < Start_Time) || (Current_Time >= Finish_Time) ) {Comment("Non-Trading Hours!");return;}
          }
          
          if ( Start_Time > Finish_Time )
          {
             if ( (Current_Time < Start_Time) && (Current_Time >= Finish_Time) ){Comment("Non-Trading Hours!"); return;}
          } 
       }
       //---
       //+------------------------------------------------------------------+
       //|              FullHedge                                           |
       //+------------------------------------------------------------------+
       
       if(UseFullHedge==true&&SommeLots_Buy()>SommeLots_Sell()&&MathAbs(ProfitAllorders())>=Floating&&ProfitAllorders()<0){
            Lots=NormalizeDouble(SommeLots_Buy(),Digits)-NormalizeDouble(SommeLots_Sell(),Digits);
          int ticket91000=OrderSend(Symbol(),OP_SELL,Lots,NormalizeDouble(Bid,Digits),3*Q,SL,TP,"FireStrategy",MagicNumber,0,Red);
          DeletPendOrders();
          return;
        }
        
        if(UseFullHedge==true&&SommeLots_Sell()>SommeLots_Buy()&&MathAbs(ProfitAllorders())>=Floating&&ProfitAllorders()<0){
              Lots=NormalizeDouble(SommeLots_Sell(),Digits)-NormalizeDouble(SommeLots_Buy(),Digits);
          int ticket100001=OrderSend(Symbol(),OP_BUY,Lots,NormalizeDouble(Ask,Digits),3*Q,SL,TP,"FireStrategy",MagicNumber,0,Blue);
          DeletPendOrders();
          return;
        }
       //+------------------------------------------------------------------+
       //|            First Trades                                          |
       //+------------------------------------------------------------------+
       
      if (orderstotal()<1&&Use_BuyOrder==true&&Use_SellOrder==false){
           lot1=lot;
        int ticket1=OrderSend(Symbol(),OP_BUY,lot1,NormalizeDouble(Ask,Digits),3*Q,SL,TP,"FireStrategy",MagicNumber,0,Blue);
        }
       
       if (orderstotal()<1&&Use_SellOrder==true&&Use_BuyOrder==false){
       lot1=lot;
         int ticket2=OrderSend(Symbol(),OP_SELL,lot1,NormalizeDouble(Bid,Digits),3*Q,SL,TP,"FireStrategy",MagicNumber,0,Red);
        }
        
       //+------------------------------------------------------------------+
       //|           OpenNext Orders                                        |
       //+------------------------------------------------------------------+
        
      if(orderstotal()>0&&TypeLastOrder()=="buy"&&orderstotalPend_Sell()<1&&SommeLots_Buy()!=SommeLots_Sell()){
          if(orderstotal()==1)lots=lot2;else lots=LastLotBuy()+Increment_lot;
        int ticket11=OrderSend(Symbol(),OP_SELLSTOP,lots,NormalizeDouble(OpenorderBuy()-Gap*point,Digits),3*Q,SL,TP,"FireStrategy",MagicNumber,0,Red);
        }
        
        if(orderstotal()>0&&TypeLastOrder()=="sell"&&orderstotalPend_Buy()<1&&SommeLots_Buy()!=SommeLots_Sell()){ 
         if(orderstotal()==1)lots=lot2;else lots=LastLotSell()+Increment_lot;
        int ticket22=OrderSend(Symbol(),OP_BUYSTOP,lots,NormalizeDouble(OpenorderSell()+Gap*point,Digits),3*Q,SL,TP,"FireStrategy",MagicNumber,0,Blue);
        }
       //+------------------------------------------------------------------+
       //|        Close orders at TotalProfit                               |
       //+------------------------------------------------------------------+
       if(ProfitAllorders()>=TotalProfit){
         CloseBuyOrders();
         CloseSellOrders();
         DeletPendOrders();
       }
       
     
      
    //---
       
      }
    //+------------------------------------------------------------------+
     int orderstotal()
            {
             int cnt=0;
             for(int i=0;i<OrdersTotal();i++)
            {
             bool ticket1=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
             if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber()&&OrderType()!=OP_BUYSTOP&&OrderType()!=OP_SELLSTOP)
            {
              cnt++;
             }
             }
             return(cnt);
             }
             //***************
                  int orderstotalBuy()
            {
             int cnt=0;
             for(int i=0;i<OrdersTotal();i++)
            {
             bool ticket1=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
             if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber())
            {
             if(OrderType()==OP_BUY) cnt++;
             }
             }
             return(cnt);
             }
             //****
             int orderstotalSell()
            {
             int cnt=0;
             for(int i=0;i<OrdersTotal();i++)
            {
             bool ticket2=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
             if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber())
            {
             if(OrderType()==OP_SELL) cnt++;
             }
             }
             return(cnt);
             }
             //*****
             
                double OpenorderBuy()
            {
             double openorderBuy=0;
             for(int i=0;i<=OrdersTotal();i++)
            {
             bool ticket7=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
             if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber && OrderType()==OP_BUY)
            {
             openorderBuy=OrderOpenPrice();
             }
             }
     
     
             return(openorderBuy);
             }
             //---------------------
     
     
             double OpenorderSell()
            {
             double openorderSell=0;
             for(int i=0;i<=OrdersTotal();i++)
            {
             bool ticket8=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
             if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber && OrderType()==OP_SELL)
            {
             openorderSell=OrderOpenPrice();
             }
             }
     
     
             return(openorderSell);
             }       
           //**/////////
           
           string TypeLastOrder() {
             string type;
               for(int i=0;i<=OrdersTotal();i++)
            {
             bool ticket88=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
             if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber ){
                if(OrderType()==OP_BUY)type="buy";
                if(OrderType()==OP_SELL)type="sell";
                }
                }
             return (type);
             }
           //*******
               double LastLotBuy()
            {
            double B=0;
             for(int i=0;i<=OrdersTotal();i++)
            {
             bool ticket4=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
             if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber && OrderType()==OP_BUY)
            {
            B=OrderLots();
             }
             }
             return(B);
             }
             //*****************
             double LastLotSell()
            {
            double S=0;
             for(int i=0;i<=OrdersTotal();i++)
            {
             bool ticket5=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
             if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber && OrderType()==OP_SELL)
            {
             S=OrderLots();
             }
             }
             return(S);
             } 
           //---
                     int orderstotalPend_Buy()
            {
             int cnt=0;
             for(int i=0;i<OrdersTotal();i++)
            {
             bool ticket1=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
             if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber())
            {
             if(OrderType()==OP_BUYSTOP) cnt++;
             }
             }
             return(cnt);
             }
             //****
             int orderstotalPend_Sell()
            {
             int cnt=0;
             for(int i=0;i<OrdersTotal();i++)
            {
             bool ticket2=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
             if(OrderSymbol()==Symbol() && MagicNumber==OrderMagicNumber())
            {
             if(OrderType()==OP_SELLSTOP) cnt++;
             }
             }
             return(cnt);
             }
             //*****
                     double ProfitAllorders()
            {
             double ProfitAllorders=0;
             for(int i=0;i<=OrdersTotal();i++)
            {
             bool ticket112=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
             if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
            {
              ProfitAllorders=ProfitAllorders+OrderProfit();
             }
             }
             return(ProfitAllorders);
             } 
             //---
                void CloseBuyOrders()
            {
             int cnt=OrdersTotal();
             for(int i=cnt-1; i>=0; i--)
            {
             if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
          
             if(OrderType()==OP_BUY&&OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
            {
             bool ticketclose1=OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3*Q,Red);
             }
             
             }
     
     
             }
     
     
             void CloseSellOrders()
            {
             int cnt=OrdersTotal();
             for(int i=cnt-1; i>=0; i--)
            {
             if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
          
             if(OrderType()==OP_SELL&&OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber)
            {
             bool ticketclose2=OrderClose(OrderTicket(),OrderLots(),OrderClosePrice(),3*Q,Blue);
             }
            
             }
     
     
             }
             //---
             void  DeletPendOrders(){
                int cnt=OrdersTotal();
             for(int i=cnt-1; i>=0; i--)
            {
             if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
                if((OrderType()==OP_BUYSTOP||OrderType()==OP_SELLSTOP)&&OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber) {
                       bool ticketclose1=OrderDelete(OrderTicket(),Blue)   ;
                       }
                       }   
                     }
             //---
              double SommeLots_Buy(){
             double SLot=0;
            for(int i=0;i<=OrdersTotal();i++)
            {
             bool ticket133=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
             if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber&&OrderType()==OP_BUY)
            {
              SLot=SLot+OrderLots();
             }
             }
             return(SLot);
             }
             //---
                    double SommeLots_Sell(){
             double SsLot=0;
            for(int i=0;i<=OrdersTotal();i++)
            {
             bool ticket133=OrderSelect(i,SELECT_BY_POS,MODE_TRADES);
             if(OrderSymbol()==Symbol() && OrderMagicNumber()==MagicNumber&&OrderType()==OP_SELL)
            {
              SsLot=SsLot+OrderLots();
             }
             }
             return(SsLot);
             }
           //*********************************
    آخر تعديل بواسطة wahaab ، 26-04-2016 الساعة 06:27 PM

  13. #7318
    الصورة الرمزية sal_moh85
    sal_moh85 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2016
    الإقامة
    الإمارات العربية المتحدة
    العمر
    38
    المشاركات
    125

    افتراضي

    سلام عليكم استاذا المبرمجين
    هل يوجد سطر برمجي يوضاف الى موشر لحفظ ارقام التي يرسلها الموشر على صيغة ملف اكسل
    للتوضيح لا اريد OPEN او HI او LOW
    اريد فقط سحب وحفظ ارقام معادلة الموشر مع تاريخ والوقت والفريم المستخدام
    وشكرا

  14. #7319
    الصورة الرمزية sal_moh85
    sal_moh85 غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Apr 2016
    الإقامة
    الإمارات العربية المتحدة
    العمر
    38
    المشاركات
    125

    افتراضي

    سلام عليكم استاذا المبرمجين
    هل يوجد سطر برمجي يوضاف الى موشر لحفظ ارقام التي يرسلها الموشر على صيغة ملف اكسل
    للتوضيح لا اريد OPEN او HI او LOW
    اريد فقط سحب وحفظ ارقام معادلة الموشر مع تاريخ والوقت والفريم المستخدام
    وشكرا

  15. #7320
    الصورة الرمزية goldfile
    goldfile غير متواجد حالياً عضو المتداول العربي
    تاريخ التسجيل
    Mar 2007
    الإقامة
    سانت لوسيا
    المشاركات
    752

    افتراضي

    اقتباس المشاركة الأصلية كتبت بواسطة sal_moh85 مشاهدة المشاركة
    سلام عليكم استاذا المبرمجين
    هل يوجد سطر برمجي يوضاف الى موشر لحفظ ارقام التي يرسلها الموشر على صيغة ملف اكسل
    للتوضيح لا اريد OPEN او HI او LOW
    اريد فقط سحب وحفظ ارقام معادلة الموشر مع تاريخ والوقت والفريم المستخدام
    وشكرا
    اخي الكريم ستستعمل الدالة iCustom() وتختار المؤشر الذي تريد

    ثم بعد ذلك تستعمل الدالتين FileOpen و FileWrite لحفظ الداتا في الملف في هذا المثال اسم الملف هو data.csv

    ستجده في المجلد file في نفس مسار الميتاتريد

    كود:
    //+--------------------------------------------------------------------+
    //|                                               FileWrite.mq4          |
    //|                                               [email protected] |                     |
    //|                                                                      |
    //+--------------------------------------------------------------------+
    #property copyright "Copyright 2016,[email protected]  "
    #property link      "[email protected]"
    #property version   "1.00"
    #property strict
     
     
    #property script_show_inputs
     
     
    int Handle = 0;
    int Count = 0 ;
    double imacd[] ;
    datetime dateBuffer[];
     
     
    //+------------------------------------------------------------------+
    //| Script program start function                                    |
    //+------------------------------------------------------------------+
    void OnStart()
      {
      
     int i ;
     ArraySetAsSeries(imacd,true) ;
     ArraySetAsSeries(dateBuffer,true) ;
     ResetLastError();
       
       string txt = StringConcatenate("Time Frame : ",Period()) ;
       int itime = CopyTime(NULL,0,0,1000,dateBuffer) ;
     
       if(itime <= 0){     
          Print(" error to copy time value , code error ",GetLastError());  
           }
       ArrayResize(imacd,itime) ;
     
       Handle=FileOpen("data.csv", FILE_CSV|FILE_WRITE, ';');
        for(i = 0 ; i < itime ; i++){      
            imacd[i] = iCustom(NULL,0,"MACD",12,26,9,MODE_MAIN,i);Count++;
         }   
          if (Handle > 0)
          {
             for(i = 0 ; i < Count ; i++)
            FileWrite(Handle,dateBuffer[i],NormalizeDouble(imacd[i],Digits),txt) ;
            FileFlush(Handle);
        }
        
      }
    بالتوفيق

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

  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