+-----------------------------------------------------------------+
|                       Free Grid Martingale Plus Version 1.0 USE |
|                                                                 |
|                                  Expert Advisor User Guide Book |
|               Free_Grid_Martingale_Plus_User_Guide_Book_USE.txt |
+-----------------------------------------------------------------+

Mainstream Edition Publisher (2023) : Mure (Kaigai FX Taizen)
Tributary  Edition Publisher (2024) : Project Profit Prophet

This file is a user guide book for Free Grid Martingale Plus version 1.0 Tributary Edition (US English).

+-------------------------------------------------- Section 01 ---+
| Introduction                                                    |
+-----------------------------------------------------------------+

+ Abstract of the section

This section will cover table of contents, and information related to the operation of the Expert Advisor.

--------------------------------------------------- Section 01 A --

+ Table of Contents

Section 01   - Introduction
Section 01 A - Table of Contents
Section 01 B - Freeware Disclaimer
Section 01 C - Privacy Statement
Section 01 D - Description of this Expert Advisor
Section 01 E - Setup instruction for Expert Advisor on Meta Trader 4
Section 01 F - Knowledge base of technical analysis

Section 02   - Description of the parameters within the trade setting
Section 02 A - Format and definition of each portion within the table
Section 02 B - Magic Number Setting
Section 02 C - Lot Setting
Section 02 D - Order Filter Setting
Section 02 E - Order Open Setting
Section 02 F - Order Close Setting
Section 02 G - Order Price Setting

Section 03   - Description of the parameters within the indicator setting
Section 03 A - Indicator switch for model of Relative Strength Index (RSI)
Section 03 B - Indicator setting of Relative Strength Index Adaptive model (Adaptive RSI)
Section 03 C - Indicator setting of Relative Strength Index Advanced model (Advanced RSI / CFGMO)
Section 03 D - Indicator setting of Relative Strength Index Asymmetric model (Asymmetric RSI)
Section 03 E - Indicator setting of Relative Strength Index Cutler model (Cutler RSI)
Section 03 F - Indicator setting of Relative Strength Index Stochastic model (Stochastic RSI)
Section 03 G - Indicator setting of Relative Strength Index Wilder model (Wilder RSI / Original)
Section 03 H - Indicator setting of Relative Strength Index Zero Lag model (Zero Lag RSI)
Section 03 I - Indicator setting of Momentum to define trend direction

Section 04   - Technical support
Section 04 A - Problem solving options
Section 04 B - Reference of the MQL4 to understand the source code
Section 04 C - Contact for feedback of the tributary edition

End users may use table of contents as bookmark by selecting the text of section and using find function.

--------------------------------------------------- Section 01 B --

+ Freeware Disclaimer

This freeware is offered in its natural state, without warranties of any kind.
Developers of this freeware, including updates, are not liable for any damage caused by executed operations.
End users acknowledge and agree to the terms that it is the responsibility of the end user to determine usage of freeware.
Data types of identifiers have been optimized to narrow the range of values, but only for mitigation of invalid values. 
Values defined in the parameters may exceed limits due to range mismatch of data type, indicator, and broker settings.
Strict range control for identifiers may inflate entire source code, resulting in slower data processing, which is avoided.
Failure to set values of identifiers within the appropriate range can result in undesirable results, including loss of money.

This freeware is prohibitted for sharing activities of commercial use that may profit the end user.
Sharing activities include sale, lease, subscription service at charge, and commercial use as Introducing Broker.
Partial integration of source code into another Expert Advisor for commercial use may also violate this term.

This freeware is redristibutable, and may be released with modifications for updates as long as it is not for commercial use.
Terms will not become void as a result of this, including change in name, version, edition, and language.
Commercial use for mainstream and tributary versions are only determined by the mainstream founders with legal privilege.

This freeware includes several models of indicators provided by other publishers with different legal statements.
Cardwell Financial Group Momentum Oscillator (CFGMO) registered as Advanced RSI is not within the package for this issue.
CFGMO is copyrighted at the United States Copyright Office with registration / date number TX0003375191 / 1992-07-22.
Compiled format of the indicator may be downloaded from FX Code Base website, as mentioned in package list.

Few indicators use iMAOnArray function that is known for slow processing speed issues within strategy tester.
Please consider the specification of this function for optimization.

--------------------------------------------------- Section 01 C --

+ Privacy Statement

Free Grid Martingale Plus version 1.0 does not include source code that will collect personal data provided to the publisher.
However, trade data interactions will occur for trade executions with the forex brokers.
Third party services such as trade disclosure and cash back sites may recieve trade data under approval by end user.
Government of the residence that the end user resides may also recieve trade data indirectly for tax and legal issues.
The publisher has no control of data transactions that may happen outbound of the source code.

--------------------------------------------------- Section 01 D --

+ Description of this Expert Advisor
 
Free Grid Martingale has been released in 2023 by publisher alias Mure of the Kaigai FX Taizen site, as Grid Free.
Free Grid Martingale is defined as a grid trade Expert Advisor for Meta Trader 4.
Free Grid Martingale is a free public domain source, customized Expert Advisor of Nanpin Martin Gold, published by Hosono P. 
Free Grid Martingale uses optional Martingale strategy for cost average in counter trend scenarios.

The mainstream of Free Grid Martingale by publisher alias Mure has not been updated since version 1.
The tributary has divided from version 1, which publisher alias Project Profit Prophet expanded the features.
Identifier names of older versions will be updated to current version to avoid confusion.

