To make use of the Good Cash Breakout Channels Scanner indicator (ver.1.20 – obtain hyperlink on the finish of the article) for EA, you may 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, it is advisable 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. Beneath are the required and obligatory enter parameters, you may change their default values as you want:
enter int iMaxBarsBack = 5000; enter bool overlap = false; enter bool robust = 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 = "MarketGood Breakout Channels MT4"; return iCustom(fSymbol, fTimeframe, indicatorCustomName, iMaxBarsBack, "", overlap, robust, 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 = "MarketGood Breakout Channels MT5 Scanner"; int deal with = iCustom(fSymbol, fTimeframe, indicatorCustomName, iMaxBarsBack, "", overlap, robust, 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 operate for EA
You utilize the getValueBuffer operate to get the worth wanted to make use of for the EA.
To substantiate that the buffer has a worth, it is advisable evaluate it with EMPTY_VALUE.
Listed below 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 may help you extra simply automate indicators from the Good Cash Breakout Channels Scanner indicator into EA.
You possibly can obtain the indicator at:


