Fix an EA that isn't performing in the Strategy Tester

工作已完成

执行时间3 天
员工反馈
Good description of requirements specifications. Fast communication. Looking forward to working with you again

指定

The specifications:

This EA uses the RSI exclusively for trade opens and closes.  The RSI crosses 50 moving upward and alerts the EA to watch.  When it reaches 53 it triggers a buy order.  When the RSI reaches 70, it triggers a close order.  Conversely, when the RSI crosses 50 moving downward, it alerts the EA.  When it reaches 47 it triggers a sell order.  This order is closed at RSI 30.  There is also a contingency if the RSI crosses over the 50 moving the opposite direction that the trade would close.  

As much is in the existing code.

Currently, the EA will only open and close one trade in the Strategy Tester.  I would like you to modify the EA to operate according to these specifications.  

I would also like you to add a trailing stop that can be adjusted.


Here is the existing code:



// Global Variables

enum StateType {WATCHING, LONG_ENTRY, SHORT_ENTRY, CLOSE_TRADE};

StateType state = WATCHING;

double LotSize = 0.1;  // Lot size

double StopLoss = 20.0 * Point;  // Stop loss in price difference

double TakeProfit = 100.0 * Point;  // Take profit in price difference

int slippage = 3;

int RSI_Period = 14;


// OnTick function

void OnTick() {

    double currentRSI = iRSI(Symbol(), 0, RSI_Period, PRICE_CLOSE, 0);

    double previousRSI = iRSI(Symbol(), 0, RSI_Period, PRICE_CLOSE, 1);


    if (state == WATCHING) {

        if (currentRSI > 50 && previousRSI <= 50) {

            state = LONG_ENTRY;

        } else if (currentRSI < 50 && previousRSI >= 50) {

            state = SHORT_ENTRY;

        }

    }


    if (state == LONG_ENTRY && currentRSI >= 53) {

        PlaceLongOrder();

    } else if (state == SHORT_ENTRY && currentRSI <= 47) {

        PlaceShortOrder();

    }


    if (state == CLOSE_TRADE) {

        CloseTrade(currentRSI);

    }

}


// Function to place a long order

void PlaceLongOrder() {

    if (OrdersTotal() == 0) {

        double price = Ask;

        int ticket = OrderSend(Symbol(), OP_BUY, LotSize, price, slippage, price - StopLoss, price + TakeProfit, "Buy Order", 0, 0, clrGreen);

        if (ticket > 0) state = CLOSE_TRADE;

    }

}


// Function to place a short order

void PlaceShortOrder() {

    if (OrdersTotal() == 0) {

        double price = Bid;

        int ticket = OrderSend(Symbol(), OP_SELL, LotSize, price, slippage, price + StopLoss, price - TakeProfit, "Sell Order", 0, 0, clrRed);

        if (ticket > 0) state = CLOSE_TRADE;

    }

}


// Function to close the trade based on RSI

void CloseTrade(double currentRSI) {

    for (int i = 0; i < OrdersTotal(); i++) {

        if (OrderSelect(i, SELECT_BY_POS) && OrderSymbol() == Symbol()) {

            if ((OrderType() == OP_BUY && currentRSI >= 70) || (OrderType() == OP_SELL && currentRSI <= 30)) {

                bool closed = OrderClose(OrderTicket(), OrderLots(), (OrderType() == OP_BUY ? Bid : Ask), 3, clrRed);

                if (closed) state = WATCHING;

            } else if ((OrderType() == OP_BUY && currentRSI < 50) || (OrderType() == OP_SELL && currentRSI > 50)) {

                closed = OrderClose(OrderTicket(), OrderLots(), (OrderType() == OP_BUY ? Bid : Ask), 3, clrRed);

                if (closed) state = WATCHING;

            }

        }

    }

}

    



反馈