Free Grid Martingale Plus version 1.0 has been released with fixes to adapt with new standards of Meta Trader 4.
Source code has been renovated using program conventions, including indents, spacing, line feed, and names of identifier.
Release note is covered by text file within the package, independent of the source code.
Names of identifier have been renamed into RDBMS format, avoiding conflicts with constants and functions.
Order of phrases is intended to provide readability towards natural language for programmers willing to revise source code.
Additional features have been integrated with configurable parameters.
Drop boxes have been added for certain options to simplify tasks, and optimization of the parameters.
Data types have been determined to save memory space, and mitigate memory leaks, and mitigate impact of invalid values.
This is a tradeoff of process speed and memory space saving also considering use for VPS environment.

--------------------------------------------------- Section 01 E --

+ Setup instruction for expert advisor on Meta Trader 4

Expert Advisor on Meta Trader 4 must be moved into the Experts folder under parent directory of MQL4.
Attached files such as indicators and libraries must also be moved to folders under the corresponding directory of MQL4.
If there are any indicators with same name and version, overwrite those with indicators from this package.
Indicators within the package have been revised for Meta Trader 4 Build 600 and afterward.
Custom indicators missing from the Indicators folder will limit trade to local indicators.
Compilation could be executed through Meta Editor within the main directory.
End user may setup Expert Advisor through navigator window by double click or through chart by right click.
Settings to enable and allow trading must be configured for activation, when connected to forex broker.
Optimization of Expert Advisor may be engaged through functions in strategy tester window.
Settings for parameters must be configured in advance, while the factory setting are configured only for demonstration.
Presets will not be provided, and it is the responsibility of end user to generate optimized settings.
Parameters of the indicator setting in the factory setting are set to default or common values.
Precise setup procedure for the Expert Advisor may be found from EA Trading Academy, within the link below. 

EA Trading Academy - How to Install an Expert Advisor on MetaTrader?
https://eatradingacademy.com/how-to-install-an-expert-advisor-on-metatrader/

--------------------------------------------------- Section 01 F --

+ Knowledge base of technical analysis

Expert Advisor utilizes various indicators from technical analysis as signals for trade.
Knowledge base will provide information about the functions and parameters of the indicators.
This will guide end users to configure the settings for optimization.
Precise descriptions of technical analysis used for indicators may be found from Investopedia, within the link below.

Investopedia - Technical Analysis Basic Education
https://www.investopedia.com/technical-analysis-basic-education-4689655

Indicators within this Expert Advisor includes the following Relative Strength Index (RSI) models.

- Adaptive RSI

This model is based on Adaptive Moving Average (AMA) of 1998 by American quantitative financial theorist Perry J. Kaufman.
This model is a high sensitive indicator, but also filters noise and adapts the smoothing constant to the current period.
Different from others, there are no indicator levels of overbought and oversold, and without peak limits of the indicator levels.
Meanwhile, the calculation of the output is automated with simplicity of one external parameter, which is the period.


- Advanced RSI (Cardwell Financial Group Momentum Oscillator / CFG MO)

This model is known as Cardwell Financial Group Momentum Oscillator (CFG MO) of 1992 by Andrew E. Cardwell, Jr.
This model is a high precisive indicator with complex formula of momentum, moving average, and Wilder model of RSI.
It is useful to determine divergence, as well as direction of trend by slow and fast supplemental RSI.
There are many parameters to adjust trade performance with various pairs, but requires patience for optimization.
However, this also provides opportunity to avoid false signals that may trap the Expert Advisor.


- Asymmetric RSI

This model has been introduced within the article of Stocks and Commodities magazine in 2008 by Sylvain Vervoort.
This model is a high sensitive indicator with amplified signal output reaching overbought and oversold levels easier for fast response.
Adaptive Exponential Moving Average (Adaptive EMA) replaces the Exponential Moving Average (EMA) of the Wilder model. 
The senstivity may increase trade frequencies, but may also increase chance of picking up false signals.
Divergence should be monitored to avoid or mitigate loss by false signals.


- Cutler RSI / Chande Momentum Oscillator (CMO)

This model has been published on Aspen Tech website in 2003 as Cutler RSI, but the background of the development and the inventor is not known.
This model measures momentum both in direction without smoothing, which oversold and overbought are more frequent.
Simple Moving Average (SMA) replaces the Exponential Moving Average (EMA) of the Wilder model.
Therefore, usage for higher time frame and long period may be ideal.
Similar approach known as Chande Momentum Oscillator (CMO) has been introduced in 1994 within book of The New Technical Trader by Tushar Chande and Stanley Kroll.


- Stochastic RSI (Stoch RSI)

This model is known as Stoch RSI of 1994 within book of The New Technical Trader by Tushar Chande and Stanley Kroll.
This model is a high precisive indicator with complex formula of Stochastic and RSI.
Stochastic period of K and D is applied to a set of RSI values, and are displayed as oscillator lines for the indicator.
Different from others, standard overbought and oversold levels are based on Stochastics.


- Wilder RSI (Original)

This model is the original RSI introduced in 1978, within the book of New Concepts in Technical Trading Systems by John W. Wilder Jr.
This model is known as a momentum indicator to determine change in trends by overbought and oversold levels.
Exponential Moving Average (EMA) is used for the calculation of the formula that will adjust weight to current trends.
It is considered to have better performance for range markets, and is vulnerable to false signals alone. 
On the otherhand, pairs with low volatility and less trend market are ideal for this indicator.


- Zero Lag RSI

This model has been introduced on FX Code Base in 2015 for Lua by forum alias Apprentice, and for Meta Trader 4 version by forum alias Alexander Gettinger.
This model categorize up trend and down trend for indicator level above and below the average, displayed as histogram.
Different from others, there are no indicator levels of overbought and oversold, and without peak limits of the indicator levels.
Individual sets of RSI parameters with different defined periods are amplified, or deamplified by factors for smoothing.
Histogram format with subcategories provide opportunities to determine countertrend with mitigation of false signals.

