Convert a mql4 EA to a mql5

MQL5 Uzmanlar

İş 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
19
42% / 16%
Süresi dolmuş
32
22%
Serbest
Benzer siparişler
Criei um Robô para a venda alta precisão que automatiza a estratégia de correção média de Larry Williams. Possui filtros de tendência seletiva, controle de lote por risco percentual e execução rápida. Compatível com contas Hedge e Netting. Configuração simples e otimizada para mercados de alta volatilidade. *55(16) 993786056
SMC ORDER BLOCK 30 - 60 USD
I want already build FULLY AUTOMATED order block MT5 XAUUSD HTF H4 ENTRY LTF M15 - Show result on live account. m15 ob entry in the direction of h4 ob bias the developper to provide source code in the end
I need an MT5 Expert Advisor built as a high-precision volumizer for Forex. Its core purpose is to generate controlled trading volume for rebates, while still maintaining low-risk account growth. I am not looking for aggressive profit chasing. I am looking for a stable, intelligent EA that can produce volume in a disciplined way without damaging the account. The ideal system should trade major currency pairs, avoid
1. IF price forms: - Higher highs + higher lows → TREND = BUY - Lower highs + lower lows → TREND = SELL ELSE → NO TRADE 2. IF: - Trend = BUY - Price retraces to support zone - Bullish engulfing candle forms - TDI green crosses above red (optional) THEN: - Execute BUY 3. IF: - Trend = SELL - Price retraces to resistance - Bearish engulfing forms - TDI confirms THEN: - Execute SELL 4. Risk per trade = 1% of account Lot
I need a high frequency trading robot for gold in one or 5 minute timeframe the robot should have spread filter where it should only open trades below a set spread should have news filter to allow trading during fundal news or not the robot should have input in number of minutes to close all open trades and remove pending orders before fundamental news as part of news filter. It should also have the number of minutes
Hello! I want to programm EA that uses volume profile indicator, but I am not sure if this is possible. Only experienced programmers please, I will not select a programmer who did only few jobs. Before starting I need to make sure you understand everything and that this is for sure technically possible
Hello, I am looking for a professional trading system including: 1- Trading Bot (Expert Advisor): - Good profit performance - High security and strong risk management - Works efficiently during high market volatility (news and strong movements) - Works on all pairs (Forex + Gold) 2- Signal Indicator: - Provides clear Buy and Sell signals - Includes Take Profit and Stop Loss - No repaint (signals must not change or
Hi, I’m looking for a top-tier, profit-optimized EA that has the potential to scale trading returns significantly. My goal is to maximize growth over time. Can you help develop a bespoke EA that could potentially scale to high six or seven figures
Max amount grid 30+ USD
max amount grid step for magic number do keep deleting .only when it is in negative floating .but when it is profit allow to go over the max and replays to grid step

Proje bilgisi

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