EA_Gold_MNAKOO

MQL4 Experts

Termos de Referência

//+------------------------------------------------------------------+
//| XAUUSD Automated Forex Robot                                     |
//| Enhanced Version with Error Handling and Improvements           |
//+------------------------------------------------------------------+
input int FastMA = 10;                 // Fast moving average period
input int SlowMA = 50;                 // Slow moving average period
input int RSI_Period = 14;             // RSI period
input double Overbought = 70;          // RSI overbought level
input double Oversold = 30;            // RSI oversold level
input double RiskPercent = 1.0;        // Risk per trade as a percentage of account equity
input double ATRMultiplier = 2.0;      // ATR multiplier for stop-loss
input double TrailingStop = 300;       // Trailing stop in points
input double MinLotSize = 0.01;        // Minimum lot size
input double LotStep = 0.01;           // Lot size increment
input int ATR_Period = 14;             // ATR period
input int MaxSlippage = 3;             // Maximum slippage in points
input int MAGIC_NUMBER = 123456;       // Unique identifier for trades
input string TradeComment = "XAUUSD Bot"; // Trade comment

//+------------------------------------------------------------------+
//| OnTick Function - Main Logic                                     |
//+------------------------------------------------------------------+
void OnTick() {
    // Calculate indicators
    static double fastMA, slowMA, rsi, atr;
    fastMA = iMA(NULL, 0, FastMA, 0, MODE_EMA, PRICE_CLOSE, 0);
    slowMA = iMA(NULL, 0, SlowMA, 0, MODE_EMA, PRICE_CLOSE, 0);
    rsi = iRSI(NULL, 0, RSI_Period, PRICE_CLOSE, 0);
    atr = iATR(NULL, 0, ATR_Period, 0);

    // Check for existing trades
    bool buyOpen = IsTradeOpen(OP_BUY);
    bool sellOpen = IsTradeOpen(OP_SELL);

    // Entry logic
    if (fastMA > slowMA && rsi > Oversold && rsi < 50 && !buyOpen) {
        // Buy Signal
        double sl = Bid - ATRMultiplier * atr;
        double tp = Bid + ATRMultiplier * atr * 2;
        double lotSize = CalculateLotSize(sl);
        OpenTrade(OP_BUY, lotSize, sl, tp);
    }

    if (fastMA < slowMA && rsi < Overbought && rsi > 50 && !sellOpen) {
        // Sell Signal
        double sl = Ask + ATRMultiplier * atr;
        double tp = Ask - ATRMultiplier * atr * 2;
        double lotSize = CalculateLotSize(sl);
        OpenTrade(OP_SELL, lotSize, sl, tp);
    }

    // Exit logic (Close trades when conditions reverse)
    if (buyOpen && (fastMA < slowMA || rsi >= Overbought)) {
        CloseTrade(OP_BUY);
    }

    if (sellOpen && (fastMA > slowMA || rsi <= Oversold)) {
        CloseTrade(OP_SELL);
    }

    // Manage Trailing Stop
    ManageTrailingStop();
}

//+------------------------------------------------------------------+
//| Calculate Lot Size Based on Risk                                 |
//+------------------------------------------------------------------+
double CalculateLotSize(double stopLossPrice) {
    double accountEquity = AccountEquity();
    double riskAmount = (RiskPercent / 100) * accountEquity;
    double stopLossDistance = MathAbs(Bid - stopLossPrice);
    double lotSize = riskAmount / (stopLossDistance * MarketInfo(Symbol(), MODE_TICKVALUE));

    // Adjust lot size to broker limits
    lotSize = MathMax(lotSize, MinLotSize);
    lotSize = NormalizeDouble(MathFloor(lotSize / LotStep) * LotStep, 2);
    return lotSize;
}

//+------------------------------------------------------------------+
//| Open Trade Function                                              |
//+------------------------------------------------------------------+
void OpenTrade(int tradeType, double lotSize, double stopLoss, double takeProfit) {
    double price = tradeType == OP_BUY ? Ask : Bid;
    int ticket = OrderSend(Symbol(), tradeType, lotSize, price, MaxSlippage, stopLoss, takeProfit, TradeComment, MAGIC_NUMBER, 0, Blue);
    if (ticket < 0) {
        int errorCode = GetLastError();
        Print("Error opening trade: ", errorCode, ". Retrying...");
        Sleep(1000); // Retry after 1 second
        ticket = OrderSend(Symbol(), tradeType, lotSize, price, MaxSlippage, stopLoss, takeProfit, TradeComment, MAGIC_NUMBER, 0, Blue);
        if (ticket < 0) {
            Print("Failed to open trade after retry. Error: ", GetLastError());
        }
    } else {
        Print("Trade opened: ", ticket);
    }
}