+-------------------------------------------------- Section 02 ---+
| Description of the parameters within the trade setting          |
+-----------------------------------------------------------------+

+ Abstract of the section

This section will cover the description of the trade settings.

--------------------------------------------------- Section 02 A --

+ Format and definition of each portion within the table

External Name : Identifier name displayed in setting window.
Internal Name : Identifier name displayed in source code.
Data     Type : Identifier data type.
Default Value : Identifier default value of factory setting.

Description of the identifier is provided under each table.
If the identifier is boolean, results of true and false are mentioned.
If the identifier is enumeration, results of each value are mentioned.

Data type included in the settings are list below.

Integer      - Set of characters processed as digits without floating points (int, short, and char).
Decimal      - Set of characters processed as digits with floating points (double, and float).
String       - Set of characters processed text (string).
Boolean      - true and false processed as digits, and represented by phrase(bool).
Enumerator   - list processed as digits, and represented by phrase (enum).

--------------------------------------------------- Section 02 B --

+ Magic Number Setting

External Name : Magic Number
Internal Name : Magic_Number
Data     Type : Integer
Default Value : 777999

Set magic number in digits for identification of orders by Expert Advisor.
Refrain from changing the value between trades.
Avoid conflicting magic numbers with other Expert Advisors.

--------------------------------------------------- Section 02 C --

+ Lot Setting

External Name : Lot Size
Internal Name : Lot_Size
Data     Type : Double
Default Value : 0.01

Lot size for the first order of the cycle.

-------------------------------------------------------------------

External Name : Lot Multiply Power
Internal Name : Lot_Multiply_Power
Data     Type : Double
Default Value : 1.5

Lot multiplied for each additional order of the cycle.

--------------------------------------------------- Section 02 D --

+ Order Filter Setting

External Name : Order Filter Slippage Pts
Internal Name : Order_Filter_Slippage_Pts
Data     Type : Short
Default Value : 5

Set the value of slippage tolerated for the trade.
Slippage will only be mitigated, and will not be eliminated.
Slippage will remain due to time lag of execution.

-------------------------------------------------------------------

External Name : Order Filter ATR Time Frame
Internal Name : Order_Filter_ATR_Time_Frame
Data     Type : Enumeration (Time Frame)
Default Value : PERIOD_H1

This option will determine time frame to be used for ATR Filter.

List Value      0 - PERIOD_CURRENT /    Current
List Value      1 - PERIOD_M1      /  1 Minute
List Value      5 - PERIOD_M5      /  5 Minutes
List Value     15 - PERIOD_M15     / 15 Minutes
List Value     30 - PERIOD_M30     / 30 Minutes
List Value     60 - PERIOD_H1      /  1 Hour
List Value    240 - PERIOD_H4      /  4 Hours
List Value   1440 - PERIOD_D1      /  1 Day
List Value  10080 - PERIOD_W1      /  1 Week
List Value  43200 - PERIOD_MN1     /  1 Month

-------------------------------------------------------------------

External Name : Order Filter ATR Period
Internal Name : Order_Filter_ATR_Period
Data     Type : Integer
Default Value : 14

Period of days covered by Adaptive model.
Original name of parameter in the indicator is ATR_Period.

-------------------------------------------------------------------

External Name : Order Filter ATR Min Set
Internal Name : Order_Filter_ATR_Min_Set
Data     Type : Boolean
Default Value : False

This option will determine to limit trade for orders above the defined minimum ATR value.
This option will only be applied on the first order of each cycle.

True  - Approve limit for orders above the defined minimum ATR value.
False - Decline limit for orders above the defined minimum ATR value.

-------------------------------------------------------------------

External Name : Order Filter ATR Min Val
Internal Name : Order_Filter_ATR_Min_Val
Data     Type : Double
Default Value : 0

Minimum ATR value for execution of orders.
Orders attempted below the defined minimum ATR value will be ignored.

-------------------------------------------------------------------

External Name : Order Filter ATR Max Set
Internal Name : Order_Filter_ATR_Max_Set
Data     Type : Boolean
Default Value : False

This option will determine to limit trade for orders below the defined maximum ATR value.
This option will only be applied on the first order of each cycle.

True  - Approve limit for orders below the defined maximum ATR value.
False - Decline limit for orders below the defined maximum ATR value.

-------------------------------------------------------------------

External Name : Order Filter ATR Max Val
Internal Name : Order_Filter_ATR_Max_Val
Data     Type : Double
Default Value : 0

Maximum ATR value for execution of orders.
Orders attempted above the defined maximum ATR value will be ignored.

--------------------------------------------------- Section 02 E --

+ Order Open Setting

External Name : Order Open Max Position Buy
Internal Name : Order_Open_Max_Position_Buy
Data     Type : Short
Default Value : 8

Maximum positions allowed for buy orders.
Parameter must be below the maximum positions defined in the contract of the broker.

-------------------------------------------------------------------

External Name : Order Open Max Position Sell
Internal Name : Order_Open_Max_Position_Sell
Data     Type : Short
Default Value : 8

Maximum positions allowed for sell orders.
Parameter must be below the maximum positions defined in the contract of the broker.

-------------------------------------------------------------------

External Name : Order Open Interval Pts
Internal Name : Order_Open_Interval_Pts
Data     Type : Short
Default Value : 300

Set the minimum points of intervals between orders.
Accumilation of unrealized loss may be reduced if the trend is in the opposite direction.

--------------------------------------------------- Section 02 F --

+ Order Close Setting

External Name : Order Close Take Profit Pts
Internal Name : Order_Close_Take_Profit_Pts
Data     Type : Short
Default Value : 150

