I need help editing an existing code. I would like my order to go off at a fixed price. example if GBPUSD hits 1.35420 my order opens.

MQL4 Indicators Experts

Specification

the sl doesnt work  i want the tp logic to remain

i need the trend direction fucntion tow ork i the trend is up then only buys if down only sells

i need the fibo nacci fucntion to work as well

and the flat zone function to work as well


and i need the code to trade 1% of the balance 


//+------------------------------------------------------------------+

//|                                                   US500_EA.mq4   |

//|                                  Copyright 2024, MetaQuotes Ltd. |

//|                                             https://www.mql5.com |

//+------------------------------------------------------------------+

#property copyright "Copyright 2024, MetaQuotes Ltd."

#property link      "https://www.mql5.com"

#property version   "1.07"

#property strict


// Input parameters

extern int SMA14_Period = 14;

extern int SMA50_Period = 50;

extern int SMA100_Period = 100;

extern int DistinctTrend_Period = 10; // Period for detecting distinct trend

extern int FlatRange_Period = 5;      // Period for detecting flat range

extern int MagicNumber = 12345;


// Global variables for trading

double sma14, sma50, sma100;

double upper15Percent, lower15Percent;


// Constants for US500 on IC Markets

const string SYMBOL = "US500";

const double LOT_SIZE = 1.0;

const double POINT_VALUE = 0.1; // Adjust this based on IC Markets' US500 contract specifications

const double STOP_LOSS_POINTS = 1.75; // Stop loss in points

const double TAKE_PROFIT_POINTS = 1.5; // Take profit in points


// Line names for chart objects

const string SMA14_LINE = "SMA14_Line";

const string SMA50_LINE = "SMA50_Line";

const string SMA100_LINE = "SMA100_Line";


//+------------------------------------------------------------------+

//| Expert initialization function                                   |

//+------------------------------------------------------------------+

int OnInit()

{

    // Check if the current symbol is US500

    if (Symbol() != SYMBOL)

    {

        Print("This EA is designed to work only with ", SYMBOL);

        return INIT_FAILED;

    }


    return(INIT_SUCCEEDED);

}


//+------------------------------------------------------------------+

//| Expert deinitialization function                                 |

//+------------------------------------------------------------------+

void OnDeinit(const int reason)

{

    // Remove all chart objects created by this EA

    ObjectsDeleteAll(0, OBJ_TREND);

}


//+------------------------------------------------------------------+

//| Expert tick function                                             |

//+------------------------------------------------------------------+

void OnTick()

{

    // Calculate and draw SMAs

    CalculateAndDrawIndicators();


    // Check if there's already an open trade

    if (IsTradeOpen())

    {

        return; // Exit the function as we don't want to open new trades

    }


    // Determine market conditions

    double highestHigh = High[iHighest(NULL, 0, MODE_HIGH, 100, 0)];

    double lowestLow = Low[iLowest(NULL, 0, MODE_LOW, 100, 0)];

    double range = highestHigh - lowestLow;

    upper15Percent = highestHigh - 0.15 * range;

    lower15Percent = lowestLow + 0.15 * range;


    bool distinctUptrend = IsDistinctTrend(1);

    bool distinctDowntrend = IsDistinctTrend(-1);

    bool inFibZone = (Bid >= upper15Percent || Bid <= lower15Percent);

    double currentSpread = MarketInfo(Symbol(), MODE_SPREAD) * POINT_VALUE;


    // Trading logic

    if (sma14 > sma50 && distinctUptrend && !inFibZone && !IsFlatRange())

    {

        OpenOrder(OP_BUY, currentSpread);

    }

    else if (sma14 < sma50 && distinctDowntrend && !inFibZone && !IsFlatRange())

    {

        OpenOrder(OP_SELL, currentSpread);

    }

}


//+------------------------------------------------------------------+

//| Calculate and draw SMAs                                          |

//+------------------------------------------------------------------+

void CalculateAndDrawIndicators()

{

    int draw_begin = Bars - 1000; // Draw for the last 1000 bars

    

    // Calculate current SMA values

    sma14 = iMA(NULL, 0, SMA14_Period, 0, MODE_SMA, PRICE_CLOSE, 0);

    sma50 = iMA(NULL, 0, SMA50_Period, 0, MODE_SMA, PRICE_CLOSE, 0);

    sma100 = iMA(NULL, 0, SMA100_Period, 0, MODE_SMA, PRICE_CLOSE, 0);

    

    DrawSMA(SMA14_LINE, SMA14_Period, draw_begin, Blue);

    DrawSMA(SMA50_LINE, SMA50_Period, draw_begin, Red);

    DrawSMA(SMA100_LINE, SMA100_Period, draw_begin, Green);

}


