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

Spezifikation

//+------------------------------------------------------------------+
//| $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++;
      }
   }
}
//+------------------------------------------------------------------+

Bewerbungen

1
Entwickler 1
Bewertung
(258)
Projekte
322
30%
Schlichtung
34
26% / 65%
Frist nicht eingehalten
10
3%
Arbeitet
2
Entwickler 2
Bewertung
(382)
Projekte
493
23%
Schlichtung
59
56% / 25%
Frist nicht eingehalten
57
12%
Beschäftigt
3
Entwickler 3
Bewertung
(2)
Projekte
2
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
4
Entwickler 4
Bewertung
(104)
Projekte
127
24%
Schlichtung
23
30% / 52%
Frist nicht eingehalten
8
6%
Frei
5
Entwickler 5
Bewertung
(279)
Projekte
376
72%
Schlichtung
19
32% / 47%
Frist nicht eingehalten
14
4%
Frei
Veröffentlicht: 14 Beispiele
6
Entwickler 6
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
7
Entwickler 7
Bewertung
(2)
Projekte
3
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
8
Entwickler 8
Bewertung
(258)
Projekte
265
29%
Schlichtung
0
Frist nicht eingehalten
3
1%
Frei
Veröffentlicht: 2 Beispiele
9
Entwickler 9
Bewertung
(454)
Projekte
717
34%
Schlichtung
34
71% / 9%
Frist nicht eingehalten
22
3%
Frei
10
Entwickler 10
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
11
Entwickler 11
Bewertung
(198)
Projekte
255
21%
Schlichtung
22
50% / 18%
Frist nicht eingehalten
0
Arbeitet
12
Entwickler 12
Bewertung
(578)
Projekte
669
32%
Schlichtung
42
45% / 45%
Frist nicht eingehalten
12
2%
Überlastet
13
Entwickler 13
Bewertung
(33)
Projekte
36
33%
Schlichtung
5
0% / 80%
Frist nicht eingehalten
0
Arbeitet
Veröffentlicht: 2 Beispiele
14
Entwickler 14
Bewertung
(46)
Projekte
59
53%
Schlichtung
7
86% / 0%
Frist nicht eingehalten
2
3%
Arbeitet
15
Entwickler 15
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
16
Entwickler 16
Bewertung
(314)
Projekte
560
35%
Schlichtung
80
31% / 44%
Frist nicht eingehalten
203
36%
Beschäftigt
17
Entwickler 17
Bewertung
(2)
Projekte
2
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
18
Entwickler 18
Bewertung
(268)
Projekte
600
35%
Schlichtung
64
20% / 58%
Frist nicht eingehalten
147
25%
Arbeitet
Veröffentlicht: 1 Artikel, 22 Beispiele
19
Entwickler 19
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
20
Entwickler 20
Bewertung
(640)
Projekte
864
48%
Schlichtung
29
38% / 17%
Frist nicht eingehalten
63
7%
Arbeitet
21
Entwickler 21
Bewertung
(512)
Projekte
551
53%
Schlichtung
13
69% / 15%
Frist nicht eingehalten
3
1%
Frei
22
Entwickler 22
Bewertung
(11)
Projekte
18
28%
Schlichtung
4
50% / 50%
Frist nicht eingehalten
1
6%
Frei
23
Entwickler 23
Bewertung
(62)
Projekte
90
29%
Schlichtung
24
13% / 58%
Frist nicht eingehalten
7
8%
Arbeitet
24
Entwickler 24
Bewertung
(4)
Projekte
5
0%
Schlichtung
1
100% / 0%
Frist nicht eingehalten
1
20%
Beschäftigt
25
Entwickler 25
Bewertung
(363)
Projekte
436
54%
Schlichtung
21
52% / 14%
Frist nicht eingehalten
30
7%
Beschäftigt
26
Entwickler 26
Bewertung
(250)
Projekte
460
26%
Schlichtung
139
20% / 60%
Frist nicht eingehalten
100
22%
Frei
27
Entwickler 27
Bewertung
(6)
Projekte
7
43%
Schlichtung
1
0% / 100%
Frist nicht eingehalten
0
Frei
28
Entwickler 28
Bewertung
(8)
Projekte
8
0%
Schlichtung
2
50% / 0%
Frist nicht eingehalten
1
13%
Arbeitet
29
Entwickler 29
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
30
Entwickler 30
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
Ähnliche Aufträge
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
I’m looking for an experienced MetaTrader 4 (MT4) developer to analyze, repair, and live-test an existing .EX4 Expert Advisor. Project Details Existing file: GannMadeEasy_pro.ex4 Platform: MetaTrader 4 Issue: EA is not loading properly on charts in newer MT4 builds Goal: Make the EA fully functional and compatible with current MT4 versions Requirements The developer must: Analyze the existing EX4 file Identify
i need the EA same working on trading view chart with same specifications of enter in a trade and sl/tp open 2 trades and 1 trade set tp1 & second trade set to tp 3 but sl should move to breakeven when tp1 hit and go to tp2 sl on tp1

Projektdetails

Budget
30 - 300 USD
MwSt (21%): 6.3 - 63 USD
Insgesamt: 36 - 363 USD
Für die Entwickler
27 - 270 USD
Ausführungsfristen
von 5 bis 20 Tag(e)

Kunde

Veröffentlichte Aufträge1
Anzahl der Schlichtungen0