Elijah

MQL5 专家

指定


//|                                              session_scalper.mq5 |
//|                              Copyright 2026, Phan Van Khoa       |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2026, Phan Van Khoa"
#property link      "https://www.mql5.com"
#property version   "1.00"
#property description "Session-based scalping indicator. Highlights the active trading session and shows the opening price of the session."
#property description "Works with the M1-M15 timeframes. A classic scalping technique is to fade the first impulsive move away from the session open."
#property description "Use the SessionOpen line together with the highlighted background to time entries at the beginning of a session."
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_plots   1

//--- plot SessionOpen
#property indicator_label1  "SessionOpen"
#property indicator_type1   DRAW_LINE
#property indicator_color1  clrDodgerBlue
#property indicator_style1  STYLE_SOLID
#property indicator_width1  2

//--- input parameters
input int      InpSessionStartHour  = 7;             // Session start hour (terminal time)
input int      InpSessionStartMinute = 0;            // Session start minute
input int      InpSessionDuration  = 8;              // Session duration, hours
input bool     InpFillBackground   = true;           // Fill session background
input color    InpBackgroundColor  = C'220,230,255'; // Background fill color
input ENUM_TIMEFRAMES InpTradeFrame = PERIOD_M1;    // Scalping timeframe

//--- indicator buffers
double         SessionOpenBuffer[];

//--- handle of the higher timeframe to detect session start
int            m_handle = INVALID_HANDLE;

//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
//--- set buffer as used for drawing
   SetIndexBuffer(0, SessionOpenBuffer, INDICATOR_DATA);
   IndicatorSetInteger(INDICATOR_DIGITS, _Digits);

//--- attach a lower-resolution copy of the chart for stable session anchors
   m_handle = iMA(_Symbol, InpTradeFrame, 1, 0, MODE_SMA, PRICE_CLOSE);
   if(m_handle == INVALID_HANDLE)
     {
      Print("Failed to create the supporting indicator handle");
      return(INIT_FAILED);
     }

   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   if(m_handle != INVALID_HANDLE)
      IndicatorRelease(m_handle);
  }
//+------------------------------------------------------------------+
//| Convert a bar time into the local day index                      |
//+------------------------------------------------------------------+
datetime DayStart(const datetime t)
  {
   MqlDateTime dt;
   TimeToStruct(t, dt);
   dt.hour = 0;
   dt.min  = 0;
   dt.sec  = 0;
   return(StructToTime(dt));
  }
//+------------------------------------------------------------------+
//| Return the session opening time for a given bar                  |
//+------------------------------------------------------------------+
datetime SessionStartTime(const datetime t)
  {
   datetime day = DayStart(t);
   datetime start = day + InpSessionStartHour * 3600 + InpSessionStartMinute * 60;
   if(start > t)
      start -= 24 * 3600;
   return(start);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   if(rates_total < 1)
      return(0);

   int start = (prev_calculated > 0) ? prev_calculated - 1 : 0;

   for(int i = start; i < rates_total; i++)
     {
      datetime sOpen = SessionStartTime(time[i]);
      datetime sEnd  = sOpen + InpSessionDuration * 3600;

      SessionOpenBuffer[i] = EMPTY_VALUE;

      if(time[i] >= sOpen && time[i] < sEnd)
        {
         int idx = iBarShift(_Symbol, _Period, sOpen);
         if(idx >= 0)
            SessionOpenBuffer[i] = open[idx];
        }
     }

   return(rates_total);
  }
//+------------------------------------------------------------------+
//| Chart event function - redraw the background on timeframe change |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, const long &lparam, const double &dparam, const string &sparam)
  {
   if(id == CHARTEVENT_CHART_CHANGE)
      ChartRedraw();
  }

反馈

