EA_Gold_MNAKOO

MQL4 EA

명시

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

파일:

응답함

1
개발자 1
등급
(162)
프로젝트
209
61%
중재
10
80% / 0%
기한 초과
0
무료
게재됨: 1 코드
2
개발자 2
등급
(289)
프로젝트
361
30%
중재
37
27% / 65%
기한 초과
10
3%
로드됨
게재됨: 10 코드
3
개발자 3
등급
(33)
프로젝트
38
21%
중재
5
0% / 60%
기한 초과
0
무료
4
개발자 4
등급
(329)
프로젝트
515
19%
중재
35
46% / 31%
기한 초과
34
7%
작업중
5
개발자 5
등급
(9)
프로젝트
20
10%
중재
4
50% / 50%
기한 초과
5
25%
무료
6
개발자 6
등급
(437)
프로젝트
648
53%
중재
35
63% / 20%
기한 초과
7
1%
작업중
7
개발자 7
등급
(5)
프로젝트
8
13%
중재
3
0% / 33%
기한 초과
2
25%
무료
게재됨: 1 코드
8
개발자 8
등급
(12)
프로젝트
13
23%
중재
7
0% / 71%
기한 초과
3
23%
작업중
9
개발자 9
등급
(102)
프로젝트
105
60%
중재
0
기한 초과
0
무료
10
개발자 10
등급
(3)
프로젝트
6
17%
중재
0
기한 초과
3
50%
무료
11
개발자 11
등급
(4)
프로젝트
2
0%
중재
5
0% / 80%
기한 초과
1
50%
무료
12
개발자 12
등급
(121)
프로젝트
134
66%
중재
36
25% / 56%
기한 초과
22
16%
무료
게재됨: 10 코드
13
개발자 13
등급
(472)
프로젝트
491
75%
중재
6
67% / 17%
기한 초과
0
작업중
14
개발자 14
등급
(111)
프로젝트
184
25%
중재
25
16% / 76%
기한 초과
16
9%
무료
15
개발자 15
등급
(631)
프로젝트
739
34%
중재
49
53% / 39%
기한 초과
15
2%
작업중
16
개발자 16
등급
(2)
프로젝트
1
0%
중재
1
0% / 100%
기한 초과
0
무료
17
개발자 17
등급
프로젝트
0
0%
중재
0
기한 초과
0
무료
게재됨: 1 코드
18
개발자 18
등급
(61)
프로젝트
83
45%
중재
27
11% / 70%
기한 초과
8
10%
무료
19
개발자 19
등급
프로젝트
0
0%
중재
0
기한 초과
0
작업중
비슷한 주문
I’m looking for an experienced Pine Script developer to build a custom H1 price-action indicator. Requirements: Calculate levels using H1 candles only. Use New York RTH (9:30 AM–4:00 PM), excluding extended hours. Create horizontal levels when candle direction changes; dojis break the sequence. Invalidate levels only when an H1 candle body crosses them, not wicks. Confirm levels after the RTH session closes to
MT5 Trading EA — EMA/RSI Strategy with Risk Management and Trade Protection Hello, I'm looking for an experienced MQL5 developer to build a reliable Expert Advisor for MetaTrader 5 based on a simple trend-following strategy. My main priority is not adding as many features as possible. I want a clean, dependable EA that follows the specified rules consistently in both Strategy Tester and live/demo trading. 1. Trading
MT5 to DxTrade, MT5 to NinjaTrader 8, MT5 to Tradovate - Does anyone have a working copy trading system for this - like already existing system for any of this platforms, don’t want dev saying they will build one, I want copier already working - MT5 to DxTrade (Good), To Tradovate and NT8 might be complex as they are future based. That is why I asked for working system and code. Deliver demo - with a week limit if
To create a unique description that meets the freelance site's requirements, you can type the following: "I am looking for an experienced MQL5 developer to create a custom Forex Expert Advisor. The trading strategy should be based on a moving average crossover system, filtered by the Relative Strength Index indicator. The expert advisor needs to feature distinct strategy modules with adjustable settings for the
Mt5 35+ USD
//+------------------------------------------------------------------+ //| HedgingBasket_EA.mq5 | //| Copyright 2026, Trading Bot | //+------------------------------------------------------------------+ #property copyright "Trading Assistant" #property version "1.00" #include <Trade\Trade.mqh> CTrade trade; //--- Input parameters input group "=== Hedging Settings ===" input double InpLotSize = 0.01; // Lot Size for
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

프로젝트 정보

예산
100+ USD