Техническое задание

//+------------------------------------------------------------------+
//|                                   Gohan Scalper provision.mq5    |
//|                           Advanced Multi-Timeframe Forex Robot   |
//+------------------------------------------------------------------+
#property copyright "Tshegofatso"
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict

#include <Trade/Trade.mqh>
CTrade trade;

//+------------------------------------------------------------------+
//| Input Parameters                                                |
//+------------------------------------------------------------------+
enum ModeType { CONSERVATIVE, BALANCED, AGGRESSIVE };
input ModeType TradeMode = BALANCED;
input double RiskPercent = 1.0;
input double DefaultStopLossPips = 20.0;
input double MaxLot = 2.0;

//+------------------------------------------------------------------+
//| Session Time Checking                                           |
//+------------------------------------------------------------------+
bool IsInTradingSession()
{
   MqlDateTime t;
   TimeToStruct(TimeCurrent(), t);
   int timeInMinutes = t.hour * 60 + t.min;

   return (timeInMinutes >= 60 && timeInMinutes <= 480)  ||  // Asian
          (timeInMinutes >= 480 && timeInMinutes <= 960) ||  // London
          (timeInMinutes >= 780 && timeInMinutes <= 1320);   // New York
}

//+------------------------------------------------------------------+
//| Trend Detection (D1)                                            |
//+------------------------------------------------------------------+
int GetMarketTrend()
{
   static int maFastHandle = iMA(_Symbol, PERIOD_D1, 20, 0, MODE_EMA, PRICE_CLOSE);
   static int maSlowHandle = iMA(_Symbol, PERIOD_D1, 50, 0, MODE_EMA, PRICE_CLOSE);

   double maFast[], maSlow[];
   if(CopyBuffer(maFastHandle, 0, 0, 1, maFast) < 1 ||
      CopyBuffer(maSlowHandle, 0, 0, 1, maSlow) < 1)
      return 0;

   if (maFast[0] > maSlow[0]) return 1;    // Bullish
   if (maFast[0] < maSlow[0]) return -1;   // Bearish
   return 0;                               // Sideways
}

//+------------------------------------------------------------------+
//| Break of Structure (M15)                                        |
//+------------------------------------------------------------------+
bool DetectBreakOfStructure()
{
   double highs[2];
   if(CopyHigh(_Symbol, PERIOD_M15, 1, 2, highs) < 2)
      return false;

   return highs[0] > highs[1];
}

//+------------------------------------------------------------------+
//| Confirmation Candle (M5)                                        |
//+------------------------------------------------------------------+
bool IsConfirmationCandle()
{
   double open[1], close[1], high[1], low[1];

   if(CopyOpen(_Symbol, PERIOD_M5, 0, 1, open) < 1 ||
      CopyClose(_Symbol, PERIOD_M5, 0, 1, close) < 1 ||
      CopyHigh(_Symbol, PERIOD_M5, 0, 1, high) < 1 ||
      CopyLow(_Symbol, PERIOD_M5, 0, 1, low) < 1)
      return false;

   double body = MathAbs(close[0] - open[0]);
   double range = high[0] - low[0];

   return (body > range * 0.5);
}

//+------------------------------------------------------------------+
//| Lot Size Calculation                                            |
//+------------------------------------------------------------------+
double CalculateLotSize(double stopLossPips)
{
   double balance = AccountInfoDouble(ACCOUNT_BALANCE);
   double riskAmount = balance * (RiskPercent / 100.0);
   double pipValue = SymbolInfoDouble(_Symbol, SYMBOL_TRADE_TICK_VALUE);
   double lotSize = riskAmount / (stopLossPips * pipValue);
   return MathMin(MaxLot, MathMax(0.01, NormalizeDouble(lotSize, 2)));
}

//+------------------------------------------------------------------+
//| Enter Buy Trade                                                 |
//+------------------------------------------------------------------+
void EnterBuyTrade(double lot, double stopLossPips)
{
   double sl = SymbolInfoDouble(_Symbol, SYMBOL_BID) - stopLossPips * _Point;
   trade.Buy(lot, _Symbol, 0, sl, 0, "Buy Entry");
}

//+------------------------------------------------------------------+
//| Enter Sell Trade                                                |
//+------------------------------------------------------------------+
void EnterSellTrade(double lot, double stopLossPips)
{
   double sl = SymbolInfoDouble(_Symbol, SYMBOL_ASK) + stopLossPips * _Point;
   trade.Sell(lot, _Symbol, 0, sl, 0, "Sell Entry");
}

//+------------------------------------------------------------------+
//| Expert Tick Function                                            |
//+------------------------------------------------------------------+
void OnTick()
{
   if(!IsInTradingSession()) return;

   int trend = GetMarketTrend();
   if(trend == 0) return;

   if(!DetectBreakOfStructure()) return;

   if(!IsConfirmationCandle()) return;

   double lot = CalculateLotSize(DefaultStopLossPips);

   if(trend > 0)
      EnterBuyTrade(lot, DefaultStopLossPips);
   else
      EnterSellTrade(lot, DefaultStopLossPips);
}

