From cc4ccdd1fa97901fe832cd7f782e03dccad087c8 Mon Sep 17 00:00:00 2001 From: Hadi Khazaee Asl Date: Fri, 3 Oct 2025 01:12:41 +0330 Subject: [PATCH] last ... --- Helpers/x-saherelm.xfima.helper.mq5 | 193 +++++++++++++++++++++++----- 1 file changed, 162 insertions(+), 31 deletions(-) diff --git a/Helpers/x-saherelm.xfima.helper.mq5 b/Helpers/x-saherelm.xfima.helper.mq5 index 2f055088..c40b73de 100644 --- a/Helpers/x-saherelm.xfima.helper.mq5 +++ b/Helpers/x-saherelm.xfima.helper.mq5 @@ -33,15 +33,14 @@ // Buffers ... enum ENUM_XFIMA_BUFFERS { + // + // Plot Buffers ... XFIMA_MA_FAST_LINE = 0, XFIMA_MA_FAST_COLOR_LINE = 1, - XFIMA_MA_FAST_STATE_LINE = 21, XFIMA_MA_SLOW_LINE = 2, XFIMA_MA_SLOW_COLOR_LINE = 3, - XFIMA_MA_SLOW_STATE_LINE = 22, XFIMA_SAR_LINE = 4, XFIMA_SAR_COLOR_LINE = 5, - XFIMA_SAR_STATE_LINE = 23, XFIMA_PEAK_LINE = 6, XFIMA_VALE_LINE = 7, XFIMA_FIBO_UPPER_LINE = 8, @@ -50,11 +49,6 @@ enum ENUM_XFIMA_BUFFERS XFIMA_ZIGZAG_LINE = 11, XFIMA_MA_BOND_UPPER_LINE = 12, XFIMA_MA_BOND_LOWER_LINE = 13, - XFIMA_ZIGZAG_HIGHS_LINE = 32, - XFIMA_ZIGZAG_HIGHS_TIME_LINE = 33, - XFIMA_ZIGZAG_LOWS_LINE = 34, - XFIMA_ZIGZAG_LOWS_TIME_LINE = 35, - // XFIMA_HK_OPEN_LINE = 14, XFIMA_HK_HIGH_LINE = 15, XFIMA_HK_LOW_LINE = 16, @@ -62,29 +56,31 @@ enum ENUM_XFIMA_BUFFERS XFIMA_HK_COLOR_LINE = 18, XFIMA_HK_BOND_UPPER_LINE = 19, XFIMA_HK_BOND_LOWER_LINE = 20, - XFIMA_HK_RAW_OPEN_LINE = 36, - XFIMA_HK_RAW_HIGH_LINE = 37, - XFIMA_HK_RAW_LOW_LINE = 38, - XFIMA_HK_RAW_CLOSE_LINE = 39, - // 21 Ma Fast State - // 22 Ma Slow State - // 23 Sar State - XFIMA_SC_HH_LINE = 24, - XFIMA_SC_LL_LINE = 25, - XFIMA_MC_HH_LINE = 26, - XFIMA_MC_LL_LINE = 27, - XFIMA_LC_HH_LINE = 28, - XFIMA_LC_LL_LINE = 29, - XFIMA_HC_HH_LINE = 30, - XFIMA_HC_LL_LINE = 31, - // 32 ZigZag Highs - // 33 ZigZag Highs Time - // 34 ZigZag Lows - // 35 ZigZag Lows Time - // 36 HK Raw Open - // 37 HK Raw High - // 38 HK Raw Low - // 39 HK Raw Close + XFIMA_PB_BOND_UPPER_LINE = 21, + XFIMA_PB_BOND_LOWER_LINE = 22, + // + // Data Buffers ... + XFIMA_MA_FAST_STATE_LINE = 23, + XFIMA_MA_SLOW_STATE_LINE = 24, + XFIMA_SAR_STATE_LINE = 25, + XFIMA_SC_HH_LINE = 26, + XFIMA_SC_LL_LINE = 27, + XFIMA_MC_HH_LINE = 28, + XFIMA_MC_LL_LINE = 29, + XFIMA_LC_HH_LINE = 30, + XFIMA_LC_LL_LINE = 31, + XFIMA_HC_HH_LINE = 32, + XFIMA_HC_LL_LINE = 33, + XFIMA_ZIGZAG_HIGHS_LINE = 34, + XFIMA_ZIGZAG_HIGHS_TIME_LINE = 35, + XFIMA_ZIGZAG_LOWS_LINE = 36, + XFIMA_ZIGZAG_LOWS_TIME_LINE = 37, + XFIMA_HK_RAW_OPEN_LINE = 38, + XFIMA_HK_RAW_HIGH_LINE = 39, + XFIMA_HK_RAW_LOW_LINE = 40, + XFIMA_HK_RAW_CLOSE_LINE = 41, + XFIMA_PB_BOND_RAW_UPPER_LINE = 42, + XFIMA_PB_BOND_RAW_LOWER_LINE = 43, }; // @@ -3386,6 +3382,141 @@ class XCXFIMAHelper : public XCBaseHelper ); } + // + // XPB ... + + // + // Upper PB ... + + // + double GetPBBondUpper( + int barIndex // Bar Index + ) + { + // + return ReadValue( + (int)XFIMA_PB_BOND_UPPER_LINE, + barIndex // + ); + } + + // + int CopyPBBondUpper( + int start, // Start + int count, // Number of Items for read + double &buffer[], // Dest Buffer + bool asSeries = true // As Series Flag + ) + { + // + return ReadValues( + buffer, + (int)XFIMA_PB_BOND_UPPER_LINE, + start, + count, + asSeries // + ); + } + + // + // Lower PB ... + + // + double GetPBBondLower( + int barIndex // Bar Index + ) + { + // + return ReadValue( + (int)XFIMA_PB_BOND_LOWER_LINE, + barIndex // + ); + } + + // + int CopyPBBondLower( + int start, // Start + int count, // Number of Items for read + double &buffer[], // Dest Buffer + bool asSeries = true // As Series Flag + ) + { + // + return ReadValues( + buffer, + (int)XFIMA_PB_BOND_LOWER_LINE, + start, + count, + asSeries // + ); + } + + // + // Upper PB ... + + // + double GetPBRawBondUpper( + int barIndex // Bar Index + ) + { + // + return ReadValue( + (int)XFIMA_PB_BOND_RAW_UPPER_LINE, + barIndex // + ); + } + + // + int CopyPBRawBondUpper( + int start, // Start + int count, // Number of Items for read + double &buffer[], // Dest Buffer + bool asSeries = true // As Series Flag + ) + { + // + return ReadValues( + buffer, + (int)XFIMA_PB_BOND_RAW_UPPER_LINE, + start, + count, + asSeries // + ); + } + + // + // Lower PB ... + + // + double GetPBRawBondLower( + int barIndex // Bar Index + ) + { + // + return ReadValue( + (int)XFIMA_PB_BOND_RAW_LOWER_LINE, + barIndex // + ); + } + + // + int CopyPBRawBondLower( + int start, // Start + int count, // Number of Items for read + double &buffer[], // Dest Buffer + bool asSeries = true // As Series Flag + ) + { + // + return ReadValues( + buffer, + (int)XFIMA_PB_BOND_RAW_LOWER_LINE, + start, + count, + asSeries // + ); + } + // // SAR ...