Convert a mql4 EA to a mql5

MQL5 专家

工作已完成

执行时间1 一天
员工反馈
Great customer - it was a pleasure to work with him!

指定

Hi, 

I need help to convert a mql4 EA to a Mql5 EA.

Looking forward to hear from you.

Thanks, Fertik

 

 

 



extern string R ="=========Réglages de base==========";

extern double PF_Départ       = 5000;  

extern double Lots            = 0.1;  

extern double TakeProfit      = 50;

extern double TakeProfit0     = 40;

extern double TakeProfit1     = 30;

extern double TakeProfit2     = 20;

extern double TakeProfit3     = 10;

extern double StopLoss        = 200;

extern double Coefflosse0     = 1;  

extern double Coefflosse1     = 2;   

extern double Coefflosse2     = 4;  

extern double Coefflosse3     = 6;  

double     MyPoint;  

int           Dg,i;

//============================================//

int init() 

   {

   ModifPoint(); 

   }

//===========================================//

int start() 

   {

   int y;

   double pr=0; // profit;

for (y = 0; y < OrdersTotal(); y++)

   {

      OrderSelect (y, SELECT_BY_POS, MODE_TRADES);

      if ((OrderMagicNumber()==301210) && (OrderSymbol()==Symbol()) && ((OrderType()==OP_BUY)||(OrderType()==OP_SELL))) {

          pr=pr+OrderProfit();

      }

   }

//==========================================+

//| Nombre de pertes consécutives           |

//==========================================+

   int    orders=HistoryTotal(); 

   int    losses=0;

   double pr1=0; 

   for( i=orders-1;i>=0;i--)

   {

      if(OrderSelect(i,SELECT_BY_POS,MODE_HISTORY)==false) { Print("Error in history!"); break; }

      if(OrderSymbol()!=Symbol() || OrderType()>OP_SELL) continue;

         //----

      if(OrderProfit()>0) break;

      if(OrderProfit()<0) losses++;

         pr1=pr1+OrderProfit();

   }

   double pr3 = pr+pr1;       

//+============================+

   double P_PF,P_PF1;

   string Infos = "";

   /*int i=0;*/

   int    spread=MarketInfo("EURUSD",MODE_SPREAD);

   P_PF1 =((AccountBalance()-PF_Départ)/PF_Départ)*100;

   P_PF  =(AccountBalance()-PF_Départ);


   int li_28;

   double lp72,lp88,lp89,lp90,ll96;

   double SL=StopLoss*MyPoint;

  

   if (pr >= (500*Lots)+ MathAbs(pr1))  {

      for (int l_ord_total_0 = OrdersTotal(); l_ord_total_0 >= 0; l_ord_total_0--) {

        OrderSelect(l_ord_total_0, SELECT_BY_POS, MODE_TRADES);

         if (OrderSymbol() == Symbol() && OrderMagicNumber() == 301210) {

            if (OrderType() == OP_BUY || OrderType() == OP_SELL) OrderClose(OrderTicket(), OrderLots(), OrderClosePrice(), 5, CLR_NONE);

                if (OrderType() != OP_BUY && OrderType() != OP_SELL) OrderDelete(OrderTicket()); 

         }

      }return (0);

   }

 //===========================================================  

   int lt4 = 0;

   int lt8 = 0;

   int lt12 = 0;

   int lt16 = 0;

   double ll40 = 0;

   double ll48 = 0;

   double lo56 = 0;

   double lo64 = 0;

   double ltp104 = 0;

   double ltp112 = 0;

   double ll136 = 0;

   double ll144 = 0;

   double mA5= iMA(NULL,0,3,0,1,PRICE_HIGH,0);

   double mA6= iMA(NULL,0,3,0,1,PRICE_HIGH,1);

   double mA7= iMA(NULL,0,3,0,1,PRICE_LOW,0);

   double mA8= iMA(NULL,0,3,0,1,PRICE_LOW,1);

           

   if ( mA7 > mA8)li_28=2;

   if (mA5 < mA6)li_28=1; 


//==============================+

//Mode Close Orders             |

//==============================+      

   for (int l_pos_284 = 0; l_pos_284 < OrdersTotal(); l_pos_284++) {

        OrderSelect(l_pos_284, SELECT_BY_POS, MODE_TRADES);

      if (OrderSymbol() == Symbol() && OrderMagicNumber() == 301210) {

         if (OrderType() == OP_BUY && lt4 < OrderTicket()) {

            ll40 = OrderLots();

            lo56 = OrderOpenPrice();

            lt4 = OrderTicket();

            ltp112 = OrderTakeProfit();

         }

         if (OrderType() == OP_SELL && lt8 < OrderTicket()) {

            ll48 = OrderLots();

            lo64 = OrderOpenPrice();

            lt8 = OrderTicket();

            ltp104 = OrderTakeProfit();

         }

         if (OrderType() == OP_BUYSTOP) {

            lt12 = OrderTicket();

            ll136 = OrderLots();

         }

         if (OrderType() == OP_SELLSTOP) {

            lt16 = OrderTicket();

            ll144 = OrderLots();

         }

      }

   }

  

   if (lt4 == 0 && lt16 != 0) OrderDelete(lt16);

      if ((lt16== 0 && lt4 != 0)&&(OrderOpenPrice()-Ask>SL)&&(OrderLots()==Lots)) OrderClose(lt4, OrderLots(), OrderClosePrice(), 5, CLR_NONE);

        if (lt4 == 0 && lt16 == 0) {

            lp88 = Ask + TakeProfit * MyPoint;  

             if ((DayOfWeek() == 5 && (losses >0))||(DayOfWeek() == 1 && Hour() > 3)||(DayOfWeek() == 2)||(DayOfWeek() == 3)||(DayOfWeek() == 4)||(DayOfWeek() == 7 && Hour() > 24)){

               if (li_28 == 2 && lt8 == 0)  {

                  if (AccountFreeMarginCheck(Symbol(), OP_BUY, Lots * 50) >= 0.0) {

                     OrderSend(Symbol(), OP_BUY, Lots, Ask, 3,Ask-SL,lp88, "Magic = " + 301210, 301210, 0, DodgerBlue);

                     }

               }

            }

         }

        

   if (lt8 == 0 && lt12 != 0) OrderDelete(lt12);

      if ((lt12== 0 && lt8 != 0)&&(Bid-OrderOpenPrice()>SL)&&(OrderLots()==Lots)) OrderClose(lt8, OrderLots(), OrderClosePrice(), 5, CLR_NONE);

         if (lt8 == 0 && lt12 == 0) {

             lp88 = Bid - TakeProfit * MyPoint;

               if ((DayOfWeek() == 5 && (losses >0))||(DayOfWeek() == 1 && Hour() > 3)||(DayOfWeek() == 2)||(DayOfWeek() == 3)||(DayOfWeek() == 4)||(DayOfWeek() == 7 && Hour() > 24)){

                  if (li_28 == 1 && lt4 == 0)  {

                     if (AccountFreeMarginCheck(Symbol(), OP_SELL, Lots * 50) >= 0.0) { 

                        OrderSend(Symbol(), OP_SELL, Lots, Bid, 3,Bid+SL,lp88, "Magic = " + 301210, 301210, 0, Red);

                    }

               }

            }

         }

        

   if (lt4 != 0 && lt16 ==0) {

      if (AccountFreeMarginCheck(Symbol(), OP_BUY, 2.0 * ll40) >= 0.0) {

         lp72 = lo56 - SL;

            if (losses <0){ll96 = NormalizeDouble( Lots, 2);}else {ll96 = NormalizeDouble(Coefflosse0*ll40, 2);lp88 = lp72 - (TakeProfit0 * MyPoint);}

            if (losses ==1){ll96 = NormalizeDouble( Coefflosse1 * ll40 , 2);lp89 = lp72 - (TakeProfit1 * MyPoint);}

            if (losses ==2){ll96 = NormalizeDouble( Coefflosse2 * ll40 , 2);lp89 = lp72 - (TakeProfit2 * MyPoint);}

            if (losses ==3){ll96 = NormalizeDouble( Coefflosse3 * ll40 , 2);lp89 = lp72 - (TakeProfit3 * MyPoint);}

               OrderSend(Symbol(), OP_SELLSTOP, ll96, lp72, 3,lo56,lp89, "Magic = " + 301210, 301210, 0, OrangeRed);

            }

         }

     

   if (lt8 != 0 && lt12 ==0) {

      if (AccountFreeMarginCheck(Symbol(), OP_SELL, 2.0 * ll48) >= 0.0) {

         lp72 = lo64 + SL;

            if (losses <0){ll96 = NormalizeDouble( Lots, 2);}else {ll96 = NormalizeDouble(Coefflosse0*ll48, 2);lp88 = lo64 + SL + (TakeProfit0 * MyPoint);}

            if (losses ==1){ll96 = NormalizeDouble( Coefflosse1 * ll48 , 2);lp90 = lp72 + (TakeProfit1 * MyPoint);}

            if (losses ==2){ll96 = NormalizeDouble( Coefflosse2 * ll48 , 2);lp90 = lp72 + (TakeProfit2 * MyPoint);}

            if (losses ==3){ll96 = NormalizeDouble( Coefflosse3 * ll48 , 2);lp90 = lp72 + (TakeProfit3 * MyPoint);}

               OrderSend(Symbol(), OP_BUYSTOP, ll96, lp72, 3,lo64,lp90, "Magic = " + 301210, 301210, 0, DodgerBlue);

                }  

         } 

 //=====================================================================

  Infos =      "PROGRESSION PF: " +  DoubleToStr(P_PF,2) + "€"+"..."+DoubleToStr(P_PF1,2)+ "%" ; 

 Comment(Infos);

 return (0);

}


 void ModifPoint ()