Positive points of the orders defined to close trade.
Set single digit zero to disable the function.
Some account contracts may have irregular configuration that will disrupt this function.
Parameter must be set to a value that is beyond stop level defined by the broker.
End user should research compatibility of the broker before activation.

-------------------------------------------------------------------

External Name : Order Close Stop Loss Pts
Internal Name : Order_Close_Stop_Loss_Pts
Data     Type : Short
Default Value : 150

Negative points of the orders defined to close trade.
Set single digit zero to disable the function.
Some account contracts may have irregular configuration that will disrupt this function.
Parameter must be set to a value that is beyond stop level defined by the broker.
End user should research compatibility of the broker before activation.

--------------------------------------------------- Section 02 G --

+ Order Price Setting

External Name : Order Price Min Set Buy
Internal Name : Order_Price_Min_Set_Buy
Data     Type : Boolean
Default Value : False

This option will determine to limit trade for buy orders above the defined minimum price.
This option will be applied on all orders of each cycle.

True  - Approve limit for buy orders above the defined minimum price.
False - Decline limit for buy orders above the defined minimum price.

-------------------------------------------------------------------

External Name : Order Price Min Val Buy
Internal Name : Order_Price_Min_Val_Buy
Data     Type : Double
Default Value : 0

Minimum price for execution of buy orders.
Buy orders attempted below the defined minimum price will be ignored.

-------------------------------------------------------------------

External Name : Order Price Max Set Buy
Internal Name : Order_Price_Max_Set_Buy
Data     Type : Boolean
Default Value : False

This option will determine to limit trade for buy orders below the defined maximum price.
This option will be applied on all orders of each cycle.

True  - Approve limit for buy orders below the defined maximum price.
False - Decline limit for buy orders below the defined maximum price.

-------------------------------------------------------------------

External Name : Order Price Max Val Buy
Internal Name : Order_Price_Max_Val_Buy
Data     Type : Double
Default Value : 0

Maximum price for execution of buy orders.
Buy orders attempted above the defined maximum price will be ignored.

-------------------------------------------------------------------

External Name : Order Price Min Set Sell
Internal Name : Order_Price_Min_Set_Sell
Data     Type : Boolean
Default Value : False

This option will determine to limit trade for sell orders above the defined minimum price.
This option will be applied on all orders of each cycle.

True  - Approve limit for sell orders above the defined minimum price.
False - Decline limit for sell orders above the defined minimum price.

-------------------------------------------------------------------

External Name : Order Price Min Val Sell
Internal Name : Order_Price_Min_Val_Sell
Data     Type : Double
Default Value : 0

Minimum price for execution of sell orders.
Sell orders attempted below the defined minimum price will be ignored.

-------------------------------------------------------------------

External Name : Order Price Max Set Sell
Internal Name : Order_Price_Max_Set_Sell
Data     Type : Boolean
Default Value : False

This option will determine to limit trade for sell orders below the defined maximum price.
This option will be applied on all orders of each cycle.

True  - Approve limit for sell orders below the defined maximum price.
False - Decline limit for sell orders below the defined maximum price.

-------------------------------------------------------------------

External Name : Order Price Max Val Sell
Internal Name : Order_Price_Max_Val_Sell
Data     Type : Double
Default Value : 0

Maximum price for execution of sell orders.
Sell orders attempted above the defined maximum price will be ignored.

+-------------------------------------------------- Section 03 ---+
| Description of the parameters within the indicator setting      |
+-----------------------------------------------------------------+

+ Abstract of the section

This section will cover indicator settings.

--------------------------------------------------- Section 03 A --

+ Indicator switch for model of Relative Strength Index (RSI)

External Name : RSI Model
Internal Name : RSI_Model
Data     Type : Enumeration (RSI Model)
Default Value : RSI_Model_Wilder

This option will determine RSI model for the trade logic.

List Value  0 - Model Adaptive
List Value  1 - Model Advanced
List Value  2 - Model Asymmetric
List Value  3 - Model Cutler
List Value  4 - Model Stochastic
List Value  5 - Model Wilder
List Value  6 - Model Zero Lag

--------------------------------------------------- Section 03 B --

+ Indicator setting of Adaptive Relative Strength Index (Adaptive RSI)

External Name : RSI Adaptive Time Frame
Internal Name : RSI_Adaptive_Time_Frame
Data     Type : Enumeration (Time Frame)
Default Value : PERIOD_H1

This option will determine time frame to be used for Adaptive model.

List Value      0 - PERIOD_CURRENT /    Current
List Value      1 - PERIOD_M1      /  1 Minute
List Value      5 - PERIOD_M5      /  5 Minutes
List Value     15 - PERIOD_M15     / 15 Minutes
List Value     30 - PERIOD_M30     / 30 Minutes
List Value     60 - PERIOD_H1      /  1 Hour
List Value    240 - PERIOD_H4      /  4 Hours
List Value   1440 - PERIOD_D1      /  1 Day
List Value  10080 - PERIOD_W1      /  1 Week
List Value  43200 - PERIOD_MN1     /  1 Month

------------------------------------------------------------------

External Name : RSI Adaptive Period
Internal Name : RSI_Adaptive_Period
Data     Type : Integer
Default Value : 14

Period of days covered by Adaptive model.
Original name of parameter in the indicator is ARSI_Period.

-------------------------------------------------------------------

External Name : RSI Adaptive Level Trigger
Internal Name : RSI_Adaptive_Level_Trigger
Data     Type : Double
Default Value : 0.008

Adaptive model level to trigger trade.
Orders are executed if Adaptive model indicator output value reaches RSI_Adaptive_Level_Trigger value.

--------------------------------------------------- Section 03 C --

+ Indicator setting of Relative Strength Index Advanced model (Advanced RSI / CFGMO)

