Files
include/Retrace/Setting.mqh
T
2025-02-07 19:13:59 +03:30

152 lines
3.3 KiB
Plaintext

#include <Controls/CheckBox.mqh>
#include <Controls/Label.mqh>
#include <Arrays/List.mqh>
enum TYPE_THEMES
{
Dark,
Light
};
enum SET_COLOR_THEMES
{
SET_COLOR_THEMES_ABSENT, // Absent
SET_COLOR_THEMES_BANNER, // Banner
SET_COLOR_THEMES_BRAVE, // Brave
SET_COLOR_THEMES_BLINK, // Blink
SET_COLOR_THEMES_CODECOURSE, // Codecourse
SET_COLOR_THEMES_DOWNPOUR, // Downpour
SET_COLOR_THEMES_FODDER, // Fodder
SET_COLOR_THEMES_MUD, // Mud
SET_COLOR_THEMES_VIOLACEOUS, // Violaceous
SET_COLOR_THEMES_VISION, // Vision
};
enum SYMBOL_CHART_CHANGE_REACTION
{
SYMBOL_CHART_CHANGE_EACH_OWN, // Each symbol - own settings
SYMBOL_CHART_CHANGE_HARD_RESET, // Reset to defaults on symbol change
};
enum TABS
{
OverviewTab,
SettingTab,
SettingInputsEATab,
SettingPanelEATab,
PerformanceTab,
GlobalMetricsTab,
OptimizerTab,
LogsTab,
SecurityTab,
PerformanceSummaryTab,
PerformanceEquityTab,
PerformanceDayTab,
PerformanceWeekTab,
PerformanceMonthTab,
PerformanceYearTab,
PerformanceReturnTab
};
struct Coordinates
{
int x1;
int y1;
int x2;
int y2;
};
struct Settings
{
// panel
SYMBOL_CHART_CHANGE_REACTION symbolchange;
bool IsPanelMinimized;
TABS SelectedTab;
uint LastRecalc;
long TimFrames;
long Streak;
long Condition;
long MaxBuy;
long MaxSell;
long TypePositions;
long RiskReward;
long Expiryations;
double RiskManagments;
double LotSize;
double MaximumRiskAouto;
long InpSl;
long SlEntry;
long Telorance;
long ZeroLots;
long StrategyRisk;
long SaveProfit;
long SaveType;
long SaveTrigger;
long SaveValue;
long Tls;
long TlsType;
long TlsTrigger;
long TlsValue;
long ComisionInOut;
long ComisionMethod;
double ComisionFirstInput;
double ComisionFirstInput2;
double ComisionFirstValue;
double ComisionSecondInput;
double ComisionSecondInput2;
double ComisionSecondValue;
long SymbolChange;
long Minimized;
long Privacy;
long TesterHide;
long TesterReport;
long FontName;
long Themes;
// License
string LoginUserID;
string LoginExpiry;
bool CheckVerifyLicense;
string SHowExpiry;
string ShowDaysLeft;
}Sets;
enum ControlType { Label, EditText, Button, ComboBox, Progrees, Graphic, Pictur};
struct ControlLayout {
ControlType type;
int width;
int height;
int xOffset;
int yOffset;
string text;
};
struct TooltipMapping {
int labelIndex; // The index of the label
string tooltip; // Tooltip text
};
// An object class for a list of panel objects with their names for fields located on a given tab of the panel. There will be one list per tab.
class CStringForList : public CObject
{
public:
string Name;
CWnd* Obj;
bool Hidden; // Used only in the Trading tab to avoid deleting the extra TPs but keep them hidden after removal.
CStringForList() {Hidden = false;}
};
class CPanelList : public CList
{
public:
void DeleteListElementByName(const string name);
void MoveListElementByName(const string name, const int index);
void CreateListElementByName(CObject &obj, const string name);
void SetHiddenByName(const string name, const bool hidden);
};