Техническое задание
This is what I got so far with deepseek: Could you create an Expert Advisor (EA) based on the following detailed trading strategy?
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:
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).
```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
Откликнулись
1
Оценка
Проекты
515
19%
Арбитраж
35
46%
/
31%
Просрочено
34
7%
Работает
2
Оценка
Проекты
71
37%
Арбитраж
4
25%
/
75%
Просрочено
1
1%
Свободен
Опубликовал: 1 пример
3
Оценка
Проекты
1
0%
Арбитраж
1
0%
/
100%
Просрочено
0
Свободен
4
Оценка
Проекты
0
0%
Арбитраж
1
0%
/
100%
Просрочено
0
Свободен
5
Оценка
Проекты
35
20%
Арбитраж
5
40%
/
40%
Просрочено
0
Свободен
Опубликовал: 1 пример
6
Оценка
Проекты
13
15%
Арбитраж
13
23%
/
46%
Просрочено
3
23%
Свободен
Опубликовал: 42 статьи
7
Оценка
Проекты
9
56%
Арбитраж
0
Просрочено
0
Свободен
8
Оценка
Проекты
459
55%
Арбитраж
24
58%
/
17%
Просрочено
31
7%
Работает
9
Оценка
Проекты
8
13%
Арбитраж
3
0%
/
33%
Просрочено
2
25%
Свободен
Опубликовал: 1 пример
10
Оценка
Проекты
247
74%
Арбитраж
7
100%
/
0%
Просрочено
1
0%
Свободен
Опубликовал: 2 статьи, 1 пример
11
Оценка
Проекты
269
29%
Арбитраж
2
50%
/
0%
Просрочено
3
1%
Работает
Опубликовал: 2 примера
12
Оценка
Проекты
46
24%
Арбитраж
34
9%
/
85%
Просрочено
10
22%
Свободен
13
Оценка
Проекты
289
35%
Арбитраж
18
22%
/
61%
Просрочено
43
15%
Свободен
14
Оценка
Проекты
39
23%
Арбитраж
14
0%
/
93%
Просрочено
4
10%
Свободен
15
Оценка
Проекты
499
67%
Арбитраж
5
40%
/
0%
Просрочено
4
1%
Свободен
Опубликовал: 8 примеров
16
Оценка
Проекты
1
0%
Арбитраж
1
0%
/
100%
Просрочено
0
Свободен
17
Оценка
Проекты
2
0%
Арбитраж
2
50%
/
50%
Просрочено
0
Свободен
Похожие заказы
Im looking for a developer who can replicate a ea called gold scalper advanced, i dont have the source code for it, all i want to do is add more features such as tp sl and trailing sl into the input section
Here is a professional, detailed requirements specification draft for your MQL5 freelance order based on your prompt: Strategy Objective: Develop an automated Expert Advisor (EA) featuring a 1:3 Risk-to-Reward ratio optimized for a small starting budget. Core Trading Logic: Execute automatic Buy and Sell trades using high-probability entry signals. Target a strict 90% theoretical win-rate structure through
i want to fix my gold martingale bot MT5. RSI 14 ENTRY 30 BUY 70 SELL Lot 0.02 0.04 0.07 TP 150 for all SL 90 30 30 once total daily profit is 200$ stop trading stop trading once 2 consecutives total losses stop trading if spread exceeded 30 and between hour 15 & 17 PM Move SL to breakeven point once the profit exceeded 50 from from breakeven thanks
MarketMind Breakout Pro XAUUSD H1 — Donchian Breakout EA Project type: Personal EA development and backtesting Platform: MetaTrader 5 Instrument: XAUUSD Timeframe: H1 Strategy: Donchian Channel breakout with EMA 200 Project overview This project evaluates a Donchian breakout trading strategy for XAUUSD on the H1 timeframe. The system uses channel-based breakout conditions and an EMA 200 trend filter. Historical
The purpose of this order is ONLY to test and implement my H1 POI (Point of Interest) identification logic correctly. I am not requesting the complete EA at this stage. I will provide the exact rules for identifying the H1 POI after selecting the developer. The developer must convert those rules into clear, deterministic MQL5 logic. Requirements: Analyze H1 candles according to the rules I provide. Identify and mark
Diusang
50 - 533 USD
TITLE: Diusang EA - [ e.g. Gold M1 Scalping Robot ] 1. PLATFORM: MT4 or MT5 ? 2. PAIR / TIMEFRAME: e.g. XAUUSD M1, M5 3. STRATEGY LOGIC: - Entry Buy when: ... - Entry Sell when: ... - Indicator settings: ... 4. RISK MANAGEMENT: - Lot size: Fixed 0.01 / Auto lot from balance? - Stop Loss: ... pips - Take Profit: ... pips - Max trades: ... 5. OTHER FEATURES: - Trailing stop? Yes/No - Trading hours
Title: Fully Automatic MT5 Trading Bot (Expert Advisor) with Risk Management I want a fully automated trading robot (Expert Advisor) for MetaTrader 5, written in MQL5. The bot must automatically analyse market data, identify trading opportunities, execute BUY and SELL orders, manage open positions, and close trades according to predefined rules without requiring manual confirmation for each trade. Requirements
Hello, I’m looking for an experienced developer to research, build, test, and install a fully automated MetaTrader 5 trading bot for gold, XAUUSD. My total development and installation budget is $300, including all agreed work and fees. My goal is to pass a $100,000 FTMO US Two-Step Standard evaluation and sustainably maintain the funded account. I need a day-trading strategy that can buy in bullish markets and sell
MT4 expert advisor
500+ USD
I have three indicators that operate independently. I want to combine them into one indicator with custom expert programming that automatically enters trades when a signal is generated by one of the indicators. I will pay for this service Thanks you
Existing EA: NEW_CORE_ORB_M5_v021 | MT5 | XAUUSD M5 Early-stage research prototype, not a new EA from scratch. Need an experienced MQL5 developer to audit, complete, repair, improve and test BOTH independent strategies equally: Opening Range Breakout (ORB) and Scalp. Keep code lightweight and preserve an untouched baseline. No unnecessary rewrite or complex filters. 1. ORB Strategy Verify opening-range construction
Информация о проекте
Бюджет
30 - 200 USD