//+------------------------------------------------------------------+

//| Draw an SMA line on the chart                                    |

//+------------------------------------------------------------------+

void DrawSMA(const string name, const int period, const int draw_begin, const color line_color)

{

    ObjectDelete(name);

    ObjectCreate(name, OBJ_TREND, 0, Time[draw_begin], iMA(NULL, 0, period, 0, MODE_SMA, PRICE_CLOSE, draw_begin), 

                 Time[0], iMA(NULL, 0, period, 0, MODE_SMA, PRICE_CLOSE, 0));

    ObjectSetInteger(0, name, OBJPROP_COLOR, line_color);

    ObjectSetInteger(0, name, OBJPROP_WIDTH, 1);

    ObjectSetInteger(0, name, OBJPROP_RAY_RIGHT, true);

}


//+------------------------------------------------------------------+

//| Check if the market is in a distinct trend                       |

//+------------------------------------------------------------------+

bool IsDistinctTrend(int direction)

{

    for (int i = 1; i <= DistinctTrend_Period; i++)

    {

        double previousSMA100 = iMA(NULL, 0, SMA100_Period, 0, MODE_SMA, PRICE_CLOSE, i);

        if (direction * (sma100 - previousSMA100) <= 0)

            return false;

    }

    return true;

}


//+------------------------------------------------------------------+

//| Check if the market is in a flat range                           |

//+------------------------------------------------------------------+

bool IsFlatRange()

{

    double previousSMA100 = iMA(NULL, 0, SMA100_Period, 0, MODE_SMA, PRICE_CLOSE, 1);

    double previousSMA50 = iMA(NULL, 0, SMA50_Period, 0, MODE_SMA, PRICE_CLOSE, 1);

    

    return (MathAbs(sma100 - sma50) < FlatRange_Period * POINT_VALUE &&

            MathAbs(sma100 - previousSMA100) < 0.001 &&

            MathAbs(sma50 - previousSMA50) < 0.001);

}


//+------------------------------------------------------------------+

//| Open an order                                                    |

//+------------------------------------------------------------------+

void OpenOrder(int orderType, double spread)

{

    // First, check if there's already an open trade

    if (IsTradeOpen())

    {

        Print("A trade is already open. Skipping new order.");

        return;

    }


    double price = (orderType == OP_BUY) ? Ask : Bid;

    

    // Calculate stop loss: 1.75 points plus spread

    double stopLossDistance = STOP_LOSS_POINTS * POINT_VALUE + spread;

    double stopLoss = (orderType == OP_BUY) ? NormalizeDouble(price - stopLossDistance, Digits)

                                            : NormalizeDouble(price + stopLossDistance, Digits);

    

    // Calculate take profit: 1.5 points net

    double takeProfitDistance = TAKE_PROFIT_POINTS * POINT_VALUE + spread; // Adding spread to make it net

    double takeProfit = (orderType == OP_BUY) ? NormalizeDouble(price + takeProfitDistance, Digits)

                                              : NormalizeDouble(price - takeProfitDistance, Digits);


    int ticket = OrderSend(SYMBOL, orderType, LOT_SIZE, price, 3, stopLoss, takeProfit, "US500 Order", MagicNumber, 0, clrGreen);

    if (ticket < 0) 

    {

        Print("OrderSend failed with error #", GetLastError());

    }

    else

    {

        Print("Order opened successfully. Ticket: ", ticket, ", Stop Loss: ", stopLoss, ", Take Profit: ", takeProfit);

    }

}


//+------------------------------------------------------------------+

//| Check if there's an open trade                                   |

//+------------------------------------------------------------------+

bool IsTradeOpen()

{

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

    {

        if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES))

        {

            if (OrderSymbol() == SYMBOL && OrderMagicNumber() == MagicNumber)

            {

                return true;

            }

        }

    }

    return false;

}

Responded