//+------------------------------------------------------------------+
//| Close Trade Function                                             |
//+------------------------------------------------------------------+
void CloseTrade(int tradeType) {
    for (int i = OrdersTotal() - 1; i >= 0; i--) {
        if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
            if (OrderSymbol() == Symbol() && OrderType() == tradeType && OrderMagicNumber() == MAGIC_NUMBER) {
                int ticket = OrderClose(OrderTicket(), OrderLots(), tradeType == OP_BUY ? Bid : Ask, MaxSlippage, Red);
                if (ticket < 0) {
                    Print("Error closing trade: ", GetLastError());
                } else {
                    Print("Trade closed: ", ticket);
                }
            }
        }
    }
}

//+------------------------------------------------------------------+
//| Manage Trailing Stop Function                                    |
//+------------------------------------------------------------------+
void ManageTrailingStop() {
    for (int i = OrdersTotal() - 1; i >= 0; i--) {
        if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
            if (OrderSymbol() == Symbol() && OrderMagicNumber() == MAGIC_NUMBER) {
                double newStopLoss;
                if (OrderType() == OP_BUY) {
                    newStopLoss = Bid - TrailingStop * Point;
                    if (newStopLoss > OrderStopLoss()) {
                        OrderModify(OrderTicket(), OrderOpenPrice(), newStopLoss, OrderTakeProfit(), 0, Blue);
                    }
                } else if (OrderType() == OP_SELL) {
                    newStopLoss = Ask + TrailingStop * Point;
                    if (newStopLoss < OrderStopLoss()) {
                        OrderModify(OrderTicket(), OrderOpenPrice(), newStopLoss, OrderTakeProfit(), 0, Blue);
                    }
                }
            }
        }
    }
}

//+------------------------------------------------------------------+
//| Check if Trade Exists                                            |
//+------------------------------------------------------------------+
bool IsTradeOpen(int tradeType) {
    for (int i = OrdersTotal() - 1; i >= 0; i--) {
        if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
            if (OrderSymbol() == Symbol() && OrderType() == tradeType && OrderMagicNumber() == MAGIC_NUMBER) {
                return true;
            }
        }
    }
    return false;
}

Arquivos anexados:

Respondido

