• 4:12 مساءاً




اصلاح اكسبرت بسيط

إضافة رد
أدوات الموضوع
عضو جديد
تاريخ التسجيل: Jul 2015
المشاركات: 40
معدل تقييم المستوى: 0
Forex TP is on a distinguished road
13 - 04 - 2018, 04:46 PM
  #1
Forex TP غير متواجد حالياً  
افتراضي اصلاح اكسبرت بسيط
السلام عليكم

السادة المبرمجين السادة المبرمجين ممكن التعدل على هذا الاكسبرت بأضافة التريلنق استوب و حصاد الارباح بالدولار

الاكسبرت بالمرفقات و هنا الكود :

كود:
//+------------------------------------------------------------------+
//|                                                martingle-RSI.mq4 |
//|                               Copyright © 2011, kourosh Davallou |
//|                                            [عذراً, فقط الأعضاء يمكنهم مشاهدة الروابط ] |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, kourosh Davallou"
#property link      "[عذراً, فقط الأعضاء يمكنهم مشاهدة الروابط ]"
#include <stderror.mqh>
#include <stdlib.mqh>
//---- input parameters
extern int       MaxOpenTrades=7;
extern int       TotalStep=20;
extern bool      ClassicMartingle=True;
extern bool      AutoLot=true;
extern double    lot=0.01 ;
extern int       MagicNum=1347;
extern string    MComment=" Step is PIP between to trade ";
extern int       Step=15;
extern int       slippage = 5;
extern string    TradeComment=" Trade takeproft and loss is $ ";
extern int       TakeProfit=30;
extern int       Loss = 50;

extern string    RSIcomment=" RSI SETTING";
extern int       RSI=4;
extern int       LevelRSIbuy=10;
extern int       LevelRSIsell=70;
extern int       AppliedPrice=PRICE_TYPICAL;
extern string    MAcomment=" MA SETTING";
extern bool      UsedMA=true;
extern int       MA=50;
extern string    MACDcomment=" MACD SETTING";
extern bool      UsedMACD=true;
extern int       MACD=50;



extern color     BuyColor=Green;
extern color     SellColor=Red;
double   Lot[20];
int      Error;
int      BuyCycle=1,SellCycle=1,BuyClose=1,SellClose=1,tries=3;
bool     Trade=true,BuyOk,SellOk;
int      DayofTrade=0;
 double StartPriceBuy,StartPriceSell,CurrentPip;
 int    BuyTicket[26],SellTicket[26],Ticket; 
