SonnyPanel/Includes/BreakEvenResult.mqh
super.admin cfd1ba1ff5 convert
2025-05-30 16:25:20 +02:00

163 lines
5.8 KiB
MQL5

//+------------------------------------------------------------------+
//| BreakEvenResult.mqh |
//| Copyright 2024, MetaQuotes Ltd. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2024, MetaQuotes Ltd."
#property link "https://www.mql5.com"
#property version "1.00"
#include <Arrays\ArrayLong.mqh>
#include <Arrays\ArrayDouble.mqh>
#include <Arrays\ArrayInt.mqh>
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
class BreakEvenResult: public CObject
{
private:
public:
int Net_Trades;
double Net_Lots;
double Net_Result;
//---
double Average_Price;
double distance;
CArrayLong TicketsToClose;
CArrayDouble TicketsLotSizeToClose;
BreakEvenResult();
BreakEvenResult(const BreakEvenResult& that);
~BreakEvenResult();
};
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
BreakEvenResult::BreakEvenResult()
{
Net_Trades=0;
Net_Lots=0;
Net_Result=0;
//---
Average_Price=0;
distance=0;
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
BreakEvenResult::~BreakEvenResult()
{
if (CheckPointer(&this) == POINTER_DYNAMIC)
delete &this;
}
//+------------------------------------------------------------------+
BreakEvenResult::BreakEvenResult(const BreakEvenResult &that) // Copy
{
this.Net_Trades = that.Net_Trades;
this.Net_Lots = that.Net_Lots;
this.Net_Result = that.Net_Result;
this.Average_Price = that.Average_Price;
this.distance = that.distance;
this.TicketsToClose = that.TicketsToClose;
this.TicketsLotSizeToClose = that.TicketsLotSizeToClose;
this.TicketsToClose=that.TicketsToClose;
this.TicketsLotSizeToClose=that.TicketsLotSizeToClose;
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
class BreakEvenInput: public CObject
{
private:
public:
bool Buys;
bool Sells;
int MagicNumber;
double ProfitInMoney;
double HedgeToBreakDownLots;
BreakEvenInput();
BreakEvenInput(const BreakEvenInput& that);
~BreakEvenInput();
};
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
BreakEvenInput::BreakEvenInput()
{
Buys=false;
Sells=false;
MagicNumber=0;
ProfitInMoney=0;
HedgeToBreakDownLots=0;
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
BreakEvenInput::BreakEvenInput(const BreakEvenInput &that) // Copy
{
this.Buys = that.Buys;
this.Sells=that.Sells;
this.MagicNumber=that.MagicNumber;
this.ProfitInMoney=that.ProfitInMoney;
this.HedgeToBreakDownLots=that.HedgeToBreakDownLots;
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
BreakEvenInput::~BreakEvenInput()
{
if (CheckPointer(&this) == POINTER_DYNAMIC)
delete &this;
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
class BreakEvenHedgeTicketsResult: public CObject
{
private:
public:
CArrayDouble lotsizes;
CArrayLong ticketnumbers;
BreakEvenHedgeTicketsResult();
BreakEvenHedgeTicketsResult(const BreakEvenHedgeTicketsResult& that);
~BreakEvenHedgeTicketsResult();
CArrayInt Buy;
};
//+------------------------------------------------------------------+
BreakEvenHedgeTicketsResult::~BreakEvenHedgeTicketsResult()
{
if (CheckPointer(&this) == POINTER_DYNAMIC)
delete &this;
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
BreakEvenHedgeTicketsResult::BreakEvenHedgeTicketsResult()
{}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
BreakEvenHedgeTicketsResult::BreakEvenHedgeTicketsResult(const BreakEvenHedgeTicketsResult &that) // Copy
{
this.lotsizes = that.lotsizes;
this.ticketnumbers=that.ticketnumbers;
this.Buy=that.Buy;
}
//+------------------------------------------------------------------+