Convert a mql4 EA to a mql5

MQL5 Uzman Danışmanlar

İş tamamlandı

Tamamlanma süresi: 1 gün
Geliştirici tarafından geri bildirim
Great customer - it was a pleasure to work with him!

İş Gereklilikleri

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;

   }

   }

Yanıtlandı

1
Geliştirici 1
Derecelendirme
(90)
Projeler
159
61%
Arabuluculuk
40
18% / 63%
Süresi dolmuş
70
44%
Serbest
2
Geliştirici 2
Derecelendirme
(15)
Projeler
65
58%
Arabuluculuk
6
17% / 33%
Süresi dolmuş
39
60%
Serbest
3
Geliştirici 3
Derecelendirme
(187)
Projeler
367
56%
Arabuluculuk
45
22% / 56%
Süresi dolmuş
188
51%
Serbest
Yayınlandı: 1 makale, 6 kod
4
Geliştirici 4
Derecelendirme
(48)
Projeler
91
31%
Arabuluculuk
28
29% / 43%
Süresi dolmuş
42
46%
Serbest
Yayınlandı: 1 kod
5
Geliştirici 5
Derecelendirme
(63)
Projeler
80
28%
Arabuluculuk
17
12% / 76%
Süresi dolmuş
48
60%
Serbest
6
Geliştirici 6
Derecelendirme
(64)
Projeler
144
46%
Arabuluculuk
20
40% / 15%
Süresi dolmuş
32
22%
Çalışıyor
Benzer siparişler
Excel writer 31 - 200 USD
I’m a versatile freelancer who can handle a wide range of tasks. Whether it’s research, writing, data entry, virtual assistance, or problem-solving, I’m ready to help and committed to delivering reliable results
I need an automated trading robot for crypto trading. Strategy: - Use EMA 20 and EMA 50. - Buy when EMA 20 crosses above EMA 50. - Sell when EMA 20 crosses below EMA 50. Risk management: - Stop Loss: 2% - Take Profit: 4% Timeframe: 15 minutes. The robot should: - Open trades automatically. - Close trades automatically. - Show signals on the chart. Platform: MetaTrader 5 Market: Crypto (BTCUSDT)
I need an Expert Advisor for MetaTrader 5 based on SMT and CISD strategy using NASDAQ and S&P500. Strategy logic: - The bot compares NASDAQ and S&P500. - Timeframe: 3 minutes. - First condition: One of the pairs must take liquidity from a previous high or low while the other pair does NOT take that liquidity (SMT divergence). - Second condition: The pair that took liquidity must close back below the high (or above
A robot 80+ USD
De breedste selectie betaalde en gratis robots, die een breed scala aan handelsstrategieën implementeren — selecteer degene die het beste bij uw handelsstijl past. Gedetailleerde productbeschrijvingen met screenshots en video's, maar ook recensies van andere kopers helpen u bij het maken van de juiste keuze. Profiteer van gratis tests om de producteigenschappen te evalueren voordat u het aanschaft. Uitgebreid prijzen
Cash Flow EA 30+ USD
I want a trading robot with proper risk management and good trading strategies it must make money ,place stop loss below the entry and place a take profit no loss only wins mostly trade major
Busco un robot para trading de scalping en oro o forex, el robot debe ser rentable en esos mercados, podemos automatizar mi estrategia basada en medias móviles con estrategia de scalping o bien si él desarollador tiene uno que funcione así y sea rentable podemos ver la opción de un demo o cuenta de lectura para estar seguros de la rentabilidad en el robot
MT4 EA TO TAKE TRADES FROM (A) HYDRA TREND RIDER AND (B) IQ GOLD GANN LEVELS ON MQL5.COM The MT4 version of these two indicators can be found on the mql5.com website with the following links: Hydra Trend Rider: https://www.mql5.com/en/market/product/111010?source=Site +Profile+Seller IQ Gold Gann Levels: https://www.mql5.com/en/market/product/134335?source=Site +Profile+Seller (1) ENTRY (a) Hydra Trend Rider
I have a strategy for US100 where I want a bot to trade according to my strategy, contact me who have proven experience in making bots for MT4 or MT5
I want a person who can help me to create bot. Setup would be 25 ema 50 ema cross over, when 25 ema cross 50 ema we will buy on upside and when it cross down side we will sell, condition is ADX I want to add ema of adx which I can explain in trading view only but I want to use this one in as a bot so how can we do it ? Need to do it in mt5 platform
I am currently looking to purchase a ready-made MT5 Expert Advisor designed specifically for prop firm trading . Requirements: Strategy must be safe for prop firm rules Maximum daily drawdown: below 4% Maximum overall drawdown: below 8% Target performance: 10% monthly return No martingale or high-risk grid strategies Must be able to run consistently on MT5 Purchase Conditions: I will require full source code (.mq5)

Proje bilgisi

Bütçe
20 - 60 USD
Son teslim tarihi
from 2 to 15 gün