“Seeking EA Developer for Automated NAS100 Trading with News Filter and Breakout Strategy”

Şartname

This is what I got so far with deepseek: Could you create an Expert Advisor (EA) based on the following detailed trading strategy?

1. Risk-to-Reward Ratio
The EA should maintain a minimum risk-to-reward ratio of 5:1.
I am willing to risk no more than 1% of my total account size per trade.

2. News Avoidance and Timing Adjustments
The EA should automatically avoid trading during major and medium-impact news events by integrating an economic calendar or news filter.
Key Rules Regarding News:
If news events occur between 7:30 AM and 9:00 AM CST (Central Standard Time), the EA must wait for the news to take place and only start trading 15 minutes after the last news event.
If news candles break the initial 2:00 AM–7:00 AM range:
If the highs of the initial range are broken, the EA can trade breakouts of the news candle highs (in the direction of the broken range) or breakouts of the initial range lows (in the opposite direction).
If the lows of the initial range are broken, the EA can trade breakouts of the news candle lows (in the direction of the broken range) or breakouts of the initial range highs (in the opposite direction).
If the news candles do not break either side of the initial range, the EA can still trade breakouts of the unbroken side of the initial range, provided a 5-minute full-body candle breaks the range.
No trades should be entered after 12:00 PM CST.

3. Trading Instrument and Timeframe
The EA will trade the NAS100 index on the 5-minute timeframe.
The initial price range to monitor is the range established between 2:00 AM and 7:00 AM CST (adjusted to align with my broker’s timezone of GMT+2).
The range is defined by the highest and lowest points of the candle bodies (excluding wicks) during this period.

4. Entry Criteria
The EA should place trades only when the range is broken by a full-body candle closure.
A full-body candle is defined as one with at least a 70% body-to-wick ratio.
Trade logic:
If the initial range is broken by news candles, you can trade both in the direction of the news breakout (either highs or lows of the news candles) or in the opposite direction of the breakout (the unbroken side of the original range).
If the news candles do not break the range, the EA can trade the breakout of the unbroken side of the original range using a 5-minute full-body candle.

5. Stop-Loss and Take-Profit Rules
Initial Stop-Loss: 25 points.
Take-Profit Target: 125 points.
Break-Even Rule: Once the price moves 50 points in profit, the stop-loss should automatically be moved to breakeven.

6. Example Trade Setup
I have attached an example image of a trade setup for reference.

7. Broker Timezone and Adjustments
My broker’s timezone is GMT+2, while my local time is CST (Central Standard Time). Please ensure the range calculations are adjusted accordingly (i.e., 2:00 AM to 7:00 AM CST).

Could you ensure the EA incorporates these details, especially the logic for trading the opposite direction of the news candles as well as the unbroken side of the initial range? Let me know if anything needs further clarification! Here's a conceptual outline for the Expert Advisor (EA) based on your strategy. Note that full implementation requires integration with an economic calendar (external service) and thorough backtesting:

