EA_Gold_MNAKOO

MQL4 Experten

Spezifikation

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

Dateien:

Bewerbungen

1
Entwickler 1
Bewertung
(160)
Projekte
203
60%
Schlichtung
10
80% / 0%
Frist nicht eingehalten
0
Frei
Veröffentlicht: 1 Beispiel
2
Entwickler 2
Bewertung
(263)
Projekte
329
29%
Schlichtung
36
25% / 64%
Frist nicht eingehalten
10
3%
Arbeitet
3
Entwickler 3
Bewertung
(33)
Projekte
38
21%
Schlichtung
5
0% / 60%
Frist nicht eingehalten
0
Frei
4
Entwickler 4
Bewertung
(328)
Projekte
513
19%
Schlichtung
35
43% / 31%
Frist nicht eingehalten
34
7%
Beschäftigt
5
Entwickler 5
Bewertung
(9)
Projekte
20
10%
Schlichtung
4
50% / 50%
Frist nicht eingehalten
5
25%
Frei
6
Entwickler 6
Bewertung
(434)
Projekte
638
53%
Schlichtung
32
59% / 22%
Frist nicht eingehalten
6
1%
Arbeitet
7
Entwickler 7
Bewertung
(5)
Projekte
8
13%
Schlichtung
3
0% / 33%
Frist nicht eingehalten
2
25%
Frei
Veröffentlicht: 1 Beispiel
8
Entwickler 8
Bewertung
(12)
Projekte
13
23%
Schlichtung
7
0% / 71%
Frist nicht eingehalten
3
23%
Arbeitet
9
Entwickler 9
Bewertung
(102)
Projekte
105
60%
Schlichtung
0
Frist nicht eingehalten
0
Frei
10
Entwickler 10
Bewertung
(3)
Projekte
6
17%
Schlichtung
0
Frist nicht eingehalten
3
50%
Frei
11
Entwickler 11
Bewertung
(4)
Projekte
2
0%
Schlichtung
5
0% / 80%
Frist nicht eingehalten
1
50%
Frei
12
Entwickler 12
Bewertung
(121)
Projekte
134
66%
Schlichtung
36
25% / 56%
Frist nicht eingehalten
22
16%
Frei
Veröffentlicht: 10 Beispiele
13
Entwickler 13
Bewertung
(471)
Projekte
490
75%
Schlichtung
6
67% / 17%
Frist nicht eingehalten
0
Frei
14
Entwickler 14
Bewertung
(108)
Projekte
177
25%
Schlichtung
24
17% / 75%
Frist nicht eingehalten
16
9%
Frei
15
Entwickler 15
Bewertung
(610)
Projekte
708
33%
Schlichtung
45
44% / 42%
Frist nicht eingehalten
14
2%
Beschäftigt
16
Entwickler 16
Bewertung
(2)
Projekte
1
0%
Schlichtung
1
0% / 100%
Frist nicht eingehalten
0
Frei
17
Entwickler 17
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
Veröffentlicht: 1 Beispiel
18
Entwickler 18
Bewertung
(60)
Projekte
82
44%
Schlichtung
27
11% / 70%
Frist nicht eingehalten
8
10%
Arbeitet
19
Entwickler 19
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Arbeitet
Ähnliche Aufträge
Standby Description . Prop Firm Environment . ( Monitor Execution and Handling Environment Changes as Required ) . Technical Issues . Delete extra lines of code (Clean Code , Folder) . Asset related translation , no need for Logic Alteration
Only Technical Issues . Familiarization to Different Symbols . [Again Technical Assistance Only] . Deleting extra lines of code , Not Required Folders (Clean Code) . No Need for Logic Alteration (Strictly)
PK bot 30 - 100000 USD
PROFESSIONAL PROMPT You are a senior quantitative developer and MQL5 Expert Advisor engineer with deep expertise in ICT (Inner Circle Trader), Smart Money Concepts (SMC), institutional trading, and algorithmic trading. Your task is to build a **fully automated MT5 Expert Advisor (.mq5 source code)** for **XAUUSD (Gold)** optimized specifically for the **15-minute timeframe (M15)**. This is NOT a simple EA. Build it
AI Photo to Video Conversion clip Note: This AI is windows software and will be installed in both old and new version of windows without any stress of any kind. Features Slidepage 1 behaviour: 1added: Attach Photo portion 1. Slidestyle : Wipe Right 2. Large portion for writing of text. 3. A man appealing English voice, the reader of text. 3a. Enable optional button, press to read in
MultiPair_PriceAction 30 - 200 USD
OANDA market watch clock and symbols (.sim) Multipair able so i can choose at least 6 of those more volatile forex pairs. Price Action setups instead of relay on lag indicators. But rsi for confirmation. Spread protection, position management, magic number editor, hours trading. Volatility protection Trailing Stop, Stop losses, take profit. Percentage and ATR scale instead of dollars or lot sizes. Funds management
Project Overview I am seeking an experienced MQL5 Expert Advisor (EA) developer to automate a systematic, multi-timeframe institutional trading framework specifically optimized for Spot Gold (XAUUSD) . The EA must programmatically map market structure, identify liquidity zones, and execute trades based on structural confirmations across three distinct timeframes: Daily (D1), 1-Hour (H1), and 15-Minute (M15) . Core
I need a trend following EA built that is based on a YouTube video that describes exactly how it works. Requires two time frames, one as the entry chart and a higher timeframe as a trend direction. I require the source code after job completion
I want an autotrading demo account on FBS configured with a free expert advisor on a cheap and reliable VPS that can be logged on from MT5 Android mobile app. The favorite symbols should include at least 2 forex major and 2 crypto pairs
Looking for an MT5 Expert Advisor developer with: Minimum 1 year of verified activity on the MetaTrader Market Positive, real user reviews Ability to build EAs without Bollinger Bands Fully configurable parameters (risk, filters, SL/TP, trading hours) Free test version available before any payment Clear communication and ongoing support If you meet these requirements, please send your MQL5 profile or portfolio
I want to create a EA based on an existing EA. I want to create a COPY of same EA. This is a Grid based EA and do averaging when market goes against it. While doing Averaging it keeps on taking trades and booking profits

Projektdetails

Budget
100+ USD