Create an EA that will open 4 empty subwindows with its appropriate height

Job finished

Execution time 1 day
Feedback from employee
I'm glad I met the client. It was difficult, but everything worked out. Thanks for your patience!
Feedback from customer
good programmer.... finished the job in 1 day when i gave 3 days

Specification

repair these mt5 files so it will open 4 panes using hash tables to manage the subwindow handles
each pane row heights are defined in externvariables

#define SUBWINDOW1 "Technical Window 1"     // Shortname
#define SUBWINDOW2 "Technical Window 2"
#define SUBWINDOW3 "Technical Window 3"

#define SUBWINDOW4 "Trade Window"

use SubwindowTemplate to open the 4 windows above, height = 60 pixel/pane, show subwindow shortname on the top left corner of the subwindows

Obtain the full height without subwindow of the Main Chart in pixels.  80% of total Chart height dedicated to 4 panes.  each pane will have 20% max chart pixel and divide that by 12 maximum rows and 30 maximum column
save these pixel heights in int    m_YDistance[Y_DISTANCE_BUFFER];

example, total height of chart = 1000 pixels.  800 pixel dedicated to the subwindows.  each subwindows have a maximum of 12 rows. so 800 pixels/4 panes = 200 pixel/12 rows = ......

instead of using iCustoms to open the subwindows use hash to open the windows instead

like the following:-
CGraphics::Graphics()
[
     m_WindowsHash=new Hash(); // create new hash to manage the window handlers
}

CGraphics::InitTechnicalAnalysisWindow0(string WindowName)

{

if(!InitSubwindow(WindowName))

    {

      printf("Fail to Init Sub-Window Name = "+WindowName);

      return false;

    }

    int windowID = ChartWindowFind(m_WindowID[1], WindowName);   

   if(windowID<0)

      return false;

ResizeSubWindow(WindowName,m_ChartHeightPixel[1]);

}

//+------------------------------------------------------------------+

//|                                                                  |

//+------------------------------------------------------------------+

bool Graphics::StartCustomIndicator(int hWnd,string ChartName,bool AutomaticallyAcceptDefaults=false)

  {

   ResetLastError();

   

   printf("Start Custom Indicator");


   uchar charArrayIndicatorName[];

   StringToCharArray(ChartName,charArrayIndicatorName,0);


   // printf("charArrayIndicatorName = "+charArrayIndicatorName);


   int MessageNumber=RegisterWindowMessageW("MetaTrader4_Internal_Message");

   int res=SendMessageW(hWnd,MessageNumber,15,charArrayIndicatorName);

   if(res)

     {

      LogError(__FUNCTION__,"Failed to post a msg winAPI",GetLastError());

      return false;

     }


   return true;

  }

//+------------------------------------------------------------------+

//|                                                                  |

//+------------------------------------------------------------------+  

bool Graphics::InitSubwindow(string ChartName)

  {

   ResetLastError();

   

   if(WindowFind(ChartName)>0)

     {

      if(m_WindowsHash.hGetInt(ChartName) < 0)

         m_WindowsHash.hPutInt(ChartName,WindowFind(ChartName));


      return true;

     }


   int hWnd=WindowHandle(Symbol(),0);

   if(!hWnd)

     {

      LogError(__FUNCTION__,"Window not found",GetLastError());

      return false;

     }

   bool res=StartCustomIndicator(hWnd,ChartName);

   if(WindowFind(ChartName)<0)

     {

      MessageBox(ChartName+" Indicator window not found.","ERROR",MB_ICONERROR);

      LogError(__FUNCTION__,ChartName+" Indicator window not found",GetLastError());

      return false;

     }


   if(res)

      m_WindowsHash.hPutInt(ChartName,WindowFind(ChartName));


   return res;

  }


Responded

1
Developer 1
Rating
(2)
Projects
2
0%
Arbitration
1
0% / 0%
Overdue
0
Free
Similar orders
BitsoFx 40 - 10000 USD
//+------------------------------------------------------------------+ //| Simple Robo Trader MT5 | //| Works on any pair & timeframe | //+------------------------------------------------------------------+ #property strict // Input settings input double LotSize = 0.01; input int FastMA = 10; input int SlowMA = 30; input int RSIPeriod = 14; input int StopLoss = 200; // in points input int TakeProfit = 400;// in
-I am looking for an experienced MQL5 developer to build a custom MT5 Expert Advisor based on a clear, rule-based trading logic. This project is focused on structure, discipline, and long-term robustness rather than aggressive or experimental approaches. The EA will be based on a single coherent logic and must follow strict execution rules, with clean and professional MQL5 code suitable for controlled testing and
Create an automated trading robot that can execute trades on my behalf without requiring manual intervention.The robot should be able to monitor market conditions, execute trades, manage risk, optimize performance
1.RSI strategy for gold , use RSI to identify overbought (above 70)and oversold (below 30) conditions. .Implement entry signals when RSI crosses these thresholds. 2.Risk management , set a maximum percentage of account equity per trade 1-2 % . Implement stop loss and take profit levels to limit loses and lock in gains. .Apply a maximum draw down limit to prevent significant losses. 3. Trade execution , ensure proper
//+------------------------------------------------------------------+ //| XAUUSD Ultimate Institutional EA | //| Features: | //| - True swing-based market structure | //| - BOS sniper entries on M5 | //| - Liquidity sweep filter | //| - Partial TP + breakeven | //| - Visual BOS, swings, liquidity
I will develop a custom MetaTrader 5 Expert Advisor based on the client’s provided trading rules. The EA will include proper entry and exit logic, stop loss and take profit handling and stable risk management. The code will be clean, non-repainting, MT5 compliant, and delivered with full source files. "Risk Disclosure : Trading in financial markets involves risk, and results depend on market conditions, broker
I need a professional developer to build a Telegram-to-MetaTrader trade copier system. Project overview: - A Telegram bot will read trade signals from a Telegram channel - Trades will be automatically executed on MT4 and/or MT5 accounts - The system must support copying trades to multiple MetaTrader accounts - Execution should work even when the user is offline Functional requirements: - Structured signal format
I need a MetaTrader 5 Expert Advisor (EA) built based on a clear, rule-based strategy for XAUUSD on the M5 timeframe. Indicators used: EMA 50 (Exponential, Close) EMA 200 (Exponential, Close) RSI (14) Stochastic Oscillator (14,3,3) BUY rules: Price above EMA 50 and EMA 200 RSI between 10 and 25 Stochastic crosses upward from below 20 Bullish candle close SELL rules: Price below EMA 50 and EMA 200 RSI between 80 and
Platform: MT5 | Instrument: XAUUSD | Broker: IC Markets (ECN) Style: High-speed scalping / short-term momentum | Timeframes: M1 & M5 | Operation: Fully automated, 24/5 Overview We seek an experienced MQL5 developer to build a fast, reliable EA for live trading. The EA must: Detect symbol specifications automatically (digits, tick size, contract size) Operate continuously without manual intervention Follow logical
Convert the indicator available in trade view named "Support resistance diagonal" by Pikusov to use in MT5 platform. Also need get some alerts in mobile (any social media app/ MT5) if crossing the support/ resistance lines

Project information

Budget
100 - 300 USD
Deadline
from 1 to 2 day(s)