1
开发者 1
等级
(21)
项目
27
7%
仲裁
9
33% / 33%
逾期
1
4%
工作中
2
开发者 2
等级
(106)
项目
129
25%
仲裁
24
29% / 54%
逾期
8
6%
空闲
3
开发者 3
等级
项目
0
0%
仲裁
0
逾期
0
空闲
4
开发者 4
等级
项目
0
0%
仲裁
0
逾期
0
空闲
5
开发者 5
等级
(1)
项目
1
0%
仲裁
0
逾期
0
空闲
6
开发者 6
等级
(549)
项目
838
61%
仲裁
33
27% / 45%
逾期
24
3%
空闲
发布者: 1 代码
7
开发者 7
等级
项目
0
0%
仲裁
0
逾期
0
空闲
8
开发者 8
等级
项目
0
0%
仲裁
0
逾期
0
空闲
9
开发者 9
等级
项目
0
0%
仲裁
0
逾期
0
空闲
发布者: 1 代码
10
开发者 10
等级
(256)
项目
300
76%
仲裁
13
77% / 0%
逾期
4
1%
工作中
11
开发者 11
等级
(169)
项目
202
48%
仲裁
5
20% / 60%
逾期
2
1%
空闲
12
开发者 12
等级
项目
0
0%
仲裁
0
逾期
0
空闲
13
开发者 13
等级
(318)
项目
565
35%
仲裁
81
31% / 44%
逾期
204
36%
空闲
14
开发者 14
等级
项目
0
0%
仲裁
0
逾期
0
空闲
15
开发者 15
等级
(1)
项目
1
100%
仲裁
0
逾期
0
空闲
16
开发者 16
等级
项目
0
0%
仲裁
0
逾期
0
空闲
相似订单
I need MT5 EA programmer to build a trading robot based on Double EMA crossover. Golden Cross to buy and Death cross to sell with SL and TP set directly. I want to give trading time safety so that user can avoid high impact news by setting specific trading time on that day. Time to stop trading and time to start trading again. Also a safety if there is a great gap at the opening of the next day which moves against a
{ "strategy_name": "M5 EMA Scalper", "timeframe": "M5", "indicators": { "ema_fast": 20, "ema_slow": 50, "rsi": 14, "atr": 14 }, "entry_rules": { "buy": [ "EMA20 > EMA50", "Price closes above EMA20", "RSI > 55" ], "sell": [ "EMA20 < EMA50", "Price closes below EMA20", "RSI < 45" ] }, "risk_management": { "risk_per_trade": 1.0, "stop_loss_atr": 1.5, "take_profit_rr": 2.0
Hola, traders e inversores: Desarrollamos soluciones de trading algorítmico para MetaTrader 4 y MetaTrader 5. Creamos bots, indicadores y herramientas a medida que convierten estrategias manuales en sistemas automáticos, configurables y orientados a una gestión de riesgo sólida. Hemos trabajado en automatizaciones que integran entradas y salidas por reglas, cálculo de lotaje, control de drawdown, filtros de horario y
Hello All, can someone help me to make an EA base on MACD, https://www.mql5.com/en/code/14669 and RSI. If you are able to make this than please get me in touch, i will appreciated Thanks and best Regards Kodj007
EA 45 - 205 USD
If EMA20 > EMA50 AND RSI > 55 AND No Open Position THEN Buy SL = 50 pips TP = 100 pips If Profit > 30 pips Move SL to Break Even If Profit > 50 pips Enable Trailing Stop
I am looking for an experienced MQL5 developer to modify an existing Expert Advisor by adding an automated hedging module. The existing EA is fully functional and already manages trade entries and exits. The objective of this enhancement is to introduce a risk management feature that automatically opens a hedge position when an existing trade reaches a predefined unrealized loss in USD. The hedge should remain active
automatic robo sell at bollinger band upwards breach and rsi should above 80 and buy when bollinger breach downwards and rsi is below 30, rsi shoould works only on Gold trade and none ofhe trades
Hello, I need a custom Expert Advisor for MetaTrader 5. I am trading from mobile only. **Account & Style:** - Capital: $5,000 - $10,000 - Risk: Moderate/Balanced - Trading Style: Scalping **Pairs & Timeframe:** - Symbols: EURUSD and XAUUSD - Timeframe: M5 **Strategy:** - BUY: RSI(14) < 30 AND Price > 20 EMA - SELL: RSI(14) > 70 AND Price < 20 EMA - Only 1 trade per symbol at a time - No Martingale / No Grid **Risk
am an auto trader that for Sierra chart that works but needs some cleaning up. I need some features added to it like two parent studies with different take profit, stops, quantities and also a parent study to add to the position with its own take profit, stops, quantities
We are seeking an experienced MQL4/MQL5 programmer to develop a high-performance, fully automated Expert Advisor (EA). The bot must execute a sophisticated multi-currency hedging strategy across correlated forex pairs. Key Responsibilities Develop Multi-Currency Logic : Build an EA capable of scanning and trading multiple currency pairs simultaneously from a single chart or setup. Implement Hedging Strategy : Code

项目信息

预算
30+ USD

客户

所下订单1
仲裁计数0