Files
2025-02-07 19:08:31 +03:30

44 lines
1.4 KiB
Plaintext

#define UINT64 ulong
#define INT64 datetime
//+------------------------------------------------------------------+
//| Ñòðóêòóðà ðåçóëüòàòîâ äëÿ ïîçèöèè |
//+------------------------------------------------------------------+
struct TesterPositionProfit
{
private:
string LengthToString( const datetime Length ) const
{
const int Days = (int)(Length / (24 * 3600));
return(((Days) ? (string)Days + "d ": "") + ::TimeToString(Length, TIME_SECONDS));
}
public:
UINT64 id; // id ïîçèöèè
double mfe; // MFE
double mae; // MAE
double profit; // ïðèáûëü
INT64 lifetime; // âðåìÿ æèçíè ïîçèöèè â ñåêóíäàõ
UINT64 reserve[3];
#define TOSTRING(A) #A + " = " + (string)(this.A) + "\n"
#define TOSTRING2(A) #A + " = " + this.LengthToString(A) + "\n"
string ToString( void ) const
{
return(
TOSTRING(id) + // id ïîçèöèè
TOSTRING(mfe) + // MFE
TOSTRING(mae) + // MAE
TOSTRING(profit) + // ïðèáûëü
TOSTRING2(lifetime) // âðåìÿ æèçíè ïîçèöèè â ñåêóíäàõ
);
}
#undef TOSTRING2
#undef TOSTRING
};
#undef INT64
#undef UINT64