EA_Gold_MNAKOO

MQL4 エキスパート

指定

//+------------------------------------------------------------------+
//| 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 code
2
開発者 2
評価
(290)
プロジェクト
362
30%
仲裁
37
27% / 65%
期限切れ
10
3%
取り込み中
パブリッシュした人: 10 codes
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
評価
(438)
プロジェクト
649
53%
仲裁
35
63% / 20%
期限切れ
7
1%
仕事中
7
開発者 7
評価
(5)
プロジェクト
8
13%
仲裁
3
0% / 33%
期限切れ
2
25%
暇
パブリッシュした人: 1 code
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 codes
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 code
18
開発者 18
評価
(61)
プロジェクト
83
45%
仲裁
27
11% / 70%
期限切れ
8
10%
暇
19
開発者 19
評価
プロジェクト
0
0%
仲裁
0
期限切れ
0
仕事中
類似した注文
https://www.youtube.com/watch?v=xMNx8f-aGQE&amp ;t=56s risk 1% per trade watch the video carefully and automate the trade setups in XAUUSD i prefer picking the least drawdown and good return expert advisor do not use overfitting(Strict) account type : hedging
Vb flesh 30+ USD
#property strict #property version "1.00" #include <Trade/Trade.mqh> CTrade trade; // ===== ROBOT SETTINGS ===== input double Lots = 0.01; input int FastEMA = 9; // Blue line input int SlowEMA = 21; // Red line input int StopLossPoints = 300; input int TakeProfitPoints = 600; input ulong MagicNumber = 123456; // ===== INDICATOR HANDLES ===== int blueHandle; int redHandle; datetime lastBar = 0;
Bonjour , je cherche quelqu’un capable de crée un bot sur le gold type HFT , ouverture de plusieurs positions en quelques secondes , robot agressif , je cherche un robot qui marche sur du réel , qui a déjà était tester avec des résultats, pas basé que sur des backtest
Hello, I'm looking for an experienced MQL5 developer to build a clean and reliable Opening Range Breakout Expert Advisor for MetaTrader 5. I have previously experienced problems with EAs placing duplicate pending orders after terminal or VPS restarts. My priority is reliable execution, sensible risk management and an EA that I can confidently test and maintain. 1. Opening Range Strategy Platform: MetaTrader 5
Hi everyone. I came across a bot named ( Super Scalping EA Gold Tick Scalper ) in the free bots section on MQL5, and I’ve seen its trading results over a two-year period. I would like one of you to create a similar bot for gold trading that achieves the same (or very similar) results, but within a shorter timeframe—specifically 6 to 8 months. I also need the bot to be suitable for both small accounts ($30–$50) and
i have existing EA but its decrypted i dont have its source code , i want you to decrypt the EA and give me the original source code of it
Project: Custom MT5 Day Trading Expert Advisor I need a custom automated trading robot (EA) for MetaTrader 5, developed in MQL5. Markets: - Gold (XAUUSD) - Selected Forex pairs Trading style: Automated day trading. All positions should be closed according to predefined strategy rules and before the end of the selected trading session. Strategy: The developer should propose a clear trading strategy, explain its rules
Hi, I need NinjaTrader 8 Strategy Analyzer backtests on two of my strategies, each over 1 year AND 3 years of data. Please quote the full job. Common settings: NT8 Strategy Analyzer, MCL (Micro WTI Crude Oil) continuous front-month contract (MCL ##-##), 5-minute bars, 1yr + 3yr of the most recent data, $2.50 round-turn commission per contract. Deliverables per run: full Strategy Analyzer summary (net profit, profit
Hi, I need NinjaTrader 8 Strategy Analyzer backtests on two of my strategies, each over 1 year AND 3 years of data. Please quote the full job. Common settings: NT8 Strategy Analyzer, MCL (Micro WTI Crude Oil) continuous front-month contract (MCL ##-##), 5-minute bars, 1yr + 3yr of the most recent data, $2.50 round-turn commission per contract. Deliverables per run: full Strategy Analyzer summary (net profit, profit
1. Overview Build an MQL5 Expert Advisor for MetaTrader 5 that trades XAUUSD (Gold) as a scalper, using Heiken Ashi candles and a 50 EMA for entries. 2. Platform and symbol MetaTrader 5, Expert Advisor (.mq5 and compiled .ex5) Symbol: XAUUSD (must work with broker suffixes, e.g. XAUUSDm) Default timeframe: M5 (configurable; M1 to M15 should work) 3. Indicators Heiken Ashi candles, calculated inside the EA (no

プロジェクト情報

予算
100+ USD