```mq4
//+------------------------------------------------------------------+
//|                                              NAS100_NewsEA.mq4   |
//|                        Copyright 2023, Your Company Name         |
//|                                        https://www.yourdomain.com|
//+------------------------------------------------------------------+
#property copyright "Copyright 2023"
#property version   "1.00"
#property strict

//--- Input Parameters
input double RiskPercent     = 1.0;     // Risk per trade (%)
input int    StopLossPoints  = 25;      // SL (points)
input int    TakeProfitPoints= 125;     // TP (points)
input int    BreakEvenPoints = 50;      // BE at (points)

//--- Global Variables
double initialRangeHigh, initialRangeLow;
datetime newsAvoidStart, newsAvoidEnd;
bool rangeBroken = false;

//+------------------------------------------------------------------+
//| Expert initialization function                                   |
//+------------------------------------------------------------------+
int OnInit()
{
   DetermineInitialRange();
   DetermineNewsPeriods(); // Requires integration with news source
   return(INIT_SUCCEEDED);
}

//+------------------------------------------------------------------+
//| Expert tick function                                             |
//+------------------------------------------------------------------+
void OnTick()
{
   if(!IsTradingAllowed()) return;
   
   static datetime lastBarTime;
   if(Time[0] == lastBarTime) return;
   lastBarTime = Time[0];
   
   CheckTradingConditions();
   ManageOpenPositions();
}

//+------------------------------------------------------------------+
//| Determine Initial Price Range                                    |
//+------------------------------------------------------------------+
void DetermineInitialRange()
{
   datetime cstStart = ConvertCSTToServer(2, 0);   // 2:00 AM CST
   datetime cstEnd = ConvertCSTToServer(7, 0);     // 7:00 AM CST
   
   initialRangeHigh = 0;
   initialRangeLow = EMPTY_VALUE;
   
   for(int i = iBarShift(NULL, 0, cstStart); i >= iBarShift(NULL, 0, cstEnd); i--)
   {
      double bodyHigh = MathMax(Open[i], Close[i]);
      double bodyLow = MathMin(Open[i], Close[i]);
      
      if(bodyHigh > initialRangeHigh) initialRangeHigh = bodyHigh;
      if(bodyLow < initialRangeLow) initialRangeLow = bodyLow;
   }
}

//+------------------------------------------------------------------+
//| Check Trading Conditions                                         |
//+------------------------------------------------------------------+
void CheckTradingConditions()
{
   // Check news impact
   if(IsNewsEvent()) return;
   
   // Check trading hours
   if(TimeCurrent() > ConvertCSTToServer(12, 0)) return; // 12:00 PM CST
   
   // Check breakout conditions
   CheckRangeBreakouts();
}

//+------------------------------------------------------------------+
//| Range Breakout Logic                                             |
//+------------------------------------------------------------------+
void CheckRangeBreakouts()
{
   // Check for valid breakout candle
   if(IsFullBodyCandle(0))
   {
      // Bullish breakout
      if(Close[0] > initialRangeHigh && !rangeBroken)
      {
         OpenTrade(OP_BUY);
         rangeBroken = true;
      }
      // Bearish breakout
      else if(Close[0] < initialRangeLow && !rangeBroken)
      {
         OpenTrade(OP_SELL);
         rangeBroken = true;
      }
   }
}

//+------------------------------------------------------------------+
//| Trade Management                                                 |
//+------------------------------------------------------------------+
void OpenTrade(int cmd)
{
   double lots = CalculateLots();
   int ticket = OrderSend(_Symbol, cmd, lots, 
                         cmd == OP_BUY ? Ask : Bid, 
                         3, 0, 0, "NewsBreakout", 0);
   
   if(ticket > 0)
   {
      double sl = cmd == OP_BUY ? Bid - StopLossPoints*Point : Ask + StopLossPoints*Point;
      double tp = cmd == OP_BUY ? Bid + TakeProfitPoints*Point : Ask - TakeProfitPoints*Point;
      OrderModify(ticket, 0, sl, tp, 0);
   }
}

//+------------------------------------------------------------------+
//| Money Management                                                 |
//+------------------------------------------------------------------+
double CalculateLots()
{
   double riskAmount = AccountBalance() * RiskPercent / 100;
   double tickValue = MarketInfo(_Symbol, MODE_TICKVALUE);
   return NormalizeDouble(riskAmount / (StopLossPoints * tickValue), 2);
}

//+------------------------------------------------------------------+
//| News Handling Functions (Placeholder - Requires Implementation)  |
//+------------------------------------------------------------------+
bool IsNewsEvent()
{
   // Requires integration with news API/calendar
   return false;
}

datetime ConvertCSTToServer(int hour, int minute)
{
   // CST to GMT+2 conversion (requires DST handling)
   return StrToTime(TimeToStr(TimeCurrent() - (8 * 3600) + (hour * 3600) + (minute * 60)));
}

//+------------------------------------------------------------------+
//| Additional Required Functions                                    |
//+------------------------------------------------------------------+
bool IsFullBodyCandle(int bar)
{
   double body = MathAbs(Close[bar] - Open[bar]);
   double range = High[bar] - Low[bar];
   return (range > 0) && (body/range >= 0.7);
}

void ManageOpenPositions()
{
   for(int i = OrdersTotal()-1; i >= 0; i--)
   {
      if(OrderSelect(i, SELECT_BY_POS))
      {
         if(OrderProfit() >= BreakEvenPoints*Point)
         {
            if(OrderStopLoss() != OrderOpenPrice())
               OrderModify(OrderTicket(), OrderOpenPrice(), OrderOpenPrice(), OrderTakeProfit(), 0);
         }
      }
   }
}
```

