Abiroid Customizer Explained

Abiroid Customizer Explained

30 September 2024, 02:06
Abir Pathak
0
34

This is a Custom Indicator Signal Generator tool for Metatrader 4 (MT4)

Arrows (paid):

https://www.mql5.com/en/market/product/69237

Scanner (Free):

https://abiroid.com/download/abiroid-customizer-scanner_v1-6-zip/

Note that the scanner needs Arrows ex4 to work. So make sure both Scanner and Arrows are in same directory.
Scanner is Abiroid Customizer Scanner.ex4

And it will look for Abiroid Customizer Arrow.ex4 in same folder.


The properties .set files are interchangeable for both.

Just make sure to set fewer Max Past Bars for scanner. To ensure it runs smoothly. And use different Unique Prefixes.


 

Features:

  • Specify your own Custom Indicators or MT4 In-Built indicators which have an ex4
  • Specify Buffer values and create Variables
  • Use those Variables to create your own Buy/Sell Conditions
  • Get Arrows Up/Down Signals
  • See Arrows Signals in Scanners and how many bars back Signal occurred
  • Get Alerts on New Signals (Popup, Push, File or Email)

This is a complex but very useful tool. Please read the description carefully before buying.

As, I won’t be able to add any complex types of conditions or comparisons. Only bug fixes and product support will be available.

Hope you enjoy using it 🙂

 

What it Doesn’t Support:

  • Indicators which don’t provide buffer values are not supported.
  • Changing Properties of Custom Indicators. You can change properties directly in mq4. Or, you could create your own wrapper indicators. With changed property values inside the indicator itself.
  • No complex calculations allowed in conditions. Just left and right values and comparison.

 

Be Careful:

If your Custom Indicators are too heavy, they might hang the scanner or give you memory issues. So be careful and only load number of pairs/timeframes and MaxPastBars that your Metatrader app can handle.

 

Scanner:


 

Video Tutorial

 

How To Use:

Set Variables:

You can set a total of 20 Variables.

Format:

Var = UniqueName | Indicator | Buffer | Timeframe | Shift

UniqueName: A unique name of variable which should not clash with any other name

Example don’t set one var name “RSI” and another var name “RSI_A”

In this case RSI name is not unique.

Indicator:

Your custom Indicator name without the .ex4 extension. In case your Custom indicator is inside a folder, then specify it with the folder name.

Example your custom Indicator is Traders_Dynamic_Index.ex4 and it’s inside TDI folder, then specify it as:

TDI/Traders_Dynamic_Index

Buffer:

Buffer number where it should take the value from. Buffers start from 0.

Note that some indicators have hidden buffers. So, if you take Buffer Values from Data Window, and are getting incorrect values, then also verify from mq4 code.

And check SetIndexBuffer functions in Init function. And make sure Buffer numbers are correct.

Timeframe:

Timeframe for which you need the variable value for. HTF needs to be of this format.

Default is current timeframe if this is left blank and nothing is specified.

Get chart timeframe values from:

https://docs.mql4.com/constants/chartconstants/enum_timeframes

Only use Standard timeframes.

Here are some examples of what variables should look like in this TDI Indicator:



Shift:

Find values for the buffer for this bar number. Suppose Shift is 0, it will check current bar which is still ongoing.

Default is Shift 1 if nothing is specified. And left blank.

 

Set Conditions:

You can set a total of 7 Buy and 7 Sell Conditions.

If you have multiple conditions that you want to run on the same bar then set them all in same Condition text.

If you want to check conditions on different bars, then set them separately on “BuyCondition 1” and “BuyCondition 2” and so on.



Wait Bars For All Conditions: It will check all conditions to be true within given number of bars

Is Condition Check Sequential: If true, then it will check all conditions sequentially.

“BuyCondition 1” first. Then “BuyCondition 2” and so on.

 

Only simple conditions are allowed. No complex math calculations. Only Comparison conditions available.

What each Conditions means:

  • Equal: RSI = 30
  • Not equal: RSI != 30
  • More than or “More than or Equal”
    • x > 10 means x is more than 10
    • x >= 10 means x is more than or equal to 10
  • Less than or “Less than or Equal”
    • x < 10 means x is less than 10
    • x <= 10 means x is less than or equal to 10

 

  • Value crosses Up and Down: RSI >< 70 means RSI crossed above 70 in previous bar and is now below 70 in current bar
  • Value crosses Down and Up: RSI <> 30 means RSI crossed below 30 in previous bar and is now above 30 in current bar

Predefined Variables:

You can also use these:

PRICE_OPEN: Means Open price for that bar.

PRICE_CLOSE: Close price for that bar.

PRICE_HIGH: High for that bar.

PRICE_LOW: Low for that bar.

EMPTY_VALUE: If a value is not set for a buffer. Then it’s empty. Empty value is integer: 2147483647

 

Separators:

Delimeter(&): Means AND

Condition1 & Condition2

means check if Condition1 is true AND then check if Condition2 is true

 

Delimiter (|): Means OR

Condition1 | Condition2

