diff --git a/Helpers/x-saherelm.xama.helper.mq5 b/Helpers/x-saherelm.xama.helper.mq5 index 2c2dbbea..f74af6a6 100644 --- a/Helpers/x-saherelm.xama.helper.mq5 +++ b/Helpers/x-saherelm.xama.helper.mq5 @@ -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 + // + ); } } diff --git a/Helpers/x-saherelm.xcc.helper.mq5 b/Helpers/x-saherelm.xcc.helper.mq5 index 125162e5..1e923eb2 100644 --- a/Helpers/x-saherelm.xcc.helper.mq5 +++ b/Helpers/x-saherelm.xcc.helper.mq5 @@ -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 - // // - // ); - } } // diff --git a/Helpers/x-saherelm.xchlh.helper.mq5 b/Helpers/x-saherelm.xchlh.helper.mq5 index db2a241e..75192090 100644 --- a/Helpers/x-saherelm.xchlh.helper.mq5 +++ b/Helpers/x-saherelm.xchlh.helper.mq5 @@ -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 + // + ); } } diff --git a/Helpers/x-saherelm.xchma.helper.mq5 b/Helpers/x-saherelm.xchma.helper.mq5 index 1237da18..3c0f503f 100644 --- a/Helpers/x-saherelm.xchma.helper.mq5 +++ b/Helpers/x-saherelm.xchma.helper.mq5 @@ -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 ... diff --git a/Helpers/x-saherelm.xfi.helper.mq5 b/Helpers/x-saherelm.xfi.helper.mq5 index 13e8c04e..a011c6ae 100644 --- a/Helpers/x-saherelm.xfi.helper.mq5 +++ b/Helpers/x-saherelm.xfi.helper.mq5 @@ -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( diff --git a/Helpers/x-saherelm.xlh.helper.mq5 b/Helpers/x-saherelm.xlh.helper.mq5 index d8bd0665..0024904c 100644 --- a/Helpers/x-saherelm.xlh.helper.mq5 +++ b/Helpers/x-saherelm.xlh.helper.mq5 @@ -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( diff --git a/Helpers/x-saherelm.xobd.helper.mq5 b/Helpers/x-saherelm.xobd.helper.mq5 index dc6c58f4..517a207e 100644 --- a/Helpers/x-saherelm.xobd.helper.mq5 +++ b/Helpers/x-saherelm.xobd.helper.mq5 @@ -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( diff --git a/Helpers/x-saherelm.xrsi.helper.mq5 b/Helpers/x-saherelm.xrsi.helper.mq5 index dccde802..8eb62e0e 100644 --- a/Helpers/x-saherelm.xrsi.helper.mq5 +++ b/Helpers/x-saherelm.xrsi.helper.mq5 @@ -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( diff --git a/Helpers/x-saherelm.xtd.helper.mq5 b/Helpers/x-saherelm.xtd.helper.mq5 index 1098a0ac..9dd44dc3 100644 --- a/Helpers/x-saherelm.xtd.helper.mq5 +++ b/Helpers/x-saherelm.xtd.helper.mq5 @@ -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( diff --git a/Helpers/x-saherelm.xtm.helper.mq5 b/Helpers/x-saherelm.xtm.helper.mq5 index 0d512061..8d9b2d51 100644 --- a/Helpers/x-saherelm.xtm.helper.mq5 +++ b/Helpers/x-saherelm.xtm.helper.mq5 @@ -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 ... diff --git a/Helpers/x-saherelm.xts.helper.mq5 b/Helpers/x-saherelm.xts.helper.mq5 index 206dd980..32ac2cef 100644 --- a/Helpers/x-saherelm.xts.helper.mq5 +++ b/Helpers/x-saherelm.xts.helper.mq5 @@ -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( diff --git a/Indicators/x-saherelm.xchlh.mq5 b/Indicators/x-saherelm.xchlh.mq5 index 83ebacbf..8a1bef78 100644 --- a/Indicators/x-saherelm.xchlh.mq5 +++ b/Indicators/x-saherelm.xchlh.mq5 @@ -40,6 +40,7 @@ enum ENUM_X_XCHLH_HOT_STATES // // START Inputs ... // + // // Common ... input group "Hot Areas";