Simple MA Crossover with very powerful money management for both MQL4 and MQL5

Spécifications

//+------------------------------------------------------------------+
//| $10 Smart Scalping Bot for MT5 |
//| EURGBP + AUDUSD + XAGUSD Optimized |
//+------------------------------------------------------------------+
#property strict

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

//========================= INPUTS ==================================
input double LotSize = 0.01;

input int FastEMA = 20;
input int SlowEMA = 50;
input int RSIPeriod = 14;

input double BuyRSI = 55.0;
input double SellRSI = 45.0;

input int StopLoss = 150;
input int TakeProfit = 350;

input int MaxSpread = 35;

input int MaxOpenTrades = 1;
input int MaxDailyLosses = 3;

input bool UseTrailingStop = true;
input int TrailingStop = 80;

//========================= VARIABLES ===============================
int fastEMAHandle;
int slowEMAHandle;
int rsiHandle;

double fastEMA[];
double slowEMA[];
double rsi[];

int dailyLosses = 0;

//+------------------------------------------------------------------+
//| Expert Initialization |
//+------------------------------------------------------------------+
int OnInit()
{
   // Allow only these symbols
   if(_Symbol != "EURGBP" &&
      _Symbol != "AUDUSD" &&
      _Symbol != "XAGUSD")
   {
      Print("Use only EURGBP, AUDUSD or XAGUSD");
      return(INIT_FAILED);
   }

   // Create indicators
   fastEMAHandle = iMA(_Symbol, PERIOD_M5, FastEMA, 0, MODE_EMA, PRICE_CLOSE);
   slowEMAHandle = iMA(_Symbol, PERIOD_M5, SlowEMA, 0, MODE_EMA, PRICE_CLOSE);
   rsiHandle = iRSI(_Symbol, PERIOD_M5, RSIPeriod, PRICE_CLOSE);

   if(fastEMAHandle == INVALID_HANDLE ||
      slowEMAHandle == INVALID_HANDLE ||
      rsiHandle == INVALID_HANDLE)
   {
      Print("Indicator creation failed");
      return(INIT_FAILED);
   }

   Print("Smart $10 Scalper Loaded");

   return(INIT_SUCCEEDED);
}

//+------------------------------------------------------------------+
//| Main Trading Logic |
//+------------------------------------------------------------------+
void OnTick()
{
   // Daily protection
   if(dailyLosses >= MaxDailyLosses)
   {
      Print("Daily loss limit reached.");
      return;
   }

   // Max open trades protection
   if(PositionsTotal() >= MaxOpenTrades)
   {
      ManageTrailingStop();
      return;
   }

   // Spread filter
   double spread =
      (SymbolInfoDouble(_Symbol, SYMBOL_ASK) -
       SymbolInfoDouble(_Symbol, SYMBOL_BID)) / _Point;

   if(spread > MaxSpread)
      return;

   // Get indicator values
   CopyBuffer(fastEMAHandle, 0, 0, 3, fastEMA);
   CopyBuffer(slowEMAHandle, 0, 0, 3, slowEMA);
   CopyBuffer(rsiHandle, 0, 0, 3, rsi);

   double ask = SymbolInfoDouble(_Symbol, SYMBOL_ASK);
   double bid = SymbolInfoDouble(_Symbol, SYMBOL_BID);

   //================ BUY CONDITIONS =================
   bool buySignal =
      fastEMA[1] < slowEMA[1] &&
      fastEMA[0] > slowEMA[0] &&
      rsi[0] > BuyRSI;

   if(buySignal)
   {
      double sl = ask - StopLoss * _Point;
      double tp = ask + TakeProfit * _Point;

      trade.Buy(LotSize, _Symbol, ask, sl, tp, "BUY");
   }

   //================ SELL CONDITIONS ================
   bool sellSignal =
      fastEMA[1] > slowEMA[1] &&
      fastEMA[0] < slowEMA[0] &&
      rsi[0] < SellRSI;

   if(sellSignal)
   {
      double sl = bid + StopLoss * _Point;
      double tp = bid - TakeProfit * _Point;

      trade.Sell(LotSize, _Symbol, bid, sl, tp, "SELL");
   }

   // Trailing stop
   ManageTrailingStop();
}