//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int init()
  {
//----
    double  MinLot;
    
    MinLot=MarketInfo(Symbol(),MODE_MINLOT);
    if ( AutoLot==true)
       {
        Comment(" Warning AutoLot select min lot ",MinLot);
        lot=MinLot;
        
        }
   if(Digits == 3 || Digits == 5) {
 //    TakeProfit*=10;
       slippage *= 10;
       Step*=10;
   
      }
     BuyCycle=1;
     SellCycle=1; 
     Loss*=-1;
      for(int i=1;i<=TotalStep;i++)
         Lot[i]= lot * MathPow(2,i-1);
    
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert deinitialization function                                 |
//+------------------------------------------------------------------+
int deinit()
  {
//----
   
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
//----  BUY
  
   if( iRSI(NULL,0,RSI,AppliedPrice,1)>iRSI(NULL,0,RSI,AppliedPrice,2) && 
         iRSI(NULL,0,RSI,AppliedPrice,1)<LevelRSIbuy 
         && iRSI(NULL,0,RSI,AppliedPrice,0)>LevelRSIbuy )
             { 
               Trade=false;
                if (UsedMA==true )
                   {
                     if ( iMA(NULL,0,MA,0,MODE_SMMA,PRICE_MEDIAN,0) < Open[0]) 
                       Trade=true;
                   }
                else
                     Trade=true;
                            
                  if (Trade==true)
                    {
                     if (BuyCycle ==1 )
                          {
                            DayofTrade=DayOfYear();
                            StartPriceBuy=Ask;

                             BuyOk=BuyOrder(Symbol(),Lot[1],Ask,MagicNum," First Buy ",BuyColor);
                    
                             if (BuyOk)
                               BuyCycle++;
                        
                          }    
                      }
               }        
         if(iRSI(NULL,0,RSI,AppliedPrice,1)<iRSI(NULL,0,RSI,AppliedPrice,2) && 
         iRSI(NULL,0,RSI,AppliedPrice,1)>LevelRSIsell 
         && iRSI(NULL,0,RSI,AppliedPrice,0)<LevelRSIsell ) 
            {
              Trade=false;
              if (UsedMA==true )
                  {
                   if ( iMA(NULL,0,MA,0,MODE_SMMA,PRICE_MEDIAN,0) > Open[0]) 
                       Trade=true;
                   }
              else 
                  Trade=true;
                           
                  if (Trade==true)
                    {
                     if ( SellCycle== 1)
                          {
                            DayofTrade=DayOfYear();
                            StartPriceBuy=Bid;

                             SellOk=SellOrder(Symbol(),Lot[1],Bid,MagicNum," First sell ",SellColor);
                      
                         
                            if (SellOk)
                               SellCycle++;    
                          }    
                       }               
             }          
       CurrentPip= (Ask- StartPriceBuy)*MathPow(10,Digits); 
        if (MathAbs(CurrentPip) >= Step)
          {                  
          if(iRSI(NULL,0,RSI,AppliedPrice,1)>iRSI(NULL,0,RSI,AppliedPrice,2)&&
          iRSI(NULL,0,RSI,AppliedPrice,1)<LevelRSIbuy 
         && iRSI(NULL,0,RSI,AppliedPrice,0)>LevelRSIbuy ) 
           if ( BuyCycle <MaxOpenTrades )
              {
               BuyOk=BuyOrder(Symbol(),Lot[BuyCycle],Ask,MagicNum,"Buy ",BuyColor);
                if (BuyOk)
                  BuyCycle++;
                  StartPriceBuy=Ask;
              }   
              
      CurrentPip= (Ask- StartPriceSell)*MathPow(10,Digits); 
     if (MathAbs(CurrentPip) >= Step)  
      if(iRSI(NULL,0,RSI,AppliedPrice,1)<iRSI(NULL,0,RSI,AppliedPrice,2)&&
          iRSI(NULL,0,RSI,AppliedPrice,1)>LevelRSIsell 
         && iRSI(NULL,0,RSI,AppliedPrice,0)<LevelRSIsell ) 
    
           if ( SellCycle <MaxOpenTrades)
              {
               SellOk=SellOrder(Symbol(),Lot[SellCycle],Bid,MagicNum,"Sell ",SellColor);
                if (SellOk)
                  SellCycle++;
                  StartPriceSell=Bid;
              } 
              
       }    
                      
     if( CheckProfit(Symbol(),MagicNum) >= TakeProfit )
       {
         
             
                Trade= closeall(Symbol(),MagicNum);
                SellCycle=1;
                BuyCycle=1 ;
           
             
            
        }    
     if( CheckProfit(Symbol(),MagicNum) <= Loss )
       {
         
             
                Trade= closeall(Symbol(),MagicNum);
                SellCycle=1;
                BuyCycle=1 ;
           
             
            
        }              
                
             
//----


  return(0);
  }
//+------------------------------------------------------------------+
double CheckProfit(string symbol,int magic)
    {
     double NetProfit=0 ;
                  
       for(int i=OrdersTotal()-1;i>=0;i--)
       {
          OrderSelect(i, SELECT_BY_POS);          
        if(OrderSymbol()==symbol && OrderMagicNumber()==magic )  
           {
           
           NetProfit+= OrderProfit();
           }
       }
       return(NetProfit);
 }
 bool BuyOrder(string symbol,  double BuyLot,double price,int Magic , string Comm,color Col)
  {
    int ticket  ;
     price=NormalizeDouble(price,Digits);
    for (int i=0; i< tries;i++)
      {
      ticket = OrderSend(Symbol(), OP_BUY, BuyLot, price, slippage,0, 0, Comm, Magic , 0, Col);
       BuyTicket[BuyCycle]=ticket;
       if ( ticket == -1){  
        Print("Error",ErrorDescription(GetLastError()));
        
        }
        Sleep(400);
        if (price+5*Point >= OrderOpenPrice() ||price+5*Point <= OrderOpenPrice() )
          {
  
           return(True);
           }
      }
      Print("BUY K.O at ",price);
      return(False);
   } 
 bool SellOrder(string symbol,  double BuyLot,double price,int Magic ,string Comm,color Col)
  {
    int ticket  ;
    price=NormalizeDouble(price,Digits);
    for (int i=0; i< tries;i++)
      {
      ticket = OrderSend(Symbol(), OP_SELL, BuyLot, price, slippage,0, 0, Comm, Magic , 0, Col);
      SellTicket[SellCycle]=ticket;
      if ( ticket == -1){  
        Print("Error",ErrorDescription(GetLastError()));
        }
         Sleep(400);
        if (price+5*Point >= OrderOpenPrice() ||price+5*Point <= OrderOpenPrice() )
          {
   
           return(True);
           }
      }
      Print("SEll K.O at ",price);
      return(False);
   }  
   
   
   bool closeorder(int mode,string symbol,int magic,int tic )
    {
    
      double price_0;
        
 
     
       for(int i=OrdersTotal()-1;i>=0;i--)
       {
          OrderSelect(i, SELECT_BY_POS);

          if(OrderSymbol()== symbol && OrderMagicNumber()==magic && OrderType()==mode &&  OrderTicket()==tic)
          {
             
                   for(int c=0;c<tries;c++)
                   {
                      RefreshRates();
                           if(mode==OP_SELL) price_0=Ask;
                      else if(mode==OP_BUY)  price_0=Bid; 
                      
                      if (OrderClose(OrderTicket(),OrderLots(),price_0,slippage,Pink)){  break;}
                      else
                      {
                         Error= GetLastError();
                         Print("error(",Error,"): ",ErrorDescription(Error)+"Errorors Closing order ");
                         if( Error==4 || Error==136 || Error==137 || Error==138 || Error==146) 
                         { Sleep(5000); continue; }  
                      }
                   } 
          }  
        } 
        
        return(0);          
    } 
    
    bool closeall(string symbol,int magic )
    {
    
      double price_0;
      int count =1  ;
      int  minute=0;
//   count  
   minute=Minute();
   for(int i=OrdersTotal()-1;i>=0;i--)
   //    for(int i=0;i<=OrdersTotal()-1;i++)
       {
           
          OrderSelect(i, SELECT_BY_POS);
    //    Print(" count",count,"i",i);
         
      //  Sleep(CloseSec*1000);
          if(OrderSymbol()==symbol && OrderMagicNumber()==magic )
          {
             
                   for(int c=0;c<tries;c++)
                   {
                      RefreshRates();
                           if(OrderType()==OP_SELL) price_0=Ask;
                      else if(OrderType()==OP_BUY)  price_0=Bid; 
                      
                      if (OrderClose(OrderTicket(),OrderLots(),price_0,slippage,Pink)){  break;}
                      else
                      {
                         Error= GetLastError();
                         Print("Error(",Error,"): ",ErrorDescription(Error)+"Errors Closing order ");
                         if( Error==4 || Error==136 || Error==137 || Error==138 || Error==146) 
                         { Sleep(5000); continue; }  
                      }
                   } 
          } 
          count++; 
        } 
   /// count      
       
        return(0);          
    }
الملفات المرفقة
نوع الملف: mq4 martingle-rsi.mq4‏ (11.1 كيلوبايت, المشاهدات 11)
رد مع اقتباس

الصورة الرمزية سمير محمد ارمان
مشرف سابق
الصورة الرمزية سمير محمد ارمان
 
تاريخ التسجيل: Nov 2009
المشاركات: 33,660
معدل تقييم المستوى: 51
سمير محمد ارمان will become famous soon enough
افتراضي رد: اصلاح اكسبرت بسيط
2#
14 - 04 - 2018, 01:53 PM
تم عمل المطلوب
تحياتى
الملفات المرفقة
نوع الملف: mq4 martingle-rsi_AR1.mq4‏ (28.7 كيلوبايت, المشاهدات 10)
سمير محمد ارمان غير متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: Jul 2015
المشاركات: 40
معدل تقييم المستوى: 0
Forex TP is on a distinguished road
افتراضي رد: اصلاح اكسبرت بسيط
3#
14 - 04 - 2018, 07:41 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة سمير محمد ارمان مشاهدة المشاركة
تم عمل المطلوب
تحياتى
تمام شكراً استاذ سمير

+++ هل بالامكان اضافة أدارة رأس المال MM نسبة المخاطرة Risk
+++ حصاد الارباح بالنسبة المئوية
+++ اقصى لوت يفتحه الاكسبرت Max lot
Forex TP غير متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: Jul 2015
المشاركات: 40
معدل تقييم المستوى: 0
Forex TP is on a distinguished road
افتراضي رد: اصلاح اكسبرت بسيط
4#
14 - 04 - 2018, 08:32 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة سمير محمد ارمان مشاهدة المشاركة
تم عمل المطلوب
تحياتى
تمام شكراً استاذ سمير

+++ هل بالامكان اضافة أدارة رأس المال MM نسبة المخاطرة Risk
+++ حصاد الارباح بالنسبة المئوية
+++ اقصى لوت يفتحه الاكسبرت Max lot
+++ الزيادة باللوتات كل مضاعفه مثلا الاكسبرت يفتح صفقات 0.01
عندما اضع الزيادة باللوتات مثلاً 0.01
يقوم الاكسبرت يفتح المضاعفة الثانية 0.02 و الثالثة 0.03 و الرابعة 0.04 هكذا ...
Forex TP غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية سمير محمد ارمان
مشرف سابق
الصورة الرمزية سمير محمد ارمان
 
تاريخ التسجيل: Nov 2009
المشاركات: 33,660
معدل تقييم المستوى: 51
سمير محمد ارمان will become famous soon enough
افتراضي رد: اصلاح اكسبرت بسيط
5#
15 - 04 - 2018, 02:24 PM
اخى الكريم
تم اضافة ادارة راس المال
الافضل عمل اكسبيرت جديد
يوجد اختلاف كبير فى برمجة الاكسبيرت وبرمجتى
لو تريد عمل اكسبيرت جديد
ارجو شرح طريقة العمل مع التوضيح من على الشارت
تحياتى
الملفات المرفقة
نوع الملف: mq4 martingle-rsi_AR2.mq4‏ (30.1 كيلوبايت, المشاهدات 7)
سمير محمد ارمان غير متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: Jul 2015
المشاركات: 40
معدل تقييم المستوى: 0
Forex TP is on a distinguished road
افتراضي رد: اصلاح اكسبرت بسيط
6#
16 - 04 - 2018, 12:01 AM
اقتباس:
المشاركة الأصلية كتبت بواسطة سمير محمد ارمان مشاهدة المشاركة
اخى الكريم
تم اضافة ادارة راس المال
الافضل عمل اكسبيرت جديد
يوجد اختلاف كبير فى برمجة الاكسبيرت وبرمجتى
لو تريد عمل اكسبيرت جديد
ارجو شرح طريقة العمل مع التوضيح من على الشارت
تحياتى
اكسبرت بسيط استاذ سمير
يعتمد على مؤشر RSI
و مؤشر MA,MACD
عند تحقق احد الشروط يتم الدخول بالصفقة شراء او بيع
أذا امكنك برمجة الاكسبرت مبدئياً ثم بعد ذلك يتم تطويره
صورة توضيحية مرفقة
الصور المرفقة
نوع الملف: jpg rsi__martingale.jpg‏ (93.9 كيلوبايت, المشاهدات 60)
Forex TP غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية سمير محمد ارمان
مشرف سابق
الصورة الرمزية سمير محمد ارمان
 
تاريخ التسجيل: Nov 2009
المشاركات: 33,660
معدل تقييم المستوى: 51
سمير محمد ارمان will become famous soon enough
افتراضي رد: اصلاح اكسبرت بسيط
7#
16 - 04 - 2018, 10:36 PM
اقتباس:
المشاركة الأصلية كتبت بواسطة Forex TP مشاهدة المشاركة
اكسبرت بسيط استاذ سمير
يعتمد على مؤشر RSI
و مؤشر MA,MACD
عند تحقق احد الشروط يتم الدخول بالصفقة شراء او بيع
أذا امكنك برمجة الاكسبرت مبدئياً ثم بعد ذلك يتم تطويره
صورة توضيحية مرفقة
اخى الكريم
ارجو التوضيح اكثر
مع كتابة امر الدخول شراء او بيع
حتى اتفهم المطلوب واستطيع المساعدة
تحياتى
سمير محمد ارمان غير متواجد حالياً  
رد مع اقتباس
عضو جديد
 
تاريخ التسجيل: Jul 2015
المشاركات: 40
معدل تقييم المستوى: 0
Forex TP is on a distinguished road
افتراضي رد: اصلاح اكسبرت بسيط
8#
19 - 04 - 2018, 01:36 AM
اقتباس:
المشاركة الأصلية كتبت بواسطة سمير محمد ارمان مشاهدة المشاركة
اخى الكريم
ارجو التوضيح اكثر
مع كتابة امر الدخول شراء او بيع
حتى اتفهم المطلوب واستطيع المساعدة
تحياتى
صناعة اكسبرت لهذه الاستراتيجية

عندما يتقاطع و يكون الخط الازرق فوق الاحمر شراء
عندما يتقاطع و يكون الخط الازرق تحت الاحمر بيع



اقتباس:
This Forex strategy using EMA could work very well to find the trend. This system is created to work with MetaTrader 4 with the following indicators – 5 EMA (Dark Blue) + 21 EMA (Crimson) + RSI(7) + MACD (10,20,3,7). If you want to use this trading system with other trading platforms, you should use this settings – 5 EMA (Dark Blue) + 21 EMA (Aqua) + RSI(9) + MACD (5,26,1).
اقتباس:
When to BUY ?

You should Buy, when the fast 5-period EMA (Dark Blue) is above the slow 21-period EMA (Crimson). The other rule is the RSI(7) filter to create red bars, as the MACD with EMA > 0

When to SELL ?

You should Sell, when the fast 5 EMA (Dark Blue) is under the slow 21-period EMA.

You can take your profit, when the candle close inside the EMA area.
الاندكتورز و التمبلت في المرفقات
الصور المرفقة
نوع الملف: png EMA-RSI-MACD-15min-system-e1418810616214.png‏ (74.6 كيلوبايت, المشاهدات 52)
الملفات المرفقة
نوع الملف: rar Indicators+templates.rar‏ (4.2 كيلوبايت, المشاهدات 4)
Forex TP غير متواجد حالياً  
رد مع اقتباس
الصورة الرمزية سمير محمد ارمان
مشرف سابق
الصورة الرمزية سمير محمد ارمان
 
تاريخ التسجيل: Nov 2009
المشاركات: 33,660
معدل تقييم المستوى: 51
سمير محمد ارمان will become famous soon enough
افتراضي رد: اصلاح اكسبرت بسيط
9#
19 - 04 - 2018, 01:27 PM
ممكن تجرب هذا الاكسبيرت
ونشوف المطلوب عمله
تحياتى
الملفات المرفقة
نوع الملف: mq4 MOV_EA1_AR1.mq4‏ (26.7 كيلوبايت, المشاهدات 9)
سمير محمد ارمان غير متواجد حالياً  
رد مع اقتباس


إضافة رد



جديد مواضيع منتدى المؤشرات و الاكسبرتات

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
طلب اكسبرت بسيط rabiani منتدى المؤشرات و الاكسبرتات 3 13 - 02 - 2016 03:38 PM
طلب اكسبرت بسيط magedhamza منتدى المؤشرات و الاكسبرتات 4 21 - 04 - 2015 12:31 PM
طلب اكسبرت بسيط المنتظم منتدى المؤشرات و الاكسبرتات 1 12 - 03 - 2015 12:17 AM
طلب اكسبرت بسيط mm4m منتدى المؤشرات و الاكسبرتات 4 18 - 07 - 2012 07:37 PM


04:12 PM