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 Indikatoren Experten

Spezifikation

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;

}

Bewerbungen

1
Entwickler 1
Bewertung
(2)
Projekte
5
0%
Schlichtung
3
0% / 100%
Frist nicht eingehalten
1
20%
Arbeitet
2
Entwickler 2
Bewertung
(28)
Projekte
39
23%
Schlichtung
14
0% / 93%
Frist nicht eingehalten
4
10%
Arbeitet
3
Entwickler 3
Bewertung
(3)
Projekte
2
50%
Schlichtung
2
0% / 100%
Frist nicht eingehalten
0
Frei
4
Entwickler 4
Bewertung
(2)
Projekte
1
0%
Schlichtung
2
0% / 100%
Frist nicht eingehalten
0
Arbeitet
5
Entwickler 5
Bewertung
Projekte
0
0%
Schlichtung
0
Frist nicht eingehalten
0
Frei
Ähnliche Aufträge
Busco un robot para trading de scalping en oro o forex, el robot debe ser rentable en esos mercados, podemos automatizar mi estrategia basada en medias móviles con estrategia de scalping o bien si él desarollador tiene uno que funcione así y sea rentable podemos ver la opción de un demo o cuenta de lectura para estar seguros de la rentabilidad en el robot
MT4 EA TO TAKE TRADES FROM (A) HYDRA TREND RIDER AND (B) IQ GOLD GANN LEVELS ON MQL5.COM The MT4 version of these two indicators can be found on the mql5.com website with the following links: Hydra Trend Rider: https://www.mql5.com/en/market/product/111010?source=Site +Profile+Seller IQ Gold Gann Levels: https://www.mql5.com/en/market/product/134335?source=Site +Profile+Seller (1) ENTRY (a) Hydra Trend Rider
I have a strategy for US100 where I want a bot to trade according to my strategy, contact me who have proven experience in making bots for MT4 or MT5
I want a person who can help me to create bot. Setup would be 25 ema 50 ema cross over, when 25 ema cross 50 ema we will buy on upside and when it cross down side we will sell, condition is ADX I want to add ema of adx which I can explain in trading view only but I want to use this one in as a bot so how can we do it ? Need to do it in mt5 platform
Your job is to build an expert advisor exactly on the logic from transcation executed on a Live Account. I have read only access to the account and all data inside. I have 1 Month of Data of all Transactions over 5400 Trades. Its not super complicated. It is a GRID EA with some kind of entry/exit logic and hedging mechanism. Can you replicate/build the exact EA of this Data? It is running on XAU/USD and BTC/USD. All
I am currently looking to purchase a ready-made MT5 Expert Advisor designed specifically for prop firm trading . Requirements: Strategy must be safe for prop firm rules Maximum daily drawdown: below 4% Maximum overall drawdown: below 8% Target performance: 10% monthly return No martingale or high-risk grid strategies Must be able to run consistently on MT5 Purchase Conditions: I will require full source code (.mq5)
أنا أبحث عن مبرمج محترف لإنشاء روبوت تداول (Expert Advisor) يعمل على منصة MetaTrader 4 أو MetaTrader 5. مواصفات الروبوت: يعمل على زوج XAUUSD (الذهب) يفتح صفقة شراء أو بيع حسب الإشارة يعتمد على مؤشرين: Moving Average RSI عندما يتقاطع الموفينغ أفريج مع الاتجاه ويؤكد مؤشر RSI يتم فتح الصفقة. إدارة المخاطر: تحديد Stop Loss تحديد Take Profit عدم فتح أكثر من صفقة في نفس الوقت إمكانية تغيير الإعدادات بسهولة. مطلوب: كود نظيف
Job Description We are looking for an experienced MQL5 developer to build a professional Expert Advisor (EA) for MetaTrader 5 based on a detailed quantitative trading model. The EA will trade XAUUSD (Gold) on the M5 timeframe using a Session Breakout + Fibonacci Retracement strategy with advanced institutional-level filters. The system includes volatility filters, liquidity sweep detection, London session
I need an experienced MQL5 developer to modify my existing MT5 EA by replacing the current entry logic with a new breakout strategy and implementing strict prop-firm safety protections. The EA must behave exactly as specified below. If the final EA does not match the logic described, I will request revisions until it does. SYMBOL AND TIMEFRAME Symbol: USDJPY Timeframe: M15 only TRADING SESSION Trades may only open
I am looking to purchase an existing and profitable Expert Advisor (EA) designed for Gold (XAUUSD) scalping. This is not a request to develop a new EA . I am only interested in a ready system that is already trading profitably on a live account . Requirements • Designed for Gold / XAUUSD • Compatible with MetaTrader 5 (MT5) • Scalping strategy (preferably M1 or M5) • Verified live trading performance (preferably 6

Projektdetails

Budget
40+ USD
Ausführungsfristen
bis 1 Tag(e)