//+------------------------------------------------------------------+
//| Trailing Stop Function |
//+------------------------------------------------------------------+
void ManageTrailingStop()
{
   if(!UseTrailingStop)
      return;

   for(int i = PositionsTotal() - 1; i >= 0; i--)
   {
      ulong ticket = PositionGetTicket(i);

      if(PositionSelectByTicket(ticket))
      {
         double currentSL = PositionGetDouble(POSITION_SL);
         double tp = PositionGetDouble(POSITION_TP);

         ENUM_POSITION_TYPE type =
            (ENUM_POSITION_TYPE)PositionGetInteger(POSITION_TYPE);

         double priceCurrent;

         // BUY POSITION
         if(type == POSITION_TYPE_BUY)
         {
            priceCurrent = SymbolInfoDouble(_Symbol, SYMBOL_BID);

            double newSL = priceCurrent - TrailingStop * _Point;

            if(newSL > currentSL)
            {
               trade.PositionModify(ticket, newSL, tp);
            }
         }

         // SELL POSITION
         if(type == POSITION_TYPE_SELL)
         {
            priceCurrent = SymbolInfoDouble(_Symbol, SYMBOL_ASK);

            double newSL = priceCurrent + TrailingStop * _Point;

            if(currentSL == 0 || newSL < currentSL)
            {
               trade.PositionModify(ticket, newSL, tp);
            }
         }
      }
   }
}

//+------------------------------------------------------------------+
//| Track Losing Trades |
//+------------------------------------------------------------------+
void OnTradeTransaction(
   const MqlTradeTransaction &trans,
   const MqlTradeRequest &request,
   const MqlTradeResult &result)
{
   if(trans.type == TRADE_TRANSACTION_DEAL_ADD)
   {
      double profit = HistoryDealGetDouble(trans.deal, DEAL_PROFIT);

      if(profit < 0)
      {
         dailyLosses++;
      }
   }
}
//+------------------------------------------------------------------+

Répondu