External Name : RSI Advanced Time Frame
Internal Name : RSI_Advanced_Time_Frame
Data     Type : Enumeration (Time Frame)
Default Value : PERIOD_H1

This option will determine time frame to be used for Advanced model.

List Value      0 - PERIOD_CURRENT /    Current
List Value      1 - PERIOD_M1      /  1 Minute
List Value      5 - PERIOD_M5      /  5 Minutes
List Value     15 - PERIOD_M15     / 15 Minutes
List Value     30 - PERIOD_M30     / 30 Minutes
List Value     60 - PERIOD_H1      /  1 Hour
List Value    240 - PERIOD_H4      /  4 Hours
List Value   1440 - PERIOD_D1      /  1 Day
List Value  10080 - PERIOD_W1      /  1 Week
List Value  43200 - PERIOD_MN1     /  1 Month

-------------------------------------------------------------------

External Name : RSI Advanced Period Fast
Internal Name : RSI_Advanced_Period_Fast
Data     Type : Integer
Default Value : 3

Period of days covered by short term (fast) signal for RSI in Advanced model.
Original name of parameter in the indicator is Fast_RSI.

-------------------------------------------------------------------

External Name : RSI Advanced Period Slow
Internal Name : RSI_Advanced_Period_Slow 
Data     Type : Integer
Default Value : 14

Period of days covered by long term (slow) signal for RSI in Advanced model.
Original name of parameter in the indicator is Slow_RSI.

-------------------------------------------------------------------

External Name : RSI Advanced Momentum
Internal Name : RSI_Advanced_Momentum
Data     Type : Integer
Default Value : 9

Period of days covered by momentum in Advanced model.
Original name of parameter in the indicator is Momentum.

-------------------------------------------------------------------

External Name : RSI Advanced Smooth 1 (Short Term)
Internal Name : RSI_Advanced_Smooth_1
Data     Type : Integer
Default Value : 3

Period of days covered by short term moving average for smoothing in Advanced model.
Original name of parameter in the indicator is First_Smooth.

-------------------------------------------------------------------

External Name : RSI Advanced Smooth 2 (Middle Term)
Internal Name : RSI_Advanced_Smooth_2
Data     Type : Integer
Default Value : 13

Period of days covered by middle term moving average for smoothing in Advanced model.
Original name of parameter in the indicator is Second_Smooth.

-------------------------------------------------------------------

External Name : RSI Advanced Smooth 3 (Long Term)
Internal Name : RSI_Advanced_Smooth_3
Data     Type : Integer
Default Value : 33

Period of days covered by long term moving average for smoothing in Advanced model.
Original name of parameter in the indicator is Third_Smooth.

-------------------------------------------------------------------

External Name : RSI Advanced Level High
Internal Name : RSI_Advanced_Level_High
Data     Type : Character
Default Value : 70

Resistance value as trigger level for Advanced model.
Orders are executed if Advanced model indicator output value reaches RSI_Advanced_Level_High value.

-------------------------------------------------------------------

External Name : RSI Advanced Level Low
Internal Name : RSI_Advanced_Level_Low
Data     Type : Character
Default Value : 30

Support value as trigger level for Advanced model.
Orders are executed if Advanced model indicator output value reaches RSI_Advanced_Level_Low value.

--------------------------------------------------- Section 03 D --

+ Indicator setting of Relative Strength Index Asymmetric model (Asymmetric RSI)

External Name : RSI Asymmetric Time Frame
Internal Name : RSI_Asymmetric_Time_Frame
Data     Type : Enumeration (Time Frame)
Default Value : PERIOD_H1

This option will determine time frame to be used for Asymmetric model.

List Value      0 - PERIOD_CURRENT /    Current
List Value      1 - PERIOD_M1      /  1 Minute
List Value      5 - PERIOD_M5      /  5 Minutes
List Value     15 - PERIOD_M15     / 15 Minutes
List Value     30 - PERIOD_M30     / 30 Minutes
List Value     60 - PERIOD_H1      /  1 Hour
List Value    240 - PERIOD_H4      /  4 Hours
List Value   1440 - PERIOD_D1      /  1 Day
List Value  10080 - PERIOD_W1      /  1 Week
List Value  43200 - PERIOD_MN1     /  1 Month

-------------------------------------------------------------------

External Name : RSI Asymmetric Period
Internal Name : RSI_Asymmetric_Period
Data     Type : Integer
Default Value : 14

Period of days covered by Asymmetric model.
Original name of parameter in the indicator is Periods.

-------------------------------------------------------------------

External Name : RSI Asymmetric Level High
Internal Name : RSI_Asymmetric_Level_High
Data     Type : Character
Default Value : 70

Resistance value as trigger level for Asymmetric model.
Orders are executed if Asymmetric model indicator output value reaches RSI_Asymmetric_Level_High value.

-------------------------------------------------------------------

External Name : RSI Asymmetric Level Low
Internal Name : RSI_Asymmetric_Level_Low
Data     Type : Character
Default Value : 30

Support value as trigger level for Asymmetric model.
Orders are executed if Asymmetric model indicator output value reaches RSI_Asymmetric_Level_Low value.

--------------------------------------------------- Section 03 E --

+ Indicator setting of Relative Strength Index Cutler model (Cutler RSI)

External Name : RSI Cutler Time_Frame
Internal Name : RSI_Cutler_Time_Frame
Data     Type : Enumeration (Time Frame)
Default Value : PERIOD_H1

This option will determine time frame to be used for Cutler model.

