26.6 C
New York
Saturday, September 6, 2025

Create EA (iCustom) with SMART MONEY BREAKOUT CHANNELS Scanner Indicator – Analytics & Forecasts – 2 September 2025


To make use of the Sensible Cash Breakout Channels Scanner indicator (ver.1.20 – obtain hyperlink on the finish of the article) for EA, you’ll be able to see the directions under:

a. The buffers within the indicator and their indexes:

MT5 buffer indexes:

MT4 buffer indexes: 


b. Required enter parameters:

– To make use of iCustom, you should fill in all of the parameters, as a result of the indicator makes use of a scanner, so the parameters should be entered appropriately to keep away from conflicts. Under are the required and obligatory enter parameters, you’ll be able to change their default values ​​as you want:

enter int iMaxBarsBack = 5000;
enter bool overlap = false; 
enter bool sturdy = true;
enter double body_ratio = -100;
enter int length_ = 100;
enter int length14 = 14;
enter int stdev_length = 14;
enter int ivol_type = 0;

enter int smoothedvol_length = 20;
enter int duration_length_min = 10;
enter ENUM_TIMEFRAMES tf = PERIOD_M1;
enter int iID_sc = 99;

c. iCustom:

MT4 Model 1.20:

double getValueBuffer(string fSymbol,           
                      ENUM_TIMEFRAMES fTimeframe,  
                      int fIndex,             
                      int fShift                
                     )
  {
   string indicatorCustomName = "MarketSensible Breakout Channels MT4";
   return iCustom(fSymbol, fTimeframe, indicatorCustomName, iMaxBarsBack, "", overlap, sturdy, body_ratio, length_, length14, stdev_length, "", false, 0, ivol_type, smoothedvol_length, duration_length_min, 1, tf, 0.5, false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", false, false, false, false, false, false, "", "", false, "", 0, 0, "", false, 0, 0, 0, false, 0, 0, 0, 0, 0, 0, 0, 0, "", 0, iID_sc,
                  fIndex, fShift);
  }

MT5 Model 1.20:

double getValueBuffer(string fSymbol,           
                      ENUM_TIMEFRAMES fTimeframe,  
                      int Index,             
                      int Shift                
                     )
  {
   string indicatorCustomName = "MarketSensible Breakout Channels MT5 Scanner";
   int deal with = iCustom(fSymbol, fTimeframe, indicatorCustomName, iMaxBarsBack, "", overlap, sturdy, body_ratio, length_, length14, stdev_length, "", false, 0, ivol_type, smoothedvol_length, duration_length_min, 1, tf, 0.5, "", false, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", false, false, false, false, false, false, "", "", false, "", 0, 0, "", false, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, "", 0, iID_sc);
   if(deal with < 0)
      return(EMPTY_VALUE);
   else
     {
      double buf[];
      if(CopyBuffer(deal with, Index, Shift, 1, buf) > 0)
         return(buf[0]);
     }
   return EMPTY_VALUE;
  }

d. Use  getValueBuffer perform for EA

You employ the getValueBuffer perform to get the worth wanted to make use of for the EA.

To substantiate that the buffer has a worth, you should examine it with EMPTY_VALUE.

Listed here are some examples to verify that the earlier bar buffers (shift = 1) have a worth:


   int shift  = 1;
   bool buySignal = getValueBuffer(_Symbol, PERIOD_CURRENT, 0, shift) != EMPTY_VALUE;
   bool sellSignal = getValueBuffer(_Symbol, PERIOD_CURRENT, 1, shift) != EMPTY_VALUE;


   int shift_channel = shift + 1;

   double upperLevelMT5 = getValueBuffer(_Symbol, PERIOD_CURRENT, 8, shift_channel);
   double middleLevelMT5 = getValueBuffer(_Symbol, PERIOD_CURRENT, 9, shift_channel);
   double lowerLevelMT5 = getValueBuffer(_Symbol, PERIOD_CURRENT, 10, shift_channel);
   double upVolumeMT5 = getValueBuffer(_Symbol, PERIOD_CURRENT, 11, shift_channel);
   double dnVolumeMT5 = getValueBuffer(_Symbol, PERIOD_CURRENT, 12, shift_channel);
   double deltaVolumeMT5 = getValueBuffer(_Symbol, PERIOD_CURRENT, 13, shift_channel);

   double upperLevelMT4 = getValueBuffer(_Symbol, PERIOD_CURRENT, 14, shift_channel);
   double middleLevelMT4 = getValueBuffer(_Symbol, PERIOD_CURRENT, 15, shift_channel);
   double lowerLevelMT4 = getValueBuffer(_Symbol, PERIOD_CURRENT, 16, shift_channel);
   double upVolumeMT4 = getValueBuffer(_Symbol, PERIOD_CURRENT, 17, shift_channel);
   double dnVolumeMT4 = getValueBuffer(_Symbol, PERIOD_CURRENT, 18, shift_channel);
   double deltaVolumeMT4 = getValueBuffer(_Symbol, PERIOD_CURRENT, 19, shift_channel);

Hopefully this text can assist you extra simply automate indicators from the Sensible Cash Breakout Channels Scanner indicator into EA.

You may obtain the indicator at:

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles