EasyAndFastGUI Wie Graph erstellen?
Liste der Anhänge anzeigen (Anzahl: 1)
Hallöchen in den Programmierkurs den ich belegt habe haben wir die EasyAndFastGui Bibliothek behandelt. Leider wurde das Thema sehr kurz angerissen. Eine Übungsaufgabe war ein Tradepanel zu schreiben was auch wirklich einfach war. Nun dachte ich das ich auf der Basis des erlangten Wissen ein Panel Schreibe was einen Graph beinhaltet. Nun weis ich nicht wie ich bei der 2. stelle bei "CreateGraph" die geforderte CElement Main eingeben muss
Mir erschließt sich nicht wie ich das angeben soll.
Habt ijr eine idee?
Code:
//+------------------------------------------------------------------+
//| GUI.mq5 |
//| Copyright 2021, MetaQuotes Ltd. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2021, MetaQuotes Ltd."
#property link "https://www.mql5.com"
#property version "1.00"
#include <EasyAndFastGUI\WndCreate.mqh>
ulong magic=123;
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
class CProgram: public CWndCreate
{
private:
CWindow m_window;
CGraph m_gra;
public:
void CreateGui()
{
CWndCreate::CreateWindow(m_window,"Test",20,20,600,300); CWndCreate::CreateGraph(m_gra,m_gra.Element(0),0,5,14,true,false,10,23,false,false,AXIS_TYPE_DOUBLE,DoubleToString(2.644),DoubleToString(8.398));
CWndEvents::CompletedGUI();
}
void OnTimerEvent()
{
CWndEvents::OnTimerEvent();
}
void OnInitEvent()
{
}
void OnTickEvent()
{
}
void OnTradeTransactionEvent(double lineval1,ulong inmagic)
{
//double lineval1 = Profit der gesammten History
//double lineval2= Profit der geschlossenen Position nach magic
//double lineval3= Kommt von Framework
//Graph erstellen ähnlich der Grafik
}
void OnDeinitEvent(const int reason)
{
CWndEvents::Destroy();
}
void OnEvent(const int id,const long& lparam,const double& dparam,const string& sparam)
{
}
};
CProgram programm;
//+------------------------------------------------------------------+
//| Expert initialization function |
//+------------------------------------------------------------------+
int OnInit()
{
//---
programm.OnInitEvent();
programm.CreateGui();
//---
return(INIT_SUCCEEDED);
}
//+------------------------------------------------------------------+
//| Expert deinitialization function |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
{
//---
programm.OnDeinitEvent(reason);
}
//+------------------------------------------------------------------+
//| Expert tick function |
//+------------------------------------------------------------------+
void OnTick()
{
//---
programm.OnTickEvent();
programm.OnTimerEvent();
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnTimer()
{
programm.OnTimerEvent();
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
void OnChartEvent(const int id, // Identifikator des Ereignisses
const long& lparam, // Parameter des Ereignisses des Typs long
const double& dparam, // Parameter des Ereignisses des Typs double
const string& sparam // Parameter des Ereignisses des Typs string
)
{
programm.ChartEvent(id,lparam,dparam,sparam);
}
//+------------------------------------------------------------------+
//| TradeTransaction function |
//+------------------------------------------------------------------+
void OnTradeTransaction(const MqlTradeTransaction& trans,
const MqlTradeRequest& request,
const MqlTradeResult& result)
{
//---
ENUM_DEAL_TYPE deal_direktion=DEAL_TYPE_BUY;
long deal_entry =0;
string deal_symbol ="";
long deal_magicn =0;
double deal_profit =0;
double deal_priceout=0;
datetime deal_time =0;
//--- get transaction type as enumeration value
ENUM_TRADE_TRANSACTION_TYPE type=trans.type;
//--- if transaction is result of addition of the transaction in history
if(type==TRADE_TRANSACTION_DEAL_ADD)
{
if(HistoryDealSelect(trans.deal))
{
deal_entry=HistoryDealGetInteger(trans.deal,DEAL_ENTRY);
deal_symbol=HistoryDealGetString(trans.deal,DEAL_SYMBOL);
deal_magicn=HistoryDealGetInteger(trans.deal,DEAL_MAGIC);
deal_direktion=(ENUM_DEAL_TYPE)HistoryDealGetInteger(trans.deal,DEAL_TYPE);
deal_priceout=HistoryDealGetDouble(trans.deal,DEAL_PRICE);
deal_profit=HistoryDealGetDouble(trans.deal,DEAL_PROFIT);
deal_time=(datetime)HistoryDealGetInteger(trans.deal,DEAL_TIME);
}
}
if(deal_entry==DEAL_ENTRY_OUT)
{
if(magic==deal_magicn)
programm.OnTradeTransactionEvent(deal_profit,deal_magicn);
}
}
//+------------------------------------------------------------------+
man bedenke das "m_gra.Element(0)" mein versuch war das Element anzugeben
Die entsprechende BIbliothek findet ihr im Anhang als ZIP
|