List Value      0 - PERIOD_CURRENT /    Current
List Value      1 - PERIOD_M1      /  1 Minute
List Value      5 - PERIOD_M5      /  5 Minutes
List Value     15 - PERIOD_M15     / 15 Minutes
List Value     30 - PERIOD_M30     / 30 Minutes
List Value     60 - PERIOD_H1      /  1 Hour
List Value    240 - PERIOD_H4      /  4 Hours
List Value   1440 - PERIOD_D1      /  1 Day
List Value  10080 - PERIOD_W1      /  1 Week
List Value  43200 - PERIOD_MN1     /  1 Month

-------------------------------------------------------------------

External Name : RSI Cutler Period
Internal Name : RSI_Cutler_Period
Data     Type : Integer
Default Value : 14

Period of days covered by Cutler model.
Original name of parameter in the indicator is RSIPeriod.

-------------------------------------------------------------------

External Name : RSI Cutler Level High
Internal Name : RSI_Cutler_Level_High
Data     Type : Character
Default Value : 70

Resistance value as trigger level for Cutler model.
Orders are executed if Cutler model indicator output value reaches RSI_Cutler_Level_High value.

-------------------------------------------------------------------

External Name : RSI Cutler Level Low
Internal Name : RSI_Cutler_Level_Low
Data     Type : Character
Default Value : 30

Support value as trigger level for Cutler model.
Orders are executed if Cutler model indicator output value reaches RSI_Cutler_Level_Low value.

--------------------------------------------------- Section 03 F --

+ Indicator setting of Relative Strength Index Stochastic model (Stochastic RSI)

External Name : RSI Stochastic Time Frame
Internal Name : RSI_Stochastic_Time_Frame
Data     Type : Enumeration (Time Frame)
Default Value : PERIOD_H1

This option will determine time frame to be used for Stochastic model.

List Value      0 - PERIOD_CURRENT /    Current
List Value      1 - PERIOD_M1      /  1 Minute
List Value      5 - PERIOD_M5      /  5 Minutes
List Value     15 - PERIOD_M15     / 15 Minutes
List Value     30 - PERIOD_M30     / 30 Minutes
List Value     60 - PERIOD_H1      /  1 Hour
List Value    240 - PERIOD_H4      /  4 Hours
List Value   1440 - PERIOD_D1      /  1 Day
List Value  10080 - PERIOD_W1      /  1 Week
List Value  43200 - PERIOD_MN1     /  1 Month

-------------------------------------------------------------------

External Name : RSI Stochastic Period R (RSI)
Internal Name : RSI_Stochastic_Period_R
Data     Type : Integer
Default Value : 14

Period of days covered by RSI for Stochastic model.
Original name of parameter in the indicator is RSI_Period.

-------------------------------------------------------------------

External Name : RSI Stochastic Period S (Stochastic)
Internal Name : RSI_Stochastic_Period_S
Data     Type : Integer
Default Value : 14

Period of days covered by Stochastic for Stochastic model.
Original name of parameter in the indicator is Stochastic_Period.

-------------------------------------------------------------------

External Name : RSI Stochastic Period K (Volatility)
Internal Name : RSI_Stochastic_Period_K
Data     Type : Integer
Default Value : 3

Period of days covered to calculate difference of price for for Stochastic model.
Original name of parameter in the indicator is K.

-------------------------------------------------------------------

External Name : RSI Stochastic Period D (Moving Average)
Internal Name : RSI_Stochastic_Period_D
Data     Type : Integer
Default Value : 3

Period of days covered by Moving Average for for Stochastic model.
Original name of parameter in the indicator is D.

-------------------------------------------------------------------

External Name : RSI Stochastic Price Type
Internal Name : RSI_Stochastic_Price_Type
Data     Type : Enumeration (Applied Price)
Default Value : PRICE_CLOSE

This option will determine applied price type for Stochastic model.
Original name of parameter in the indicator is RSI_Applied_Price.

List Value  0 - PRICE_CLOSE    / Close    Price
List Value  1 - PRICE_OPEN     / Open     Price
List Value  2 - PRICE_HIGH     / High     Price
List Value  3 - PRICE_LOW      / Low      Price
List Value  4 - PRICE_MEDIAN   / Median   Price
List Value  5 - PRICE_TYPICAL  / Typical  Price
List Value  6 - PRICE_WEIGHTED / Weighted Price

-------------------------------------------------------------------

External Name : RSI Stochastic Level R High
Internal Name : RSI_Stochastic_Level_R_High
Data     Type : Character
Default Value : 70

Resistance value of RSI as trigger level for Stochastic model.
Orders are executed if Stochastic model indicator output value reaches RSI_Stochastic_Level_R_High value.

-------------------------------------------------------------------

External Name : RSI Stochastic Level R Low
Internal Name : RSI_Stochastic_Level_R_Low
Data     Type : Character
Default Value : 30

Support value of RSI as trigger level for Stochastic model.
Orders are executed if Stochastic model indicator output value reaches RSI_Stochastic_Level_R_Low value.

-------------------------------------------------------------------

External Name : RSI Stochastic Level S High
Internal Name : RSI_Stochastic_Level_S_High
Data     Type : Character
Default Value : 80

Resistance value of Stochastic as trigger level for Stochastic model.
Orders are executed if Stochastic model indicator output value reaches RSI_Stochastic_Level_S_High value.

-------------------------------------------------------------------

External Name : RSI Stochastic Level S Low
Internal Name : RSI_Stochastic_Level_S_Low
Data     Type : Character
Default Value : 20

Support value as of Stochastic trigger level for Stochastic model.
Orders are executed if Stochastic model indicator output value reaches RSI_Stochastic_Level_S_Low value.

--------------------------------------------------- Section 03 G --

+ Indicator setting of Relative Strength Index Wilder model (Wilder RSI / Original)

External Name : RSI Wilder Time Frame
Internal Name : RSI_Wilder_Time_Frame
Data     Type : Enumeration (Time Frame)
Default Value : PERIOD_H1

