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

Auftrag beendet

Ausführungszeit 1 Tag
Bewertung des Entwicklers
I'm glad I met the client. It was difficult, but everything worked out. Thanks for your patience!
Bewertung des Kunden
good programmer.... finished the job in 1 day when i gave 3 days

Spezifikation

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;

  }


Bewerbungen

1
Entwickler 1
Bewertung
(2)
Projekte
2
0%
Schlichtung
1
0% / 0%
Frist nicht eingehalten
0
Frei
Ähnliche Aufträge
// Add this to your EA after ExportState() function void SendToBase44(const string state, const string dir, double entry, double sl, double tp) { string url = " https://preview-sandbox--ee0a32a725b788974de435e8cef40b7a.base44.app/api/functions/receiveEAState "; string headers = "Content-Type: application/json\r\n"; string json = "{" "\"symbol\":\""+_Symbol+"\","
1.Sinyal Perdagangan : Sinyal beli: garis MACD utama memotong garis sinyal ke atas (macd_current>signal_current && macd_previous<signal_previous). Sinyal jual: garis MACD utama memotong garis sinyal ke bawah (macd_current<signal_current && macd_previous>signal_previous). Gambar di bawah menunjukkan kasus beli dan jual. 2. Posisi ditutup pada sinyal yang berlawanan: Posisi beli ditutup pada sinyal jual, dan posisi
EA grid hunter 30 - 200 USD
1. Platform & Environment Platform: MetaTrader 5 (MT5 ONLY) Language: MQL5 Account type: ECN / Netting or Hedging Designed for broker rebate/commission return programs No DLLs, no external dependencies 2. Strategy Overview The EA is a high-frequency scalping Expert Advisor focused on maximizing the number of trades with minimal price movement, where the main source of profitability is broker rebate rather than market
Olá, preciso de um programador para montar um indicador com base na sobrevenda do estocastico, volume macd, para uma estrategia de reversão e falso rompimento com regioes de OB validos minimas e maximas de H1, H4, D1 e canais para confluencias, quero que seja didatico visualmente e com cores, sons de alertas e algum sinal de call ou put como setas indicando reversões e falsos rompimentos e continuidade

Projektdetails

Budget
100 - 300 USD
Ausführungsfristen
von 1 bis 2 Tag(e)