1
Desenvolvedor 1
Classificação
(162)
Projetos
209
61%
Arbitragem
10
80% / 0%
Expirado
0
Livre
Publicou: 1 código
2
Desenvolvedor 2
Classificação
(289)
Projetos
361
30%
Arbitragem
37
27% / 65%
Expirado
10
3%
Carregado
Publicou: 10 códigos
3
Desenvolvedor 3
Classificação
(33)
Projetos
38
21%
Arbitragem
5
0% / 60%
Expirado
0
Livre
4
Desenvolvedor 4
Classificação
(329)
Projetos
515
19%
Arbitragem
35
46% / 31%
Expirado
34
7%
Trabalhando
5
Desenvolvedor 5
Classificação
(9)
Projetos
20
10%
Arbitragem
4
50% / 50%
Expirado
5
25%
Livre
6
Desenvolvedor 6
Classificação
(437)
Projetos
648
53%
Arbitragem
35
63% / 20%
Expirado
7
1%
Trabalhando
7
Desenvolvedor 7
Classificação
(5)
Projetos
8
13%
Arbitragem
3
0% / 33%
Expirado
2
25%
Livre
Publicou: 1 código
8
Desenvolvedor 8
Classificação
(12)
Projetos
13
23%
Arbitragem
7
0% / 71%
Expirado
3
23%
Trabalhando
9
Desenvolvedor 9
Classificação
(102)
Projetos
105
60%
Arbitragem
0
Expirado
0
Livre
10
Desenvolvedor 10
Classificação
(3)
Projetos
6
17%
Arbitragem
0
Expirado
3
50%
Livre
11
Desenvolvedor 11
Classificação
(4)
Projetos
2
0%
Arbitragem
5
0% / 80%
Expirado
1
50%
Livre
12
Desenvolvedor 12
Classificação
(121)
Projetos
134
66%
Arbitragem
36
25% / 56%
Expirado
22
16%
Livre
Publicou: 10 códigos
13
Desenvolvedor 13
Classificação
(472)
Projetos
491
75%
Arbitragem
6
67% / 17%
Expirado
0
Trabalhando
14
Desenvolvedor 14
Classificação
(111)
Projetos
184
25%
Arbitragem
25
16% / 76%
Expirado
16
9%
Livre
15
Desenvolvedor 15
Classificação
(631)
Projetos
739
34%
Arbitragem
49
53% / 39%
Expirado
15
2%
Trabalhando
16
Desenvolvedor 16
Classificação
(2)
Projetos
1
0%
Arbitragem
1
0% / 100%
Expirado
0
Livre
17
Desenvolvedor 17
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
Publicou: 1 código
18
Desenvolvedor 18
Classificação
(61)
Projetos
83
45%
Arbitragem
27
11% / 70%
Expirado
8
10%
Livre
19
Desenvolvedor 19
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Trabalhando
Pedidos semelhantes
Hi All, I am looking for a EA which makes good profit, If any having please share it for TEST, After proper TESTING only I will make the payment, no cheating no fraud, Please do not waste the time also
Custom MT5 Expert Advisor (EA) Development | MQL5 Automation Turn Your Trading Strategy into a Powerful Automated Trading System! Are you looking for a professional MT5 Expert Advisor developer to automate your trading strategy? I specialize in developing custom MetaTrader 5 (MT5) Expert Advisors and indicators using MQL5 , tailored to your trading rules, risk management preferences, and trading goals. Whether you
Mt5 to mt5 copier 30 - 50 USD
Hi Team i am looking for the copier, to copy trades to and mt5 broker where the EA Trading is Disabled. when we setup a market trade copiers, it alerts EA Trading is Disabled by the broker. can we develop the copy trading EA which and operate in this environment
Nayan4602 30+ USD
""" Market entry on EUR/USD with 0.01 lot, using the account that is ALREADY logged in inside the running MetaTrader 5 terminal. """ import MetaTrader5 as mt5 # ---------------- Config ---------------- SYMBOL = "EURUSD" LOT = 0.01 SIDE = "BUY" # "BUY" or "SELL" DEVIATION = 20 # max slippage in points MAGIC = 234000 SL_POINTS = 0 # 0 = no stop loss, 200 = 20 pips on a 5-digit feed TP_POINTS = 0 # 0 =
Hello, I’d like to develop an AI-powered analysis dashboard for , with a clear, easy-to-use design that works on mobile and web, or on the platform we agree on. I’d like it to include: Main dashboard: Show the market status, the latest data update, and the current signal, if available, including direction, entry price, stop loss, targets, and risk-to-reward ratio. AI signal explanations: Explain in clear language why
Scalping bort 30+ USD
GOLD SCALPING BOT STRATEGY Symbol: XAUUSD (Gold vs USD) Broker: Exness Account: Standard Starting Balance: $20 1. TIMEFRAME - Trend analysis: M15. - Entry timeframe: M5. - Trade only when the market has a clear direction. 2. INDICATORS - EMA 50 - EMA 200 - RSI 14 - Support and Resistance 3. BUY RULES The bot must open a BUY trade only when all these conditions are met: 1. EMA 50 is above EMA 200 on M15. 2. Price is
I am looking for an experienced MT5 Expert Advisor developer to build an automated Gold (XAUUSD) trading bot. My requirements are: Automatically identify and draw supply and demand zones on the chart. Identify Order Blocks, Fair Value Gaps (FVG), liquidity sweeps and Market Structure Shifts (MSS/CHoCH). Analyse multiple timeframes and use a higher-timeframe directional bias without unnecessarily blocking valid trades
MT5 EA 30 - 100 USD
I’m looking for a **ready-made MT5 scalping EA specifically for Gold (XAUUSD)**. My main requirement is an **HTF scalping strategy**, so I’m looking for an existing robot that is already developed and can be tested before I make the purchase. I would like to test on demo account first, Any available backtest or trading results * Whether I can test it on a demo account * Your price and licensing details I’m
Hello, I am looking for an experienced MQL5 developer to create a professional, reliable, fully customizable Expert Advisor (EA) and trading signal system for MetaTrader 5. 1. Supported Markets The EA must support: Gold (XAUUSD) Silver (XAGUSD) Nasdaq 100 (NAS100/US100) Forex currency pairs Bitcoin (BTCUSD) It must work with MT5 brokers, including Tickmill, where these instruments are available. 2. Two Trading Modes
Hi all I'm looking for a good coder Existing Automated Trading System (Expert Advisor) This EA’s building block is the Bheurekso Pattern (which uses price action) indicators. 1. **Indicator Integration**: The EA should be developed utilizing the Bheurekso pattern indicator. 2. **Sell Signals**: The EA must execute a sell order upon the appearance of any of the following bearish signals or a down arrow that appears

Informações sobre o projeto

Orçamento
100+ USD