This option will determine time frame to be used for Wilder model.

List Value      0 - PERIOD_CURRENT /    Current
List Value      1 - PERIOD_M1      /  1 Minute
List Value      5 - PERIOD_M5      /  5 Minutes
List Value     15 - PERIOD_M15     / 15 Minutes
List Value     30 - PERIOD_M30     / 30 Minutes
List Value     60 - PERIOD_H1      /  1 Hour
List Value    240 - PERIOD_H4      /  4 Hours
List Value   1440 - PERIOD_D1      /  1 Day
List Value  10080 - PERIOD_W1      /  1 Week
List Value  43200 - PERIOD_MN1     /  1 Month

-------------------------------------------------------------------

External Name : RSI Wilder Period
Internal Name : RSI_Wilder_Period
Data     Type : Integer
Default Value : 14

Period of days covered by Wilder model.
Original name of parameter in the indicator is RSI_Period.

-------------------------------------------------------------------

External Name : RSI Wilder Price Type
Internal Name : RSI_Wilder_Price_Type
Data     Type : Enumeration (Applied Price)
Default Value : PRICE_CLOSE

This option will determine applied price type to be used for Wilder model.

List Value  0 - PRICE_CLOSE    / Close    Price
List Value  1 - PRICE_OPEN     / Open     Price
List Value  2 - PRICE_HIGH     / High     Price
List Value  3 - PRICE_LOW      / Low      Price
List Value  4 - PRICE_MEDIAN   / Median   Price
List Value  5 - PRICE_TYPICAL  / Typical  Price
List Value  6 - PRICE_WEIGHTED / Weighted Price

-------------------------------------------------------------------

External Name : RSI Wilder Level High
Internal Name : RSI_Wilder_Level_High
Data     Type : Character
Default Value : 70

Resistance value as trigger level for Wilder model.
Orders are executed if Wilder model indicator output value reaches RSI_Wilder_Level_High value.

-------------------------------------------------------------------

External Name : RSI Wilder Level Low
Internal Name : RSI_Wilder_Level_Low
Data     Type : Character
Default Value : 30

Support value as trigger level for Wilder model.
Orders are executed if Wilder model indicator output value reaches RSI_Wilder_Level_Low value.

--------------------------------------------------- Section 03 H --

+ Indicator setting of Relative Strength Index Zero Lag model (Zero Lag RSI)

External Name : RSI Zero Lag Time Frame
Internal Name : RSI_Zero_Lag_Time_Frame
Data     Type : Enumeration (Time Frame)
Default Value : PERIOD_H1

This option will determine time frame to be used for Zero Lag model.

List Value      0 - PERIOD_CURRENT /    Current
List Value      1 - PERIOD_M1      /  1 Minute
List Value      5 - PERIOD_M5      /  5 Minutes
List Value     15 - PERIOD_M15     / 15 Minutes
List Value     30 - PERIOD_M30     / 30 Minutes
List Value     60 - PERIOD_H1      /  1 Hour
List Value    240 - PERIOD_H4      /  4 Hours
List Value   1440 - PERIOD_D1      /  1 Day
List Value  10080 - PERIOD_W1      /  1 Week
List Value  43200 - PERIOD_MN1     /  1 Month

-------------------------------------------------------------------

External Name : RSI Zero Lag Period A
Internal Name : RSI_Zero_Lag_Period_A
Data     Type : Integer
Default Value : 8

Period of days covered by Zero Lag model.
Original name of parameter in the indicator is RSI_Length1.

-------------------------------------------------------------------

External Name : RSI Zero Lag Period B
Internal Name : RSI_Zero_Lag_Period_B
Data     Type : Integer
Default Value : 21

Period of days covered by Zero Lag model.
Original name of parameter in the indicator is RSI_Length2.

-------------------------------------------------------------------

External Name : RSI Zero Lag Period C
Internal Name : RSI_Zero_Lag_Period_C
Data     Type : Integer
Default Value : 34

Period of days covered by Zero Lag model.
Original name of parameter in the indicator is RSI_Length3.

-------------------------------------------------------------------

External Name : RSI Zero Lag Period D
Internal Name : RSI_Zero_Lag_Period_D
Data     Type : Integer
Default Value : 55

Period of days covered by Zero Lag model.
Original name of parameter in the indicator is RSI_Length4.

-------------------------------------------------------------------

External Name : RSI Zero Lag Period E
Internal Name : RSI_Zero_Lag_Period_E
Data     Type : Integer
Default Value : 89

Period of days covered by Zero Lag model.
Original name of parameter in the indicator is RSI_Length5.

-------------------------------------------------------------------

External Name : RSI Zero Lag Factor A
Internal Name : RSI_Zero_Lag_Factor_A
Data     Type : Double
Default Value : 0.05

Amplified / Damped factor of RSI_Zero_Lag_Period_A for Zero Lag model.
Original name of parameter in the indicator is Factor1.

-------------------------------------------------------------------

External Name : RSI Zero Lag Factor B
Internal Name : RSI_Zero_Lag_Factor_B
Data     Type : Double
Default Value : 0.10

Amplified / Damped factor of RSI_Zero_Lag_Period_A for Zero Lag model.
Original name of parameter in the indicator is Factor2.

-------------------------------------------------------------------

External Name : RSI Zero Lag Factor C
Internal Name : RSI_Zero_Lag_Factor_C
Data     Type : Double
Default Value : 0.16

Amplified / Damped factor of RSI_Zero_Lag_Period_C for Zero Lag model.
Original name of parameter in the indicator is Factor3.

-------------------------------------------------------------------

External Name : RSI Zero Lag Factor D
Internal Name : RSI_Zero_Lag_Factor_D
Data     Type : Double
Default Value : 0.26

