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 Indicadores Experts

Termos de Referência

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;

}

Respondido

1
Desenvolvedor 1
Classificação
(2)
Projetos
5
0%
Arbitragem
3
0% / 100%
Expirado
1
20%
Trabalhando
2
Desenvolvedor 2
Classificação
(28)
Projetos
39
23%
Arbitragem
14
0% / 93%
Expirado
4
10%
Livre
3
Desenvolvedor 3
Classificação
(3)
Projetos
2
50%
Arbitragem
2
0% / 100%
Expirado
0
Livre
4
Desenvolvedor 4
Classificação
(2)
Projetos
1
0%
Arbitragem
2
0% / 100%
Expirado
0
Trabalhando
5
Desenvolvedor 5
Classificação
Projetos
0
0%
Arbitragem
0
Expirado
0
Livre
Pedidos semelhantes
Com este Expert Advisor, você pode comprar e vender com um stop loss automático aplicado no momento da compra ou venda. Você pode personalizar seu nível de risco aceitável. Seu gerenciamento de riscos se torna mais preciso e elimina perdas potenciais antes que o gráfico mude. Com o botão "reverter ordem", você pode fechar a ordem atual com lucro e imediatamente colocar a mesma ordem na direção oposta. Aproveite
I already have a fully developed MT5 Expert Advisor with all required prop firm features, including: Risk management Daily loss & max drawdown limits Spread & slippage filters News filter Trade management system The EA structure is complete. 👉 What I need is a professional developer to replace ONLY the entry logic with a high-quality, rule-based trading strategy. 🚨 STRICT REQUIREMENT (READ CAREFULLY): I am NOT
Trade summary Plugin 200 - 500 USD
We are looking for a Plugin/ Dashboard for our Meta 5 which will act as a Risk Management/ information tool. the system will require to give real time summary of trades and P/L for certain groups
Looking for a Proven Non-Repainting Gold Indicator (XAUUSD) – High Accuracy & Ready-Made Solutions Only 📌 Project Description: I am looking for a high-quality, non-repainting indicator specifically for XAUUSD (Gold) that is already developed and tested. ⚠️ Important: I am NOT looking for a new indicator to be built from scratch. I want an existing, proven system that you have already created and are confident in. 🎯
The Advisor should stop trading if the spread exceeds a selected value. Source code is unavailable. Decompilation may be necessary or any other suggested working solution may be acceptable. Testing should be thorough with proven demonstrable results
Convert Time Range Breakout Indicator to Strategy (Pine Script) I have an existing Time Range Breakout indicator on TradingView. I need a developer to convert it into a fully functional strategy with proper trade execution logic. Strategy Logic: Time Range: Define a specific time range (e.g., 03:00 – 04:30) During this time, the indicator marks the High and Low range Entry Conditions Buy when price touches the range
Hello, I’m looking for an experienced MQL4 developer to build a custom MT4 Expert Advisor based on a Koncorde-style indicator strategy. Here are the main requirements: 🔹 General Overview The EA must be a master EA , running on a single chart and managing multiple currency pairs simultaneously No need to attach EA to each chart Must support a configurable list of symbols 🔹 Indicator Requirement Develop a custom
I want to find a Developer to perform this work and settle payments in this Application. I undertake not to communicate with Applicants anywhere else except this Application, including third-party
Hi guys I’m looking for a coder who’s experienced in one script. The candidate must be familiar with fractals and self similarity. If you can’t code self similarity, please don’t bother contacting me ( respectfully). I just don’t want us to waste each others time. My budget is 100$. If that’s too low for you please, don’t contact me. Only contact me if you can code self similarity and can accept 100$. I will provide
I hope to acquire a profitable and existing expert advisor (EA) from the gold market, with complete source code, to add to our client portfolio. you can WECHAT: Faca7898 Please note EA when adding friends. It should be clarified that this does not require you to formulate or design new strategies. If you already have a verified, consistent, and production-ready EA, I am willing to purchase it immediately and engage

Informações sobre o projeto

Orçamento
40+ USD
Prazo
para 1 dias