1
开发者 1
等级
(259)
项目
324
30%
仲裁
34
26% / 65%
逾期
10
3%
工作中
2
开发者 2
等级
(37)
项目
59
27%
仲裁
26
19% / 54%
逾期
10
17%
工作中
发布者: 1 代码
3
开发者 3
等级
(2668)
项目
3400
68%
仲裁
77
48% / 14%
逾期
342
10%
工作中
发布者: 1 代码
4
开发者 4
等级
(16)
项目
35
23%
仲裁
4
0% / 50%
逾期
2
6%
工作中
5
开发者 5
等级
(14)
项目
18
67%
仲裁
2
50% / 50%
逾期
3
17%
空闲
6
开发者 6
等级
(2325)
项目
2928
63%
仲裁
124
44% / 26%
逾期
429
15%
工作中
7
开发者 7
等级
项目
0
0%
仲裁
0
逾期
0
空闲
8
开发者 8
等级
项目
0
0%
仲裁
2
0% / 100%
逾期
0
空闲
9
开发者 9
等级
(43)
项目
66
12%
仲裁
12
58% / 42%
逾期
1
2%
空闲
10
开发者 10
等级
(50)
项目
51
8%
仲裁
0
逾期
0
空闲
相似订单
Noganda EA 30+ USD
*MQL5 Bot: “HH_HL_Simple.mq5”* Copy → Paste → Compile in MetaEditor. //+------------------------------------------------------------------+ //| HH_HL_Simple.mq5 | //| WARNING: FOR EDUCATION/DEMO ONLY. YOU CAN LOSE MONEY. | //| @kasii_trader_nela - Learn first, trade later | //+------------------------------------------------------------------+ #property copyright "Educational use only" #property strict #include
I need a simple bot for opening range. Simple Entry / Exit rules, to be able to customize the timeframe, time zone (entry candle) and other normal settings like size, etc
Nyctrad1 30+ USD
Free link free land free land free land free land free free land free land free things free land free land free land free land free land free land free land free Finch I will do it
Title Professional AI Automation Trading Bot for Forex & Crypto Solution Language Python (preferred) or MQL5 depending on integration requirements. Categories Expert Advisor (EA) for MetaTrader 5 Automated trading strategies AI/ML-based signal generation Risk management automation Required Skills Strong knowledge of MQL5/Python Experience with MetaTrader API integration Machine learning model deployment
BullyMax Pro 30+ USD
"Act as an expert MQL5 algorithmic trading developer. I want you to create a profitable and efficient Expert Advisor for MetaTrader 5. Do not write the code yet; read the following trading rules, analyze them, and ask me any clarifying questions if needed. Timeframe: [e.g.15 minutes Chart] Entry Logic: [e.g.MACD + RSI + REVERSAL PRICE ACTION. Enter buy when Macd line crosses above the signal line ,RSI above 30 and
I want an indicator that displays the risk reward ratio of each chart candle as a sub window histogram. If the candle closes above the open the histogram displays a green bar above zero the size of which is dependant on the size of the RRR. If the candle closes below the open the histogram displays a red bar below zero the size of which is dependant on the size of the RRR. My attempt that does not work is attached
Hi, I am looking for an experienced MQL5 developer to modify an existing, fully functional MetaTrader 5 Expert Advisor (Source code .mq5 Version 2.62 will be provided). Brief Overview of the EA: It executes trades based on 4 custom Supply/Demand levels (R1, R2, S1, S2) which are inputted manually . It uses two custom indicators for confirmation: SPA (Price Action filter) and AMG (Volume/Momentum filter). The code
I really like this platform. I am interested in trading and need funds for it. I enjoy both crypto and forex trading.I"really appreciate this platform. I am keen on trading and am looking for trading funds. I enjoy trading in both cryptocurrency and forex."
Titan Quantum Algo Engine V2 is an advanced MT5 Expert Advisor designed to identify high-probability market opportunities using trend analysis, breakout detection, and intelligent risk management. The EA automatically executes trades, manages stop-loss and take-profit levels, and helps traders maintain disciplined trading with optimized entry and exit strategies
The striker robot 30 - 2000 USD
I would like a trend and pullback strategy for the robot timeframe:15 minutes(m15) or 1 hour(h1) indicators:50 EMA (Exponential Moving Average)/200 EMA/RSI (14) BUY SET UP 1.Confirm The Trend .50 EMA must be above 200 EMA .Price must be above both EMAs 2.Wait for a pullback .Do not buy when the price shoots up. .Wait for the price to come back near the 50 EMA 3.Confirm entry .ENTER BUY WHEN: .A bullish candlestick

项目信息

预算
50+ USD
截止日期
 1  5 天