Amplified / Damped factor of RSI_Zero_Lag_Period_D for Zero Lag model.
Original name of parameter in the indicator is Factor4.

-------------------------------------------------------------------

External Name : RSI Zero Lag Factor E
Internal Name : RSI_Zero_Lag_Factor_E
Data     Type : Double
Default Value : 0.43

Amplified / Damped factor of RSI_Zero_Lag_Period_E for Zero Lag model.
Original name of parameter in the indicator is Factor5.

-------------------------------------------------------------------

External Name : RSI Zero Lag Smooth 1 (Trend)
Internal Name : RSI_Zero_Lag_Smooth_1
Data     Type : Integer
Default Value : 15

Smoothing strength for slow trend calculation of RSI covered by Zero Lag model.
Original name of parameter in the indicator is Smoothing1.

-------------------------------------------------------------------

External Name : RSI Zero Lag Smooth 2 (Volatility)
Internal Name : RSI_Zero_Lag_Smooth_2
Data     Type : Integer
Default Value : 7

Smoothing strength for volatility within trend direction covered by Zero Lag model.
Original name of parameter in the indicator is Smoothing2.

-------------------------------------------------------------------

External Name : RSI Zero Lag Price Type
Internal Name : RSI_Zero_Lag_Price_Type
Data     Type : Enumeration (Applied Price)
Default Value : PRICE_CLOSE

This option will determine applied price type to be used for Zero Lag model.
Original name of parameter in the indicator is Applied_Price.

List Value  0 - PRICE_CLOSE    / Close    Price
List Value  1 - PRICE_OPEN     / Open     Price
List Value  2 - PRICE_HIGH     / High     Price
List Value  3 - PRICE_LOW      / Low      Price
List Value  4 - PRICE_MEDIAN   / Median   Price
List Value  5 - PRICE_TYPICAL  / Typical  Price
List Value  6 - PRICE_WEIGHTED / Weighted Price

--------------------------------------------------- Section 03 I --

+ Indicator setting of Momentum to define trend direction

External Name : Momentum Time Frame
Internal Name : Momentum_Time_Frame
Data     Type : Enumeration (Time Frame)
Default Value : PERIOD_H1

This option will determine time frame to be used for Momentum.

List Value      0 - PERIOD_CURRENT /    Current
List Value      1 - PERIOD_M1      /  1 Minute
List Value      5 - PERIOD_M5      /  5 Minutes
List Value     15 - PERIOD_M15     / 15 Minutes
List Value     30 - PERIOD_M30     / 30 Minutes
List Value     60 - PERIOD_H1      /  1 Hour
List Value    240 - PERIOD_H4      /  4 Hours
List Value   1440 - PERIOD_D1      /  1 Day
List Value  10080 - PERIOD_W1      /  1 Week
List Value  43200 - PERIOD_MN1     /  1 Month

-------------------------------------------------------------------

External Name : Momentum Shift A (Base)
Internal Name : Momentum_Shift_A
Data     Type : Short
Default Value : 0

Period of days for base shift covered by Momentum.
Parameter will be used as the base to calculate difference from short and long term shift.
Results define direction of trend.
Single digit zero for this parameter is preferred to represent current close price.

-------------------------------------------------------------------

External Name : Momentum Shift B (Short Term)
Internal Name : Momentum_Shift_B
Data     Type : Short
Default Value : 100

Period of days for short term shift covered by Momentum.
Parameter will be used as the base to calculate difference between base shift.
Results define direction of trend.

-------------------------------------------------------------------

External Name : Momentum Shift C (Long Term)
Internal Name : Momentum_Shift_C
Data     Type : Short
Default Value : 200

Period of days for long term shift covered by Momentum.
Parameter will be used as the base to calculate difference between base shift.
Results define direction of trend.

+-------------------------------------------------- Section 04 ---+
| Technical support                                               |
+-----------------------------------------------------------------+

+ Abstract of the section

This section will cover self service and contact information for technical support.

--------------------------------------------------- Section 04 A --

+ Problem solving options

There are several options for problem solving of the Expert Advisor.
Meta Quotes provide the resources to examine, debug and modify the source code.
Developers may be consulted on the forum of Meta Quotes.
The publisher may review the issues, but only with limited capabilities.

--------------------------------------------------- Section 04 B --

+ Reference of the MQL4 to understand the source code

Meta Quotes provides large volume of reference regarding the MQL4 language.
This is not just for programmers, but also for end users to understand the process of functions with minimum knowledge.
End users may still change data type, rename identifiers, and shuffle orders of external parameters without modifying logic.
Programmers may use the reference regarding the MQL4 language for guidance on debugging and modification.
Reference regarding the MQL4 language may be found at the Meta Quotes site, within the link below.

Meta Quotes - MQL4 Reference
https://docs.mql4.com/

--------------------------------------------------- Section 04 C --

+ Contact for feedback of the tributary edition

The publisher of Free Grid Martingale Plus Version 1.0 Tributary Edition has limited capabilities, unable to provide professional support.
However, reports of semantic errors and static code issues are welcomed as feedback.
There is no guarantee all obstacles will be resolved, but complaints will be reviewed for possible solutions.
The publisher of Free Grid Martingale Plus Version 1.0 Tributary Edition may be reached through accounts within the links below.
Reports related to the Expert Advisor may be posted as well.

Twitter - Project Profit Prophet
https://x.com/PrProfitProphet

My Forex Book - Project Profit Prophet
https://www.myfxbook.com/members/PrProfitProphet

If the end user is not satisified or consider to contact other programmers with knowledge, check through Meta Quotes forum.

Meta Quotes Forum
https://www.mql5.com/en/forum/