//+------------------------------------------------------------------+
//| OnInit and Timer Hooks                                          |
//+------------------------------------------------------------------+
int OnInit()
{
   EventSetTimer(60);
   return INIT_SUCCEEDED;
}

void OnDeinit(const int reason)
{
   EventKillTimer();
}

void OnTimer()
{
   // Reserved for advanced wave/fakeout/FVG logic
}

Файлы:

Откликнулись

1
Разработчик 1
Оценка
(6)
Проекты
4
0%
Арбитраж
5
0% / 100%
Просрочено
0
Свободен
Похожие заказы
Forex Hunter MT5 30 - 250 USD
ثبت طلبك في مواصفات البوت الثاني كذا: الجودة والأمان أهم من السعر، وما يدخل إلا إذا الفرصة قوية، مع حماية عند الخسائر وانقطاع الاتصال وارتفاع السبريد، وتشغيل مستمر على سيرفر، مع اختبارات إلزامية قبل أي تشغيل حقيقي. بهذه الصيغة يصير يشتغل وأنت مرتاح بالِك، لكنه يوقف تلقائيًا وقت عطلة السوق أو أي خلل. بس أكون واضح معك: ما في بوت يضمن عدم الخسارة، خصوصًا بالمضاربات السريعة، هدفنا نقلل المخاطر ونمنع الخسائر غير المنضبطة
I'm looking for an experienced MQL5 developer to create a Opening Range Breakout EA. The EA should identify the high and low of a configurable trading session and open trades when price breaks out of this range. It should include configurable Stop Loss, Take Profit, fixed lot size, break-even option and trading hours. Full mq5 required
Matosfx 30 USD
Am called martin sselubiri I need a robot for trading forex and stock and I want know how this robot works and how much it costs for me to use it
AI Forex Trading Bot for MT4 and MT5 I need an advanced Forex trading robot (Expert Advisor) that works on both MetaTrader 4 and MetaTrader 5. The robot should automatically analyse the Forex market, identify BUY and SELL opportunities, and execute trades when the trading conditions are met. It should support GBPUSD, EURUSD, USDJPY and GBPJPY. The robot should use EMA, RSI, MACD, price action and trend analysis
Name: SteelEdge Platform: MetaTrader 5 (MQL5) Expert Advisor Instruments: XAUUSD, EURUSD, US30 Timeframe: H1 (inputs to change it) STRATEGY - Trend filter: buy only when price is above the 200 EMA, sell only when below - Entry: price pulls back to the 50 EMA and a bullish (buy) or bearish (sell) engulfing candle closes - Confirmation: RSI(14) above 50 for buys, below 50 for sells - Stop loss: 1.5 x ATR(14) - Take
Aziz Toure 50 - 400 USD
I am an independent trader and entrepreneur based in Côte d’Ivoire. I work in financial markets, analyze trading opportunities, and provide digital financial services. I am also interested in international trade, online business, and developing long-term business activities
SMC Bot Creation 350 - 550 USD
Hello, I am interested in developing a professional MT5 Expert Advisor similar in functionality and technical sophistication to your reference product, Institutional SMC Robot: https://www.mql5.com/en/market/product/187011 I want to develop my own independent EA based on advanced Smart Money Concepts (SMC), with a strong focus on institutional price action, liquidity and market structure. The key functionalities I
Phixfx 30 - 150 USD
Project Brief: Multi-Asset EA/Indicator Optimization, Debugging, and Futures Strategy Refinement ​1. Project Overview & Objective ​I am looking for an experienced algorithmic developer to inspect, debug, optimize, and enhance an existing automated trading system. The system combines custom indicators and execution logic across Forex and Futures markets. ​The primary goals of this project are: ​Debug existing logic
​I am looking for an experienced MQL5 developer to build a fully automated MetaTrader 5 Expert Advisor (EA) optimized primarily for XAUUSD (Gold), featuring a clean Tkinter-style telemetry dashboard control concept or customizable input parameters. ​1. Core Strategy Rules (Full-Body Engulfing) ​Signal Identification: The EA must scan completed candles across multiple selectable timeframes (e.g., 1M, 5M, 15M, 30M, 1H)
Exir AI 30 - 200 USD
I need an experienced MQL5 developer to build a custom AI-assisted Expert Advisor (EA) for MetaTrader 5. The EA will run on a live MT5 account with Tickmill and must support Forex and Crypto CFDs. Required instruments: - EURUSD - GBPUSD - USDJPY - XAUUSD - BTCUSD - ETHUSD Required timeframes: - M5, M15, and M30 Trading logic: - M30 determines the overall trend. - M15 identifies entry zones, support/resistance, and

Информация о проекте

Бюджет
30+ USD
Сроки выполнения
до 10 дн.