Specification

Code pour créer un robot 



//+------------------------------------------------------------------+
#include <Trade/Trade.mqh>
CTrade trade;

// SYMBOLS
string symbols[3] = {"Volatility 10 Index","Volatility 25 Index","Volatility 75 Index"};
string bestSymbol = "";

// VARIABLES
double startBalance;
int tradeCount = 0;
int lossStreak = 0;
bool tradingStopped = false;
bool profitMode = false;
datetime lastDay;

// PARAMÈTRES
double lotSize;
int stopLoss;
int takeProfit;
int trailingStop = 80;

//+------------------------------------------------------------------+
// RESET JOUR
void ResetDaily()
{
   datetime now = TimeCurrent();
   if(TimeDay(now) != TimeDay(lastDay))
   {
      startBalance = AccountInfoDouble(ACCOUNT_BALANCE);
      tradeCount = 0;
      lossStreak = 0;
      tradingStopped = false;
      profitMode = false;
      lastDay = now;
   }
}

//+------------------------------------------------------------------+
double GetProfitPercent()
{
   double balance = AccountInfoDouble(ACCOUNT_BALANCE);
   return ((balance - startBalance) / startBalance) * 100.0;
}

//+------------------------------------------------------------------+
// IA MEILLEUR INDICE
string GetBestSymbol()
{
   double bestScore = 0;
   string selected = symbols[0];

   for(int i=0; i<3; i++)
   {
      string sym = symbols[i];

      double range = iHigh(sym, PERIOD_M5, 0) - iLow(sym, PERIOD_M5, 0);
      double ema10 = iMA(sym, PERIOD_M5, 10, 0, MODE_EMA, PRICE_CLOSE, 0);
      double ema20 = iMA(sym, PERIOD_M5, 20, 0, MODE_EMA, PRICE_CLOSE, 0);

      double trend = MathAbs(ema10 - ema20);

      double score = range + trend;

      if(score > bestScore)
      {
         bestScore = score;
         selected = sym;
      }
   }

   return selected;
}

//+------------------------------------------------------------------+
// SCALPING V75
bool IsScalpingMode(string sym)
{
   if(sym == "Volatility 75 Index")
   {
      double range = iHigh(sym, PERIOD_M1, 0) - iLow(sym, PERIOD_M1, 0);
      return (range > 200 * _Point);
   }
   return false;
}

//+------------------------------------------------------------------+
// ANTI FAKE BREAKOUT
bool IsValidEntry(string sym)
{
   double rsi = iRSI(sym, PERIOD_M1, 14, PRICE_CLOSE, 0);

   double high0 = iHigh(sym, PERIOD_M1, 0);
   double low0 = iLow(sym, PERIOD_M1, 0);

   double range = high0 - low0;

   if(range < 100 * _Point) return false;
   if(range > 400 * _Point) return false;
   if(rsi > 75 || rsi < 25) return false;

   return true;
}

//+------------------------------------------------------------------+
// MARKET MAKER TRAP
bool IsMarketTrap(string sym)
{
   double high0 = iHigh(sym, PERIOD_M1, 0);
   double low0 = iLow(sym, PERIOD_M1, 0);
   double close0 = iClose(sym, PERIOD_M1, 0);
   double open0 = iOpen(sym, PERIOD_M1, 0);

   double range = high0 - low0;
   double body = MathAbs(close0 - open0);

   if(range > 350 * _Point && body < (range * 0.3))
      return true;

   return false;
}

//+------------------------------------------------------------------+
// SUPPORT / RESISTANCE
bool NearSupportResistance(string sym)
{
   double high = iHigh(sym, PERIOD_M15, iHighest(sym, PERIOD_M15, MODE_HIGH, 20, 0));
   double low = iLow(sym, PERIOD_M15, iLowest(sym, PERIOD_M15, MODE_LOW, 20, 0));

   double price = SymbolInfoDouble(sym, SYMBOL_BID);

   double zone = 150 * _Point;

   if(MathAbs(price - high) < zone || MathAbs(price - low) < zone)
      return true;

   return false;
}