means check Condition1 is true OR check if Condition2 is true

Max Sequential Conditions allowed in a single Condition are 3. Anything more and Indicator won’t load.

Examples:

Variable1:

Buy Condition1: RSI<>32 | RSI <> VB_DOWN

Buy Condition2: RSI < MBL & RSI < TSL

 

Means check for RSI goes below 32 in previous bar and above it in current bar OR RSI goes below the lower Volatility Band and above it.

If either of these conditions is true then the whole Buy Condition 1 is true.

Next check if RSI (green line) is less than MBL (red line). This Buy Condition2 should become true within “Wait Bars” number of bars.

If sequential check is true, then Condition1 should become true before Condition2.

 

This shows when all conditions meet:


Max 3 Conditions:

E.g.: If you have RSI < MBL & RSI < TSL & TSL < MBL

It’s fine.

But if you have RSI < MBL & RSI < TSL & TSL < MBL & TSL < VB_DOWN

Then indicator won’t load.

 

Other Settings:

You can keep Max Spread. In case you want to ignore signals if spread is too high. 0 means no check.

Alerts:

  • Popup Alerts by default is true.
  • Push Notification
  • Email
  • Files (or Custom File name)


Info:


This will show you all possible set conditions in a corner on your chart like this:


 

Debug Messages and Arrows:


Show Values in Journal: To see variable values in your Experts tab logs.

Show Debug Text: Shows Debug Text messages on chart as to which conditions were met on which bar. e.g.: B1 for BuyCondition1. S1 for Sell Condition1 and so on.

Debug Detailed: Shows bar number as well along with debug message


 

Scanner:

Read about common scanner settings here:

https://www.mql5.com/en/blogs/post/747456


Most scanner settings are same as Arrows settings. And .set files for both are interchangeable. Make sure to use Unique different prefixes for both.

And fewer Max Past bars for scanner.

Info Panel is on Right-Upper Corner by default:



 

Refresh Number of Ticks (0 means off):

Refresh Scanner every number of ticks. If 0, it means scanner will refresh every new bar based on the chart timeframe on which it is loaded.

Shift: In case you are using Shift 0 and need to refresh dash at specific intervals, then use this value.

For Shift 1 and above, keep Refresh Ticks to 0. As it’s not needed as indicators value will only change on new bar anyway.

Scanner shows which conditions have matched and which still remain.

If Buy Condition matched, it will turn green.

If Sell Condition matched, it will turn red.

Yellow means condition unmatched and still waiting.

Box highlight color will match the last arrow it had received. Regardless of which signal check is currently ongoing.

MaxPastBars: Scanner will search for MaxPastBars number of bars. And show an Arrow and how many bars back the arrow occurred in brackets.

PastBars_BackAlerts: In case an arrow had occurred scanner will show an alert within these bars. Set it to 1 if you only want last closed bar signal alerts.

If you want even older alerts, set it to your preferred number.

Recalculate Past Bars:  If you are using any repainting custom indicators which need to be recalculated every few bars, then set this. Else leave it to 0.

Highlight Open Orders: Based on Buy/Sell or based on Profit/Loss

No highlight. Or HightLight Buy (green) / Sell (red). Or HighLight Profit (green) / Loss (red)

 

Example Customizer Strategies:

Darvas Boxes Strategy:

 

Customizer Sample Wrappers:

Sample code for getting next higher timeframe indicator values in buffer.

Inbuilt MA Indicator:

Example used is Inbuilt MA Indicator. Along with Price values, etc.

Just replace it with any iCustom indicator you like

Simple:

HTF:

 

Simple Price Values:

 

iCustom:

Sometimes certain indicators keep their buffers hidden. You can use this iCustom Wrapper to show their buffers:

In settings use the ex4 name for which you need to find buffer values.

And use Buffer numbers for Buffer A and B:


Best way to find buffer numbers is to change the colors in Colors tab. For your original indicator which is using hidden buffers:

Here’s an example with hidden arrows:


Now you’ll see the values in Buffers of your wrapper in your Data Window. Use these values to create Customizer Buy/Sell Conditions.

 

Arrows indicator:

Sample Wrapper for an Arrows indicator where you only have ex4 but not it’s source mq4:

Just replace the “Abiroid_Arrow_Heiken_VQ” string with your arrows indicator name. And also add the settings of your arrows indicator in iCustom function.

The settings need to be in the same sequence in iCustom as they are in your custom indicator ex4.

 

Changelog:

v1.0 Base Version

v1.1 Redesign. Added 7 Conditions options

v1.2 Added Info about Conditions
– Recalculate past bars

v1.3 Added Show Values In Journal Option

v1.4 – Changed AND Conditions to use & operator
– Added support for 3 sequential conditions in a single Buy/Sell Condition

v1.5 Highlight Open Orders: Added option to Highlight based on Buy/Sell or based on Profit/Loss

No highlight. Or HightLight Buy (green) / Sell (red). Or HighLight Profit (green) / Loss (red)

v1.6 Added a Shift option in variable string