1
Developer 1
Rating
(2)
Projects
5
0%
Arbitration
1
0% / 100%
Overdue
1
20%
Working
2
Developer 2
Rating
(27)
Projects
36
25%
Arbitration
1
0% / 0%
Overdue
4
11%
Working
3
Developer 3
Rating
(3)
Projects
2
50%
Arbitration
1
0% / 100%
Overdue
0
Free
4
Developer 4
Rating
(2)
Projects
1
0%
Arbitration
1
0% / 100%
Overdue
0
Working
5
Developer 5
Rating
Projects
0
0%
Arbitration
0
Overdue
0
Free
Similar orders
Ethereum EA 30 - 35 USD
I am looking for an Expert Advisor (EA) that performs well on Ethereum. Ideally it should be an HFT-style EA; a swing trading EA is acceptable. I require the full MQL5 source code — the EA must be written entirely in MQL5 (no external languages such as Python). Performance target: minimum 70% win rate with a 1:1 risk:reward. Input variables required: - Stop Levels: Stop Loss (SL) and Take Profit (TP) - Trailing stop
To eliminate this difficulty, use the expert's example: EA 24658754 MAKE THE MODIFICATION IN THE EXPERTS' FILES: EA_MT4, EA_MT5 Add this: input bool ShowInfo = false ; // Show Info to Chart input ENUM_BASE_CORNER Corner = 1 ; // Info Corner input color Color_Info = clrAqua ; // Info Color Add this: //+------------------------------------------------------------------+ //| Print
Job Description I am looking for a highly skilled MQL5 DEVELOPER and A TRADER to work on an MT5 Expert Advisor (EA) project. The main tasks will include: 1. Code Compilation & Optimization – Reviewing, compiling, and streamlining the existing EA code to ensure efficiency and stability. 2. Backtesting Setup & Execution – Running professional backtests to ensure the EA produces consistent, gradual profit growth curves
i want to create an indicator based on fib levels, the developer must understand how the fib levels work or have experience in forex or stocks also i would like to add two MA for direction of the market. please contact me and i will give more information about the project
The service of an experience EA coder with experience in Indicator trading on Muti Time frame The ea already installed with indicators. It has Telegram Bot message The details of the task involve will be provided after you apply Time Required maximum of 5 days Testing required 15 days (this depend on ea functionality the time can be extended if ea is not working (testing on vps or local laptop) Amount $30 Bonus of $3
Updated EA Description (with Max. Open Trades & MTF MA Filter) Core Features (already existing): Candlestick formation entry logic. Daily minimum drawdown & maximum profit target. ATR-based stop loss and take profit. Trailing stop. Breakeven. New Additions: Relative Strength Index (RSI): Flexible parameters (user can edit period & levels). Used for both entry confirmation and exit options. Stochastic Oscillator
About the Role We are looking for an experienced MetaTrader 4 (MT4) developer with a strong understanding of Smart Money Concepts (SMC) in trading. The ideal candidate will have hands-on experience in developing custom indicators and Expert Advisors, with the ability to translate advanced trading rules (Swing High/Low, BOS/CHoCH, Order Blocks, FVGs, Liquidity, Fibonacci zones, etc.) into reliable and efficient MT4
I want an automated trading bot, and before i will purchase here's want i want as a proof. Trading proof: Screenshots or verified logs showing real trading history, including entry and exit points, profit/loss, and trading duration. Chart evidence: Visual charts demonstrating the bot’s trading activity, backtests, or live trading performance. Additional details: Please include any relevant performance metrics
I'm looking for an experienced MQL5 developer and trader to assist with the refinement, backtesting, and live trading optimization of a custom Expert Advisor (EA). The EA is based on a pure breakout strategy on XAUUSD. The main goals are: 1. Compile and straighten the code – ensure error-free, optimized, and professional coding standards. 2. Run and set up backtesting – produce results with gradual positive
READ CAREFULLY And if you have done 50 projects before then apply others i will reject SEPARATE LOGIC MUST BE SEPARATE AND ALL INPUTS MUST BE VISIBLE WITH FALSE TRUE OPTION TO ON OFF FUNCTION 🔺 BUY Signal (Boom Market) ✅ Pattern Formation (Spike-Based Buy Setup) First Spike : Large bullish spike candle . Mitigation Candle : Small bearish candle inside or partially inside the bullish spike. Second Spike

Project information

Budget
40+ USD
For the developer
36 USD
Deadline
to 1 day(s)