//+------------------------------------------------------------------+
// MULTI TF
bool MultiTFConfirm(string sym)
{
   double ema10_M1 = iMA(sym, PERIOD_M1, 10, 0, MODE_EMA, PRICE_CLOSE, 0);
   double ema20_M1 = iMA(sym, PERIOD_M1, 20, 0, MODE_EMA, PRICE_CLOSE, 0);

   double ema10_M5 = iMA(sym, PERIOD_M5, 10, 0, MODE_EMA, PRICE_CLOSE, 0);
   double ema20_M5 = iMA(sym, PERIOD_M5, 20, 0, MODE_EMA, PRICE_CLOSE, 0);

   double ema10_M15 = iMA(sym, PERIOD_M15, 10, 0, MODE_EMA, PRICE_CLOSE, 0);
   double ema20_M15 = iMA(sym, PERIOD_M15, 20, 0, MODE_EMA, PRICE_CLOSE, 0);

   bool buyTrend =
      (ema10_M1 > ema20_M1) &&
      (ema10_M5 > ema20_M5) &&
      (ema10_M15 > ema20_M15);

   bool sellTrend =
      (ema10_M1 < ema20_M1) &&
      (ema10_M5 < ema20_M5) &&
      (ema10_M15 < ema20_M15);

   return (buyTrend || sellTrend);
}

//+------------------------------------------------------------------+
// TRAILING
void ManageTrailing(string sym)
{
   if(PositionSelect(sym))
   {
      double tp = PositionGetDouble(POSITION_TP);

      if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_BUY)
      {
         double price = SymbolInfoDouble(sym, SYMBOL_BID);
         trade.PositionModify(sym, price - trailingStop * _Point, tp);
      }

      if(PositionGetInteger(POSITION_TYPE) == POSITION_TYPE_SELL)
      {
         double price = SymbolInfoDouble(sym, SYMBOL_ASK);
         trade.PositionModify(sym, price + trailingStop * _Point, tp);
      }
   }
}

Code pour créer un robot suite 

//+------------------------------------------------------------------+

bool StopConditions()

{

   double profit = GetProfitPercent();


   if(profit <= -5.0) return true;

   if(tradeCount >= 3) return true;

   if(lossStreak >= 2) return true;


   return false;

}


//+------------------------------------------------------------------+

void OnTick()

{

   ResetDaily();


   if(tradingStopped) return;


   double balance = AccountInfoDouble(ACCOUNT_BALANCE);

   lotSize = 0.01;

   stopLoss = 120;

   takeProfit = 140;


   double profit = GetProfitPercent();


   if(profit >= 2.0 && !profitMode)

   {

      profitMode = true;

      SendNotification("💰 Profit sécurisé");

   }


   if(StopConditions())

   {

      tradingStopped = true;

      SendNotification("🚫 STOP");

      return;

   }


   bestSymbol = GetBestSymbol();

   string sym = bestSymbol;


   ManageTrailing(sym);


   double lot = profitMode ? lotSize * 0.5 : lotSize;


   if(IsScalpingMode(sym))

   {

      stopLoss = 80;

      takeProfit = 100;

   }


   double ema10 = iMA(sym, PERIOD_M1, 10, 0, MODE_EMA, PRICE_CLOSE, 0);

   double ema20 = iMA(sym, PERIOD_M1, 20, 0, MODE_EMA, PRICE_CLOSE, 0);

   double rsi = iRSI(sym, PERIOD_M1, 14, PRICE_CLOSE, 0);


   double ask = SymbolInfoDouble(sym, SYMBOL_ASK);

   double bid = SymbolInfoDouble(sym, SYMBOL_BID);


   if(!PositionSelect(sym)

      && IsValidEntry(sym)

      && !IsMarketTrap(sym)

      && NearSupportResistance(sym)

      && MultiTFConfirm(sym))

   {

      if(ema10 > ema20 && rsi > 55)

      {

         trade.Buy(lot, sym, ask,

                   bid - stopLoss * _Point,

                   bid + takeProfit * _Point);


         tradeCount++;

         SendNotification("📈 BUY " + sym);

      }


      if(ema10 < ema20 && rsi < 45)

      {

         trade.Sell(lot, sym, bid,

                    ask + stopLoss * _Point,

                    ask - takeProfit * _Point);


         tradeCount++;

         SendNotification("📉 SELL " + sym);

      }

   }

}