**Important Notes:**

1. **News Integration Required:** The `IsNewsEvent()` function needs integration with an economic calendar API (e.g., Forex Factory, FXCM API). This is not implemented here due to platform limitations.

2. **Time Zone Handling:** The `ConvertCSTToServer()` function assumes a fixed 8-hour offset. You may need to adjust for daylight saving time changes.

3. **Range Calculation:** The EA calculates the initial range using the first 5-minute bars of the trading day.

4. **Risk Management:** Position sizing automatically calculates based on 1% risk and 25-point stop loss.

5. **Order Management:** Implements break-even functionality at 50 points profit.

For a complete implementation, you would need to:

1. Integrate a news feed API
2. Implement proper timezone conversion with DST handling
3. Add error handling for order operations
4. Implement the counter-trend trading logic described
5. Add comprehensive logging and debugging features

Yanıtlandı

1
Geliştirici 1
Derecelendirme
(329)
Projeler
515
19%
Arabuluculuk
35
46% / 31%
Süresi dolmuş
34
7%
Çalışıyor
2
Geliştirici 2
Derecelendirme
(51)
Projeler
71
37%
Arabuluculuk
4
25% / 75%
Süresi dolmuş
1
1%
Serbest
Yayınlandı: 1 kod
3
Geliştirici 3
Derecelendirme
(1)
Projeler
1
0%
Arabuluculuk
1
0% / 100%
Süresi dolmuş
0
Serbest
4
Geliştirici 4
Derecelendirme
Projeler
0
0%
Arabuluculuk
1
0% / 100%
Süresi dolmuş
0
Serbest
5
Geliştirici 5
Derecelendirme
(33)
Projeler
35
20%
Arabuluculuk
5
40% / 40%
Süresi dolmuş
0
Serbest
Yayınlandı: 1 kod
6
Geliştirici 6
Derecelendirme
(7)
Projeler
13
15%
Arabuluculuk
13
23% / 46%
Süresi dolmuş
3
23%
Serbest
Yayınlandı: 35 makale
7
Geliştirici 7
Derecelendirme
(8)
Projeler
9
56%
Arabuluculuk
0
Süresi dolmuş
0
Serbest
8
Geliştirici 8
Derecelendirme
(366)
Projeler
447
55%
Arabuluculuk
23
57% / 17%
Süresi dolmuş
30
7%
Çalışıyor
9
Geliştirici 9
Derecelendirme
(5)
Projeler
8
13%
Arabuluculuk
3
0% / 33%
Süresi dolmuş
2
25%
Serbest
Yayınlandı: 1 kod
10
Geliştirici 10
Derecelendirme
(78)
Projeler
246
74%
Arabuluculuk
7
100% / 0%
Süresi dolmuş
1
0%
Serbest
Yayınlandı: 1 makale
11
Geliştirici 11
Derecelendirme
(258)
Projeler
267
30%
Arabuluculuk
1
0% / 0%
Süresi dolmuş
3
1%
Yüklendi
Yayınlandı: 2 kod
12
Geliştirici 12
Derecelendirme
(45)
Projeler
46
24%
Arabuluculuk
34
9% / 85%
Süresi dolmuş
10
22%
Serbest
13
Geliştirici 13
Derecelendirme
(162)
Projeler
289
35%
Arabuluculuk
18
22% / 61%
Süresi dolmuş
43
15%
Serbest
14
Geliştirici 14
Derecelendirme
(28)
Projeler
39
23%
Arabuluculuk
14
0% / 93%
Süresi dolmuş
4
10%
Serbest
15
Geliştirici 15
Derecelendirme
(322)
Projeler
499
67%
Arabuluculuk
5
40% / 0%
Süresi dolmuş
4
1%
Serbest
Yayınlandı: 8 kod
16
Geliştirici 16
Derecelendirme
(2)
Projeler
1
0%
Arabuluculuk
1
0% / 100%
Süresi dolmuş
0
Serbest
17
Geliştirici 17
Derecelendirme
(1)
Projeler
2
0%
Arabuluculuk
2
50% / 50%
Süresi dolmuş
0
Serbest
Benzer siparişler
Cerco uno sviluppatore MQL5 esperto per lavorare su un Expert Advisor (EA) XAUUSD per MetaTrader 5 già esistente , versione attuale XAU_V59.mq5 . L'obiettivo è modificare, correggere e sviluppare il codice esistente senza stravolgere la logica già presente , mantenendo le regole ei parametri già definiti, salvo le modifiche espressamente richieste. REQUISITI FONDAMENTALI Il codice deve essere scritto in MQL5 nativo e
EA Development Requirements Exact Pine Script Conversion: The EA must replicate my Pine Script exactly — including Support/Resistance, Liquidity Grab/Sweep, 30 EMA, Entry, SL, TP, Partial Booking and Breakeven . No assumptions or changes to the logic. Accurate Entries: The EA must enter exactly according to the Pine Script conditions, including the correct candle and price level after the Support/Resistance or
Wisdow forex 50 - 100 USD
market structure - uptrend , downtrend , sideways candlestick basics - bullish , bearish , doji , engulfing support & resistance zone trendline & channels volume basics risk management (1-2% rule ) trading psychology basics moving averages ( EMA 8/18/60 ) RSI MACD Ballinger bands breakout vs fakeouts pullback strategy chart patterns ( flags , triangles, H&S ) SUPPLY & DEMAND ORDER BLOCK LIQUIDITY ZONE BREAK OF
I need an MT5 Expert Advisor for a mean-reversion strategy on EURUSD: single entry at local price extremes, fixed stop loss and take profit, no grid and no averaging. Position size must be calculated automatically so that risk per trade is capped at a fixed USD amount, with a daily loss limit and a pause after consecutive losses. I will send the full specification — entry conditions, filters and all input parameters
I trade NAS 100 using Harmonic Patterns. I want to create a MT5 EA to trade based on this indicator: https://www.mql5.com/en/market/product/78325?source=Site +Market+MT5+Indicator+Search+Rating006%3abasic+harmonic+patterns I want the EA to have the same take profit levels as indicator: TP1, TP2, TP3 (select in inputs which TP to use). The EA should also use the same Stop Loss as indicator, with the option to adjust
I am looking for a professional and market-savvy MQL developer to build a disciplined, stable Scalping Expert Advisor (EA). The ideal developer must have a solid understanding of Trend Identification, Fibonacci Levels, and Technical Indicators , alongside strict risk management implementation. Key Focus Areas & Developer Requirements: Market & Analysis Expertise: ⚬ Deep understanding of Trend direction (Market
LUCK 30+ USD
I want to work for me and make alot of money for me when. I want a trade bot on my mt5 .and show me all the thing's i want to see on my mt5 account
I need an expert Ninjatrader8 developer that can build this indicator. Can you build indicator like this? Ather https://share.google/HaxK5snnOWFR08ghd If you know you can do this send me message or bid to my proposal
profitable EAs wanted with at least 3 to 5 years backtest. you be submit your proofs such as graphic results, backtesting results, and your demo or weekly the eas has traded
Fvg order 50 - 300 USD
Strategy Objective Create a disciplined, rules‑driven trading framework that identifies high‑probability reversals during the Asia session by leveraging levels formed in the final hours of New York. The goal is consistent execution, controlled risk, and scalable automation. Core Approach Track and define the key price extremes set during late New York trading. Monitor Asia session behavior for liquidity sweeps beyond

Proje bilgisi

Bütçe
30 - 200 USD