1
Développeur 1
Évaluation
(258)
Projets
322
30%
Arbitrage
34
26% / 65%
En retard
10
3%
Travail
2
Développeur 2
Évaluation
(382)
Projets
493
23%
Arbitrage
59
56% / 25%
En retard
57
12%
Chargé
3
Développeur 3
Évaluation
(2)
Projets
2
0%
Arbitrage
0
En retard
0
Gratuit
4
Développeur 4
Évaluation
(104)
Projets
127
24%
Arbitrage
23
30% / 52%
En retard
8
6%
Gratuit
5
Développeur 5
Évaluation
(279)
Projets
376
72%
Arbitrage
19
32% / 47%
En retard
14
4%
Gratuit
Publié : 14 codes
6
Développeur 6
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
7
Développeur 7
Évaluation
(2)
Projets
3
0%
Arbitrage
0
En retard
0
Gratuit
8
Développeur 8
Évaluation
(258)
Projets
265
29%
Arbitrage
0
En retard
3
1%
Gratuit
Publié : 2 codes
9
Développeur 9
Évaluation
(454)
Projets
717
34%
Arbitrage
34
71% / 9%
En retard
22
3%
Gratuit
10
Développeur 10
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
11
Développeur 11
Évaluation
(198)
Projets
255
21%
Arbitrage
22
50% / 18%
En retard
0
Travail
12
Développeur 12
Évaluation
(578)
Projets
669
32%
Arbitrage
42
45% / 45%
En retard
12
2%
Occupé
13
Développeur 13
Évaluation
(33)
Projets
36
33%
Arbitrage
5
0% / 80%
En retard
0
Travail
Publié : 2 codes
14
Développeur 14
Évaluation
(46)
Projets
59
53%
Arbitrage
7
86% / 0%
En retard
2
3%
Travail
15
Développeur 15
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
16
Développeur 16
Évaluation
(314)
Projets
560
35%
Arbitrage
80
31% / 44%
En retard
203
36%
Chargé
17
Développeur 17
Évaluation
(2)
Projets
2
0%
Arbitrage
0
En retard
0
Gratuit
18
Développeur 18
Évaluation
(268)
Projets
600
35%
Arbitrage
64
20% / 58%
En retard
147
25%
Travail
Publié : 1 article, 22 codes
19
Développeur 19
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
20
Développeur 20
Évaluation
(640)
Projets
864
48%
Arbitrage
29
38% / 17%
En retard
63
7%
Travail
21
Développeur 21
Évaluation
(512)
Projets
551
53%
Arbitrage
13
69% / 15%
En retard
3
1%
Gratuit
22
Développeur 22
Évaluation
(11)
Projets
18
28%
Arbitrage
4
50% / 50%
En retard
1
6%
Gratuit
23
Développeur 23
Évaluation
(62)
Projets
90
29%
Arbitrage
24
13% / 58%
En retard
7
8%
Travail
24
Développeur 24
Évaluation
(4)
Projets
5
0%
Arbitrage
1
100% / 0%
En retard
1
20%
Chargé
25
Développeur 25
Évaluation
(363)
Projets
436
54%
Arbitrage
21
52% / 14%
En retard
30
7%
Chargé
26
Développeur 26
Évaluation
(250)
Projets
460
26%
Arbitrage
139
20% / 60%
En retard
100
22%
Gratuit
27
Développeur 27
Évaluation
(6)
Projets
7
43%
Arbitrage
1
0% / 100%
En retard
0
Gratuit
28
Développeur 28
Évaluation
(8)
Projets
8
0%
Arbitrage
2
50% / 0%
En retard
1
13%
Travail
29
Développeur 29
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
30
Développeur 30
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
31
Développeur 31
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
32
Développeur 32
Évaluation
Projets
0
0%
Arbitrage
0
En retard
0
Gratuit
33
Développeur 33
Évaluation
(3)
Projets
1
0%
Arbitrage
5
0% / 100%
En retard
0
Gratuit
Commandes similaires
Prepare expert for xauusd live chart [ expert is not executing trades on xauusd ] . Deletion and cleaning code . Trailing Stop Rule to follow the given method . Live Chart Only
SNIPER X AI 30 - 120 USD
I need help in building a Robot SNIPER X AI — FINAL BUILD Trading System Type AI Scalping + Sniper Entry Expert Advisor Platforms MetaTrader 4 MetaTrader 5 Supported Brokers � exness.com � justmarkets.com � deriv.com Universal MT4/MT5 broker support FINAL CORE FEATURES ✅ AI Scalping Engine ✅ Sniper Entries ✅ Auto Buy/Sell ✅ EMA Trend Detection ✅ RSI Momentum Filter ✅ Smart Stop Loss ✅ Dynamic Take Profit ✅ Trailing
Am looking for Professional programmer who can build below analysis bot as specified below. The indicators will be provided. 🔷 1. CORE ARCHITECTURE OF YOUR EA Your EA has 3 modes: ✅ Mode 1: Indicator 1 Strategy (9-Signal Engine) ✅ Mode 2: Indicator 2 Strategy (Multi-indicator confluence) ✅ Mode 3: Hybrid Mode (Indicator 1 filters Indicator 2) 🔷 2. PAIR SELECTION LOGIC EA will NOT auto-scan market (based on your
Matriks programında güzel bir stratejim var, meta da kayıtlı olmayan iki indikatörümü de metaya yükledim, stratejim belli, ama robot oluşturmak konusunda bilgim eksik. Yardım istiyorum. Acil dönüş bekliyorum. 12-276 üssel ortalamayı hangi yöne keserse, alphatrend indikaörüde bunu desteklesin, kendi gömdüpüm diğer bir indikatörde seviyelere göre alsın satsın
Hi. Could you slightly rewrite my cBot for me to use a 5-minute chart without a fixed target? The stop should be a trailing stop at the level of the initial range
MT5 EA Developer for Structured ICT/SMC Market Logic Requirements Specification: I need an MT5 Expert Advisor only in MQL5. No indicator, no script, no DLL, and no external API. The EA must be built on a rule-based ICT/SMC-style framework with objective, backtestable logic. I am not looking for social-media-style ICT/SMC interpretation. I need a developer who can convert trading concepts into clear coding rules. The
Hi all, I am looking for a top-rated, experienced MQL5 developer to code Phase 1 (Retail Version) of an advanced Expert Advisor for MetaTrader 5. Key Requirements: 1. Pure Price Action Strategy: Uses H4 Trend Filter (Swing High/Low) and H1 Execution (Wick Scanning >= 66% & Engulfing Candlesticks). Places orders via Buy/Sell Limit at Fibonacci 50% level of the candle body (with Giant Candle threshold rules). 2
I want a mobile bot to trade automatically on my behalf must have experience and be willing to verify your work. It must be profitable and user friendly be easy to use and connect. You'll be given a share of profits
Szukam doświadczonego programisty do stworzenia dedykowanego doradcy eksperckiego (EA) do tradingu. Programista powinien posiadać solidną wiedzę z zakresu MT5, logiki strategii, wskaźników, zarządzania ryzykiem i backtestingu. Doświadczenie w tworzeniu niezawodnych i profesjonalnych robotów handlowych będzie dodatkowym atutem. Proszę o kontakt, jeśli zrealizowałeś już podobne projekty. wszystkie szczeguły podam w
Looking for an experienced programmer to create a fully automated trading system. The EA must be able to detect SPECIFIC H&Shoulder patterns, identify entry point and open a position. Parameters: Candle Count : EX: 50 - meaning the max amount of candle history to look for a pattern. (user adjustable) RISK: EG "2" Meaning the position that must be opened must be 2% of the Balance of the account (user adjustable). The

Informations sur le projet

Budget
30 - 300 USD
TVA (21%): 6.3 - 63 USD
Total: 36 - 363 USD
Pour le développeur
27 - 270 USD
Délais
de 5 à 20 jour(s)

Client

Commandes passées1
Nombre d'arbitrages0