Spezifikation

//+------------------------------------------------------------------+
//|                                   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
}

Bewerbungen

1
Entwickler 1
Bewertung
(6)
Projekte
4
0%
Schlichtung
5
0% / 100%
Frist nicht eingehalten
0
Frei
Ähnliche Aufträge
The indicator should look for specific conditions in the market based on kijun sen, tenkan sen and kumo values, where kijun sen, tenkan sen, kumo a and b close values are equal to previous close vakues
I need a simple bot for opening range. Simple Entry / Exit rules, to be able to customize the timeframe, time zone (entry candle) and other normal settings like size, etc
Nyctrad1 30+ USD
Free link free land free land free land free land free free land free land free things free land free land free land free land free land free land free land free Finch I will do it
Platform: MT5 (MQL5) OVERVIEW: I need a custom MT5 indicator that generates only high-probability A+ buy and sell signals. The indicator should combine market structure, support/resistance, liquidity sweeps, candlestick confirmations, session filtering, and Fibonacci retracement logic. FEATURES REQUIRED: SUPPORT & RESISTANCE Automatically detect and draw support and resistance levels. Levels should update
Title Professional AI Automation Trading Bot for Forex & Crypto Solution Language Python (preferred) or MQL5 depending on integration requirements. Categories Expert Advisor (EA) for MetaTrader 5 Automated trading strategies AI/ML-based signal generation Risk management automation Required Skills Strong knowledge of MQL5/Python Experience with MetaTrader API integration Machine learning model deployment
i want a developer to build me a robot according to mt style i want an engine which is going to trade gold with small accounts, i want it to be perfect or any developer who has that existing robot we can negoiate the price
Hi, I am looking for an experienced MQL5 developer to modify an existing, fully functional MetaTrader 5 Expert Advisor (Source code .mq5 Version 2.62 will be provided). Brief Overview of the EA: It executes trades based on 4 custom Supply/Demand levels (R1, R2, S1, S2) which are inputted manually . It uses two custom indicators for confirmation: SPA (Price Action filter) and AMG (Volume/Momentum filter). The code
Description: I am looking for an experienced MQL5 developer to build a fully automated Expert Advisor (EA) for MT5 tailored for Prop Firm challenges and funded accounts. I need a robust, plug-and-play solution with rigorous risk controls. Key Requirements: Platform: MT5 Trading Logic: I am looking for a reliable strategy based either on a Breakout Strategy (e.g., London session breakout) or a Mean Reversion Strategy
The striker robot 30 - 2000 USD
I would like a trend and pullback strategy for the robot timeframe:15 minutes(m15) or 1 hour(h1) indicators:50 EMA (Exponential Moving Average)/200 EMA/RSI (14) BUY SET UP 1.Confirm The Trend .50 EMA must be above 200 EMA .Price must be above both EMAs 2.Wait for a pullback .Do not buy when the price shoots up. .Wait for the price to come back near the 50 EMA 3.Confirm entry .ENTER BUY WHEN: .A bullish candlestick
//+------------------------------------------------------------------+ //| Simple XAUUSD EA | //+------------------------------------------------------------------+ input double LotSize = 0.01; input int StopLoss = 500; // in points input int TakeProfit = 1000; // in points input int MAPeriod = 20; int maHandle; int OnInit() { maHandle = iMA(_Symbol, PERIOD_H1, MAPeriod, 0, MODE_SMA

Projektdetails

Budget
30+ USD
Ausführungsfristen
bis 10 Tag(e)