{

   if (Digits == 5 || Digits == 3) 

   {

      MyPoint = Point*10;

      Dg = (Digits - 1);

   }

   else  

   { 

      MyPoint = Point; 

      Dg = Digits;

   }

   }

反馈

1
开发者 1
等级
(90)
项目
159
61%
仲裁
40
18% / 63%
逾期
70
44%
空闲
2
开发者 2
等级
(15)
项目
65
58%
仲裁
6
17% / 33%
逾期
39
60%
空闲
3
开发者 3
等级
(187)
项目
367
56%
仲裁
45
22% / 56%
逾期
188
51%
空闲
发布者: 1 文章, 6 代码
4
开发者 4
等级
(48)
项目
91
31%
仲裁
28
29% / 43%
逾期
42
46%
空闲
发布者: 1 代码
5
开发者 5
等级
(63)
项目
80
28%
仲裁
17
12% / 76%
逾期
48
60%
空闲
6
开发者 6
等级
(64)
项目
144
46%
仲裁
20
40% / 20%
逾期
32
22%
工作中
相似订单
Code the indicator to MT5 EA, include all the inputs variables and values Allow live trading Allow demo trading Allow strategy tester Bar shift 0 adjustable Allow indicator to show on strategy tester Lot size adjustable Max spread in points (0=disable) Use stop loss circle true or false Stop loss circle in points adjustable Use stop loss true or false Stop loss in points (adjustable) Take profit true or false Use
Hi All, Looking for a ready to TEST and USE EA which makes $20 per day with initial deposit of $100 only with controlled drawdown and no trades during news time. Please note: Budget is fixed and no trial and hit error for testing and developing EA as I do not have time. I will select the developer only after the TEST is successful only, do not force to select and make the payment and payment will be done once I am
Create a bot that can trade and read indicators easy to read for first time users. Bot that can be used on a phone and connect to MT5. It should be easy to install or use on any device especially phone and laptop, preferably the bot that can run over night and controllable when needed
Need Grid + Martingale Type Averaging EA ( Directional Buy or Sell entry then uses grid/martingale for Recovery if need ) * Must Work Buy + Sell Both Side ( Do not Open Buy or Sell at Once Let the Previous Order Close ) * Min Lot size 0.01 * Max Lot Size 1 ( Can be Edited to maximum ) * Auto TP Shift * Auto Averaging Position also Auto Shift TP as per Averaging * After Averaging Close the Trade in Maximum Profit (
C'est un Expert Advisor (EA) MQL5 pour MetaTrader 5, conçu pour l' XAUUSD , combinant un filtre de tendance et une grille adaptative avec gestion de panier ("basket") et protections contre le drawdown. Version 1.00. Logique de trading Filtre de tendance (H4 par défaut) • EMA rapide (50) vs EMA lente (200) pour déterminer la direction (UP/DOWN) • Filtre ADX (période 14, seuil 18) pour éviter de trader en
I have 2 trading view indicators by GainzAlgo that I want code to mt5 , could u advise? I need you to give me response if you can convert This
Looking for an MT4/MT5 independent risk-management service or system that can monitor and automatically close trades opened and managed by another trader’s EA. The existing EA continuously removes/overrides manually added Stop Losses and may also override SLs placed by another EA. I need a solution that does not rely on modifying the existing trade or placing a Stop Loss. Instead, it should independently monitor each
I currently sell a white-label XAUUSD EA, but the existing supplier owns the source code. I now need a new, independently developed EA and licensing system that my company fully owns and controls. I am not requesting decompilation or copying of proprietary code. Existing settings, presets and trading examples will be provided as reference. The developer must first identify any missing strategy rules before
I am looking for an experienced trader, preferably a manual trader, with a minimum 12-month verifiable live trading track record. Requirements: - Target: Up to 10% monthly return - Maximum risk/drawdown tolerance: 20% - Maximum trade duration: 5 hours - No Martingale - No Hedging - No grid or other high-risk strategies - Minimum 12 months continuous track record - Track record must be independently verifiable through
Hello! I'm looking for an experienced programmer to help me fix bugs in NEOLOGICA, PROFIT. The code is written, without errors or warnings, but not everything works correctly. Please help me. I'm looking for a programmer for a long-term collaboration, so that this project can open doors to other interesting projects. :) You need to have access to this platform, but I think that's obvious

项目信息

预算
20 - 60 USD
截止日期
 2  15 天