last works on helpers classes ...

This commit is contained in:
2024-05-18 04:17:47 +03:30
parent 727628d2e7
commit fb0b6fe38f
12 changed files with 792 additions and 161 deletions
+99 -52
View File
@@ -39,7 +39,11 @@ struct XXAMAInputs
{
//
// Props ...
string tmp;
int length; // Period
int fastEMA; // Fast EMA Period
int slowEMA; // Slow EMA Period
int maShift; // Shift
ENUM_APPLIED_PRICE appliedTo; // Applied To
//
// Constructor(s) ...
@@ -57,6 +61,11 @@ struct XXAMAInputs
void Clean()
{
//
length = 0;
fastEMA = 0;
slowEMA = 0;
maShift = 0;
appliedTo = PRICE_CLOSE;
}
//
@@ -64,6 +73,11 @@ struct XXAMAInputs
void Default()
{
//
length = 18;
fastEMA = 2;
slowEMA = 30;
maShift = 0;
appliedTo = PRICE_CLOSE;
}
//
@@ -76,7 +90,10 @@ struct XXAMAInputs
//
result =
//
false
length > 0 &&
fastEMA > 0 &&
slowEMA > 0 &&
slowEMA > fastEMA
//
;
@@ -92,7 +109,7 @@ struct XXAMAInputs
int result = 0;
//
result = MathMax(0, 0);
result = MathMax(length, length);
//
return result;
@@ -144,21 +161,26 @@ public:
//
mInputs = inputs;
// //
// // ArraySetAsSeries(shortExit2Buffer, true);
// mHandler = iCustom(
// mSymbol,
// mPeriod,
// "x-saherelm.x",
// //
// // Inputs ...
// //
// );
// result = mHandler != INVALID_HANDLE;
// if (!result)
// {
// return result;
// }
//
ArraySetAsSeries(mainBuffer, true);
mHandler = iCustom(
mSymbol,
mPeriod,
"x-saherelm.xama",
//
// Inputs ...
mInputs.length, // Period
mInputs.fastEMA, // Fast EMA Period
mInputs.slowEMA, // Slow EMA Period
mInputs.maShift, // Shift
mInputs.appliedTo // Applied To
//
);
result = mHandler != INVALID_HANDLE;
if (!result)
{
return result;
}
//
return result;
@@ -190,30 +212,55 @@ public:
//
// Buffers ...
// //
// // Copy Required Long Exits 2 ...
// int CopyLongExit2(
// int start, // Start
// int count, // Number of Items for read
// double &buffer[], // Dest Buffer
// bool forceClean = true // Force To Clean buffer
// )
// {
// //
// // Update Calculations ...
// Calculate();
//
double GetMain(
int barIndex // Bar Index
)
{
//
if (barIndex < 0)
{
barIndex = 0;
}
// //
// // Copy Items ...
// return Copy(
// start,
// count,
// longExit2Buffer,
// buffer,
// forceClean
// //
// );
// }
//
Calculate();
//
int count = ArraySize(mainBuffer);
if (barIndex >= count)
{
barIndex = count - 1;
}
//
return mainBuffer[barIndex];
}
//
// Copy Required Main Buffer ...
int CopyMainBuffer(
int start, // Start
int count, // Number of Items for read
double &buffer[], // Dest Buffer
bool forceClean = true // Force To Clean buffer
)
{
//
// Update Calculations ...
Calculate();
//
// Copy Items ...
return Copy(
start,
count,
mainBuffer,
buffer,
forceClean
//
);
}
//
// Protected ...
@@ -227,7 +274,7 @@ private:
//
// Buffers ...
// double longExit1Buffer[];
double mainBuffer[];
//
// Tools ...
@@ -239,16 +286,16 @@ private:
//
int totalBars = CountBars();
// //
// // Short Exit 2 ...
// CopyBuffer(
// mHandler,
// X_CHE_SHORT_EXIT_2_LINE,
// 0,
// totalBars,
// shortExit2Buffer
// //
// );
//
// Main Buffer ...
CopyBuffer(
mHandler,
XAMA_MAIN_LINE,
0,
totalBars,
mainBuffer
//
);
}
}
+59 -78
View File
@@ -27,19 +27,25 @@
//
// Definitions ...
//
enum ENUM_XCC_BUFFERS
{
XCC_MAIN_LINE = 0
};
//
// Input Models ...
struct XXCCInputs
{
//
// Props ...
string tmp;
//
// Chart Style ...
color upColor; // Up Color
color downColor; // Down Color
color lineColor; // Line mode and Doji candlestick Color
color bearishColor; // Bullish Color
color bullishColor; // Bearish Color
color volumesColor; // Volumes Color
//
// Presentation ...
bool showCandles; // Show Candles
//
// Constructor(s) ...
@@ -57,6 +63,15 @@ struct XXCCInputs
void Clean()
{
//
upColor = CLR_NONE;
downColor = CLR_NONE;
lineColor = CLR_NONE;
bearishColor = CLR_NONE;
bullishColor = CLR_NONE;
volumesColor = CLR_NONE;
//
showCandles = false;
}
//
@@ -64,6 +79,14 @@ struct XXCCInputs
void Default()
{
//
upColor = clrLime;
downColor = clrRed;
lineColor = clrLime;
bearishColor = clrRed;
bullishColor = clrLime;
volumesColor = clrGreen;
//
showCandles = true;
}
//
@@ -76,7 +99,7 @@ struct XXCCInputs
//
result =
//
false
true
//
;
@@ -124,7 +147,7 @@ public:
bool Init(
string symbol, // Trading Symbol
ENUM_TIMEFRAMES period, // Trading Period
XXCCInputs &inputs // Inputs
XXCCInputs &inputs // Inputs
)
{
//
@@ -144,21 +167,33 @@ public:
//
mInputs = inputs;
// //
// // ArraySetAsSeries(shortExit2Buffer, true);
// mHandler = iCustom(
// mSymbol,
// mPeriod,
// "x-saherelm.x",
// //
// // Inputs ...
// //
// );
// result = mHandler != INVALID_HANDLE;
// if (!result)
// {
// return result;
// }
//
mHandler = iCustom(
mSymbol,
mPeriod,
"x-saherelm.xcc",
//
// Inputs ...
//
// Chart Style ...
"",
mInputs.upColor, // Up Color
mInputs.downColor, // Down Color
mInputs.lineColor, // Line mode and Doji candlestick Color
mInputs.bearishColor, // Bullish Color
mInputs.bullishColor, // Bearish Color
mInputs.volumesColor, // Volumes Color
//
// Presentation ...
"",
mInputs.showCandles // Show Candles
//
);
result = mHandler != INVALID_HANDLE;
if (!result)
{
return result;
}
//
return result;
@@ -187,34 +222,6 @@ public:
);
}
//
// Buffers ...
// //
// // Copy Required Long Exits 2 ...
// int CopyLongExit2(
// int start, // Start
// int count, // Number of Items for read
// double &buffer[], // Dest Buffer
// bool forceClean = true // Force To Clean buffer
// )
// {
// //
// // Update Calculations ...
// Calculate();
// //
// // Copy Items ...
// return Copy(
// start,
// count,
// longExit2Buffer,
// buffer,
// forceClean
// //
// );
// }
//
// Protected ...
protected:
@@ -224,32 +231,6 @@ private:
//
// Props ...
XXCCInputs mInputs; // Inputs ...
//
// Buffers ...
// double longExit1Buffer[];
//
// Tools ...
//
// Calculate Values Until Now ...
void Calculate()
{
//
int totalBars = CountBars();
// //
// // Short Exit 2 ...
// CopyBuffer(
// mHandler,
// X_CHE_SHORT_EXIT_2_LINE,
// 0,
// totalBars,
// shortExit2Buffer
// //
// );
}
}
//
+433 -31
View File
@@ -30,7 +30,21 @@
//
enum ENUM_XCHLH_BUFFERS
{
XCHLH_MAIN_LINE = 0
//
// LC ...
XCHLH_LC_HH_LINE = 0,
XCHLH_LC_LL_LINE = 1,
//
// MC ...
XCHLH_MC_HH_LINE = 2,
XCHLH_MC_LL_LINE = 3,
//
// SC ...
XCHLH_SC_HH_LINE = 4,
XCHLH_SC_LL_LINE = 5,
//
// Hot State ...
XCHLH_HOT_STATE_LINE = 6
};
//
@@ -39,7 +53,66 @@ struct XXCHLHInputs
{
//
// Props ...
string tmp;
//
// Hot Areas ...
bool drawHotAreas; // Draw Hot Areas Symbol
uchar hotHHArrowCode; // Hot HH Arrow Code
color hotHHArrowColor; // Hot HH Arrow Color
uchar hotLLArrowCode; // Hot LL Arrow Code
color hotLLArrowColor; // Hot LL Arrow Color
//
// Long Cycle ...
// LC Market ...
int lcLength; // Length
double lcThresholdInPips; // Threshold In Pips
ENUM_SERIESMODE lcHHMode; // Highest High Calculation Method
ENUM_SERIESMODE lcLLMode; // Lowest Low Calculation Method
//
// LC Style ...
int lcDrawWidth; // Draw Width
ENUM_DRAW_TYPE lcDrawType; // Draw Type
ENUM_LINE_STYLE lcDrawStyle; // Draw Style
color lcHHColor; // Highest High Color
color lcLLColor; // Lowest Low Color
// LC Drawings ...
bool lcDrawHH; // Draw Highest High
bool lcDrawLL; // Draw Lowest Low
//
// Medium Cycle ...
// MC Market ...
int mcLength; // Length
double mcThresholdInPips; // Threshold In Pips
ENUM_SERIESMODE mcHHMode; // Highest High Calculation Method
ENUM_SERIESMODE mcLLMode; // Lowest Low Calculation Method
// MC Style ...
int mcDrawWidth; // Draw Width
ENUM_DRAW_TYPE mcDrawType; // Draw Type
ENUM_LINE_STYLE mcDrawStyle; // Draw Style
color mcHHColor; // Highest High Color
color mcLLColor; // Lowest Low Color
// MC Drawings ...
bool mcDrawHH; // Draw Highest High
bool mcDrawLL; // Draw Lowest Low
//
// Short Cycle ...
// SC Market ...
int scLength; // Length
double scThresholdInPips; // Threshold In Pips
ENUM_SERIESMODE scHHMode; // Highest High Calculation Method
ENUM_SERIESMODE scLLMode; // Lowest Low Calculation Method
// SC Style ...
int scDrawWidth; // Draw Width
ENUM_DRAW_TYPE scDrawType; // Draw Type
ENUM_LINE_STYLE scDrawStyle; // Draw Style
color scHHColor; // Highest High Color
color scLLColor; // Lowest Low Color
// SC Drawings ...
bool scDrawHH; // Draw Highest High
bool scDrawLL; // Draw Lowest Low
//
// Constructor(s) ...
@@ -57,6 +130,64 @@ struct XXCHLHInputs
void Clean()
{
//
// Hot Areas ...
drawHotAreas = false;
hotHHArrowCode = 234;
hotHHArrowColor = CLR_NONE;
hotLLArrowCode = 233;
hotLLArrowColor = CLR_NONE;
//
// Long Cycle ...
// LC Market ...
lcLength = 0;
lcThresholdInPips = 0;
lcHHMode = MODE_HIGH;
lcLLMode = MODE_LOW;
//
// LC Style ...
lcDrawWidth = 1;
lcDrawType = DRAW_NONE;
lcDrawStyle = STYLE_DOT;
lcHHColor = CLR_NONE;
lcLLColor = CLR_NONE;
// LC Drawings ...
lcDrawHH = false;
lcDrawLL = false;
//
// Medium Cycle ...
// MC Market ...
mcLength = 0;
mcThresholdInPips = 0;
mcHHMode = MODE_HIGH;
mcLLMode = MODE_LOW;
// MC Style ...
mcDrawWidth = 1;
mcDrawType = DRAW_NONE;
mcDrawStyle = STYLE_DOT;
mcHHColor = CLR_NONE;
mcLLColor = CLR_NONE;
// MC Drawings ...
mcDrawHH = false;
mcDrawLL = false;
//
// Short Cycle ...
// SC Market ...
scLength = 0;
scThresholdInPips = 0;
scHHMode = MODE_HIGH;
scLLMode = MODE_LOW;
// SC Style ...
scDrawWidth = 1;
scDrawType = DRAW_NONE;
scDrawStyle = STYLE_DOT;
scHHColor = CLR_NONE;
scLLColor = CLR_NONE;
// SC Drawings ...
scDrawHH = false;
scDrawLL = false;
}
//
@@ -64,6 +195,64 @@ struct XXCHLHInputs
void Default()
{
//
// Hot Areas ...
drawHotAreas = false;
hotHHArrowCode = 234;
hotHHArrowColor = CLR_NONE;
hotLLArrowCode = 233;
hotLLArrowColor = CLR_NONE;
//
// Long Cycle ...
// LC Market ...
lcLength = 28;
lcThresholdInPips = 0.3;
lcHHMode = MODE_HIGH;
lcLLMode = MODE_LOW;
//
// LC Style ...
lcDrawWidth = 1;
lcDrawType = DRAW_LINE;
lcDrawStyle = STYLE_DOT;
lcHHColor = clrAqua;
lcLLColor = clrFuchsia;
// LC Drawings ...
lcDrawHH = true;
lcDrawLL = true;
//
// Medium Cycle ...
// MC Market ...
mcLength = 14;
mcThresholdInPips = 0.3;
mcHHMode = MODE_HIGH;
mcLLMode = MODE_LOW;
// MC Style ...
mcDrawWidth = 1;
mcDrawType = DRAW_LINE;
mcDrawStyle = STYLE_DOT;
mcHHColor = clrLime;
mcLLColor = clrRed;
// MC Drawings ...
mcDrawHH = true;
mcDrawLL = true;
//
// Short Cycle ...
// SC Market ...
scLength = 7;
scThresholdInPips = 0.3;
scHHMode = MODE_HIGH;
scLLMode = MODE_LOW;
// SC Style ...
scDrawWidth = 1;
scDrawType = DRAW_LINE;
scDrawStyle = STYLE_DOT;
scHHColor = clrLightBlue;
scLLColor = clrLightSalmon;
// SC Drawings ...
scDrawHH = true;
scDrawLL = true;
}
//
@@ -76,7 +265,24 @@ struct XXCHLHInputs
//
result =
//
false
// LC ...
(lcLength >= 4 &&
lcLength > mcLength &&
lcLength > scLength)
//
&&
//
// MC ...
(mcLength >= 4 &&
mcLength > scLength &&
mcLength < lcLength)
//
&&
//
// SC ...
(scLength >= 4 &&
scLength < mcLength &&
scLength < lcLength)
//
;
@@ -92,7 +298,8 @@ struct XXCHLHInputs
int result = 0;
//
result = MathMax(0, 0);
result = MathMax(lcLength, mcLength);
result = MathMax(result, scLength);
//
return result;
@@ -124,7 +331,7 @@ public:
bool Init(
string symbol, // Trading Symbol
ENUM_TIMEFRAMES period, // Trading Period
XXCHLHInputs &inputs // Inputs
XXCHLHInputs &inputs // Inputs
)
{
//
@@ -144,21 +351,110 @@ public:
//
mInputs = inputs;
// //
// // ArraySetAsSeries(shortExit2Buffer, true);
// mHandler = iCustom(
// mSymbol,
// mPeriod,
// "x-saherelm.x",
// //
// // Inputs ...
// //
// );
// result = mHandler != INVALID_HANDLE;
// if (!result)
// {
// return result;
// }
//
ArraySetAsSeries(scHHBuffer, true);
ArraySetAsSeries(scLLBuffer, true);
ArraySetAsSeries(mcHHBuffer, true);
ArraySetAsSeries(mcLLBuffer, true);
ArraySetAsSeries(lcHHBuffer, true);
ArraySetAsSeries(lcLLBuffer, true);
ArraySetAsSeries(hotStateBuffer, true);
//
mHandler = iCustom(
mSymbol,
mPeriod,
"x-saherelm.xchlh",
//
// Inputs ...
//
// Hot Areas ...
"",
//
mInputs.drawHotAreas, // Draw Hot Areas Symbol
mInputs.hotHHArrowCode, // Hot HH Arrow Code
mInputs.hotHHArrowColor, // Hot HH Arrow Color
mInputs.hotLLArrowCode, // Hot LL Arrow Code
mInputs.hotLLArrowColor, // Hot LL Arrow Color
//
// Long Cycle ...
"",
// LC Market ...
"",
//
mInputs.lcLength, // Length
mInputs.lcThresholdInPips, // Threshold In Pips
mInputs.lcHHMode, // Highest High Calculation Method
mInputs.lcLLMode, // Lowest Low Calculation Method
//
// LC Style ...
"",
//
mInputs.lcDrawWidth, // Draw Width
mInputs.lcDrawType, // Draw Type
mInputs.lcDrawStyle, // Draw Style
mInputs.lcHHColor, // Highest High Color
mInputs.lcLLColor, // Lowest Low Color
//
// LC Drawings ...
"",
mInputs.lcDrawHH, // Draw Highest High
mInputs.lcDrawLL, // Draw Lowest Low
//
// Medium Cycle ...
"",
// MC Market ...
"",
//
mInputs.mcLength, // Length
mInputs.mcThresholdInPips, // Threshold In Pips
mInputs.mcHHMode, // Highest High Calculation Method
mInputs.mcLLMode, // Lowest Low Calculation Method
//
// MC Style ...
"",
//
mInputs.mcDrawWidth, // Draw Width
mInputs.mcDrawType, // Draw Type
mInputs.mcDrawStyle, // Draw Style
mInputs.mcHHColor, // Highest High Color
mInputs.mcLLColor, // Lowest Low Color
//
// MC Drawings ...
"",
mInputs.mcDrawHH, // Draw Highest High
mInputs.mcDrawLL, // Draw Lowest Low
//
// Short Cycle ...
"",
// SC Market ...
"",
//
mInputs.scLength, // Length
mInputs.scThresholdInPips, // Threshold In Pips
mInputs.scHHMode, // Highest High Calculation Method
mInputs.scLLMode, // Lowest Low Calculation Method
//
// SC Style ...
"",
//
mInputs.scDrawWidth, // Draw Width
mInputs.scDrawType, // Draw Type
mInputs.scDrawStyle, // Draw Style
mInputs.scHHColor, // Highest High Color
mInputs.scLLColor, // Lowest Low Color
//
// SC Drawings ...
"",
mInputs.scDrawHH, // Draw Highest High
mInputs.scDrawLL // Draw Lowest Low
//
);
result = mHandler != INVALID_HANDLE;
if (!result)
{
return result;
}
//
return result;
@@ -190,6 +486,31 @@ public:
//
// Buffers ...
// //
// double GetMain(
// int barIndex // Bar Index
// )
// {
// //
// if (barIndex < 0)
// {
// barIndex = 0;
// }
// //
// Calculate();
// //
// int count = ArraySize(mainBuffer);
// if (barIndex >= count)
// {
// barIndex = count - 1;
// }
// //
// return mainBuffer[barIndex];
// }
// //
// // Copy Required Long Exits 2 ...
// int CopyLongExit2(
@@ -227,7 +548,13 @@ private:
//
// Buffers ...
// double longExit1Buffer[];
double scHHBuffer[];
double scLLBuffer[];
double mcHHBuffer[];
double mcLLBuffer[];
double lcHHBuffer[];
double lcLLBuffer[];
double hotStateBuffer[];
//
// Tools ...
@@ -239,16 +566,91 @@ private:
//
int totalBars = CountBars();
// //
// // Short Exit 2 ...
// CopyBuffer(
// mHandler,
// X_CHE_SHORT_EXIT_2_LINE,
// 0,
// totalBars,
// shortExit2Buffer
// //
// );
//
// Short Cycle ...
//
// HH ...
CopyBuffer(
mHandler,
XCHLH_SC_HH_LINE,
0,
totalBars,
scHHBuffer
//
);
//
// LL ...
CopyBuffer(
mHandler,
XCHLH_SC_LL_LINE,
0,
totalBars,
scLLBuffer
//
);
//
// Medium Cycle ...
//
// HH ...
CopyBuffer(
mHandler,
XCHLH_MC_HH_LINE,
0,
totalBars,
mcHHBuffer
//
);
//
// LL ...
CopyBuffer(
mHandler,
XCHLH_MC_LL_LINE,
0,
totalBars,
mcLLBuffer
//
);
//
// Long Cycle ...
//
// HH ...
CopyBuffer(
mHandler,
XCHLH_LC_HH_LINE,
0,
totalBars,
lcHHBuffer
//
);
//
// LL ...
CopyBuffer(
mHandler,
XCHLH_LC_LL_LINE,
0,
totalBars,
lcLLBuffer
//
);
//
// Hot State ...
CopyBuffer(
mHandler,
XCHLH_HOT_STATE_LINE,
0,
totalBars,
hotStateBuffer
//
);
}
}
+25
View File
@@ -189,6 +189,31 @@ public:
//
// Buffers ...
// //
// double GetMain(
// int barIndex // Bar Index
// )
// {
// //
// if (barIndex < 0)
// {
// barIndex = 0;
// }
// //
// Calculate();
// //
// int count = ArraySize(mainBuffer);
// if (barIndex >= count)
// {
// barIndex = count - 1;
// }
// //
// return mainBuffer[barIndex];
// }
// //
// // Copy Required Long Exits 2 ...
+25
View File
@@ -190,6 +190,31 @@ public:
//
// Buffers ...
// //
// double GetMain(
// int barIndex // Bar Index
// )
// {
// //
// if (barIndex < 0)
// {
// barIndex = 0;
// }
// //
// Calculate();
// //
// int count = ArraySize(mainBuffer);
// if (barIndex >= count)
// {
// barIndex = count - 1;
// }
// //
// return mainBuffer[barIndex];
// }
// //
// // Copy Required Long Exits 2 ...
// int CopyLongExit2(
+25
View File
@@ -190,6 +190,31 @@ public:
//
// Buffers ...
// //
// double GetMain(
// int barIndex // Bar Index
// )
// {
// //
// if (barIndex < 0)
// {
// barIndex = 0;
// }
// //
// Calculate();
// //
// int count = ArraySize(mainBuffer);
// if (barIndex >= count)
// {
// barIndex = count - 1;
// }
// //
// return mainBuffer[barIndex];
// }
// //
// // Copy Required Long Exits 2 ...
// int CopyLongExit2(
+25
View File
@@ -190,6 +190,31 @@ public:
//
// Buffers ...
// //
// double GetMain(
// int barIndex // Bar Index
// )
// {
// //
// if (barIndex < 0)
// {
// barIndex = 0;
// }
// //
// Calculate();
// //
// int count = ArraySize(mainBuffer);
// if (barIndex >= count)
// {
// barIndex = count - 1;
// }
// //
// return mainBuffer[barIndex];
// }
// //
// // Copy Required Long Exits 2 ...
// int CopyLongExit2(
+25
View File
@@ -190,6 +190,31 @@ public:
//
// Buffers ...
// //
// double GetMain(
// int barIndex // Bar Index
// )
// {
// //
// if (barIndex < 0)
// {
// barIndex = 0;
// }
// //
// Calculate();
// //
// int count = ArraySize(mainBuffer);
// if (barIndex >= count)
// {
// barIndex = count - 1;
// }
// //
// return mainBuffer[barIndex];
// }
// //
// // Copy Required Long Exits 2 ...
// int CopyLongExit2(
+25
View File
@@ -190,6 +190,31 @@ public:
//
// Buffers ...
// //
// double GetMain(
// int barIndex // Bar Index
// )
// {
// //
// if (barIndex < 0)
// {
// barIndex = 0;
// }
// //
// Calculate();
// //
// int count = ArraySize(mainBuffer);
// if (barIndex >= count)
// {
// barIndex = count - 1;
// }
// //
// return mainBuffer[barIndex];
// }
// //
// // Copy Required Long Exits 2 ...
// int CopyLongExit2(
+25
View File
@@ -189,6 +189,31 @@ public:
//
// Buffers ...
// //
// double GetMain(
// int barIndex // Bar Index
// )
// {
// //
// if (barIndex < 0)
// {
// barIndex = 0;
// }
// //
// Calculate();
// //
// int count = ArraySize(mainBuffer);
// if (barIndex >= count)
// {
// barIndex = count - 1;
// }
// //
// return mainBuffer[barIndex];
// }
// //
// // Copy Required Long Exits 2 ...
+25
View File
@@ -190,6 +190,31 @@ public:
//
// Buffers ...
// //
// double GetMain(
// int barIndex // Bar Index
// )
// {
// //
// if (barIndex < 0)
// {
// barIndex = 0;
// }
// //
// Calculate();
// //
// int count = ArraySize(mainBuffer);
// if (barIndex >= count)
// {
// barIndex = count - 1;
// }
// //
// return mainBuffer[barIndex];
// }
// //
// // Copy Required Long Exits 2 ...
// int CopyLongExit2(
+1
View File
@@ -40,6 +40,7 @@ enum ENUM_X_XCHLH_HOT_STATES
//
// START Inputs ...
//
//
// Common ...
input group "Hot Areas";