//+------------------------------------------------------------------+

void OnTradeTransaction(const MqlTradeTransaction &trans,

                        const MqlTradeRequest &request,

                        const MqlTradeResult &result)

{

   if(trans.type == TRADE_TRANSACTION_DEAL_ADD)

   {

      if(trans.profit < 0)

         lossStreak++;

      else

         lossStreak = 0;

   }

}


Responded

1
Developer 1
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
2
Developer 2
Rating
(298)
Projects
477
40%
Arbitration
105
40% / 24%
Overdue
81
17%
Loaded
Published: 2 codes
3
Developer 3
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
4
Developer 4
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
Similar orders
I am looking for an experienced MQL5 developer to build a professional Expert Advisor with the following specs: TECHNICAL REQUIREMENTS: - Platform: MetaTrader 5 (MT5) - Pairs: GBPUSD and EURUSD - Broker suffix support (e.g. GBPUSD@, EURUSD@) - Primary timeframe: M5 -Higher timeframe bias: H1 and H4 (for trend direction only) - One chart setup — manages both pairs from one chart STRATEGY: - Price action based: BOS
OBJETIVO Criar um Expert Advisor MT5 profissional para XAUUSD focado em: Consistência Baixo drawdown Scalping profissional Proteção da conta Crescimento sustentável Compatibilidade com conta micro e prop firms NÃO utilizar: Martingale Grid Hedge agressivo Recovery system Multiplicação de lotes após perda --- ATIVO XAUUSD apenas --- TIMEFRAMES Timeframe principal M5 Confirmação tendência M15 Confirmação macro opcional
I need a very advanced and intelligent MT5 Expert Advisor coded in MQL5 for XAUUSD, based on ICT + CRT + Smart Money Concepts. The goal is not a simple robot, but a professional decision-making system with strong filters, risk control, and high-quality trade selection. The EA must include: 1. Multi-Timeframe Analysis - D1 / H4 / H1 bias - M15 / M5 entry confirmation - Bullish or bearish market structure - BOS, CHoCH
Intraday Trade Ninja EA — Complete Logic Structure This document maps the full architecture, execution logic, signal flow, trade management, and safety structure of the Intraday Trade Ninja MT4 Expert Advisor. 1. Core Indicators · ©Price Border (TMA bands) · MA-X Arrows · MA-Y Arrows · LeManSignal · EMA 49 & 89 - Per Candle Color Switching 2. EA Entry Architecture ·
Hi Developers, I am looking for an experienced MT4/MT5 EA developer to create an Expert Advisor based on my custom indicator along with a Trend Magic confirmation filter. I will provide: Raw Pine Script of my custom indicator Pine Script of Trend Magic indicator Important Note: My existing indicator requires slight correction/refinement because it occasionally fails to identify the required candle accurately
I have a 90% completed project with the execution part left to complete, I have been struggling to complete this section and I need help from someone expert in MQL5 with knowledge on forex trading and ICT Concepts coding. Contact me for further details
Hi, I am looking for someone to create me a trading indicator that will scalp the market 30-90 pips successfully in high volumes, I would like to be able to bridge this to create a signal channel for my community so it would need to have buy and sell indication on the indicator we run quite small stop losses so execution of trades can’t go in to draw down much alternatively create me a MT5 EA bot that scalps the
Hi basically I'm wanting an already made EA scalper that's constantly in and out of trades on the M1 time frame that has good risk management. It knows what it's doing. Most of its trades are profitable and that can start with £100. I am willing to pay up to £1000 for the right scalping bot. If you please have one and you're very confident in it, please allow me to use a live version to see how it does and if I'm
hello good evening All professional programmers! I'd like to request a special services I need a Gold and Silver trading bot like the one in the video, one that works on real accounts. My only request is that I don't pay any money until the bot is built and tested. Thank you very much please contact me as soon as possible for more information
Auto trading system on mobile with high probability win rate. Trades and auto trading system that works well on gold and forex, most important risk reward ratio. It must be 1:3 or more then that whenever possible

Project information

Budget
30+ USD