Re-write The Signal Text

<<RE-WRITE THE SIGNAL TEXT>>

The "Re-write signal text" function

<Add symbol suffix> (if you want to trade symbols having suffix):

Input the suffix here and the EA will automatically insert it to the core symbol text. Use this function if you trade the symbol with a suffix in your trading account.

For example: You input the value as “m”, it means the EA will automatically add the text “m” to the core symbol text such as “EURUSD” to make the final symbol as “EURUSDm”. Then the EA will trade the symbol “EURUSDm” in your account.

<Functional character definitions>

The "Function al character definitions" setting

__Correlation character definition: A character is used to show a correlation between two values in the “Re-write signal texts” function.

By default, the correlation character is “=” (an equal). Read the below “Replaced texts” parameters to understand more about the correlation character.

For example: the “XAUUSD=GOLD;US30=DJ” value will make the correlation between XAUUSD and GOLD, and the correlation between US30 and DJ.

__Separator character definition: A character is used to separate a value from the others in the “Re-write signal texts” function.

For example: “EURUSD;GBPUSD;UJPY” is a list of symbols and each symbol is separated from the others by the semicolons. 

By default setting, the separator character is “;” (a semicolon).

<Replace/Remove texts in the signal text>

“Replace/remove texts in the signal text” setting

__Function text activates pre-written replacement functions: This is a text used in Replaced text fields,  which informs the EA that a prewritten replacement function will be used instead of the normal TEXT1=TEXT2 structure (the text TEXT1 will be replaced with TEXT2. Here is the list of pre-written replacement functions:

No.Defaut valueAction
1{f}=1Remove all a-space texts between 2 numbers

__1.Replaced texts: List some texts that will be replaced by the other texts in the signal text, so that the EA can understand the signal text content for trading.

__2.Replaced texts:  The same above meaning.

__3.Replaced texts: The same above meaning.

There are 3 lines of "Replaced texts" parameters for your inputting values like above. You will use the correlation characters & the separator characters in these parameters’ values.

Using the above example, if the “Replaced texts” setting value is “XAUUSD=GOLD;US30=DJ”, that means the text “XAUUSD” will be replaced by the text “GOLD”, and the text “US30” will be replaced by the text “DJ” in the signal text.

This function helps you trade symbols “GOLD” and “DJ” whether the symbol texts in the signal are “XAUUSD” and “US30”. It solves the differences of symbol names between your signal and your broker.

This function will also help remove redundant characters to standardize the signal structure, and to help the EA detect the number values in signal.

For example 1: To remove the text “ADVERTISE” in signal text, you only input the setting value as “ADVERTISE=” (without quotes). You can see that no character after the equal, which means the text “ADVERTISE” will be replaced by a null character or means the text “ADVERTISE” will be removed in the signal text (see below image).

Replace text “ADVERTISE” by a null character. There isn't any character after the equal.

For example 2: In some cases, you may want to replace the text “ADVERTISE” with a blank (space) character, you only input the setting value as “ADVERTISE= ” (without quotes, there is a blank after the equal symbol). You can see there is a space character after the equal in the bellow image.

Replace text “ADVERTISE” by a space, you can see there is a space after the equal.

For example 3: You may want to remove or replace many texts in the signal text, and we have up to 3 lines for “Replaced texts” parameters. That is enough for your need (see the below image).

3 lines for “Replaced texts” function.

Another useful use is to separate texts and numbers, helping the EA detect the numbers in the signal text. See the below example signal:

BUY EURUSD
Entry price @1.21555
Stop loss @1.20555
Take profit @1.22555

If you copy this signal text to the txt source file, save the file and run the EA in "Analyze signal text" mode. You will see the signal text content in word locations in a showed "Alert" window (see the below image).

Then you scroll down and can see that the EA can’t detect any number in this signal (see the below image).

The EA can’t detect any number value.

The EA can't detect the numbers in this signal because the numbers having a character "@" before them, that make the EA see them as texts (not numbers).

Therefore, you should remove the character “@” in the signal text by input a value as “@=” (write without quotes). 

Or in almost all cases, I recommend you replace the character “@” (or any special character next to the number) by a space character by input a value “@= “ (there is a space after the equal) in the “Replaced texts” parameter (see the below image).

Remove text “@” in signal text by a space.

Then you run the EA in the “Analyze signal text” mode again, and you will see the characters "@" are removed in the signal text, the EA can detect the numbers and shows number location values for each number (see the bellow image).

The characters “@” are replaced by the spaces in the signal text, and the numbers are detected by the EA.

On summary: the “Replace texts” parameters are mainly used to:
1) Remove redundant texts, or replace texts to standardize the signal text content.
2) Replace symbol texts, to solve the different symbol names (pair names) between signal and your broker.
3) Separate the numbers so that the EA can detect the number values.

<Remove paragraphs in the signal text>

The "Remove paragraphs s in the signal text" setting

__Remove a paragraph from start TO TEXT: The EA will remove a paragraph from the beginning of the signal text to the text value which you input here. This function is used to remove redundant content at the beginning of the signal text.

__Remove a paragraph from FROMTEXT to end: The EA will remove a paragraph from the text value which you input here to the end of the signal text. This function is used to remove redundant content at the end of the signal text.

__Remove many paragraphs between texts (FROMTEXT:TOTEXT;...): The EA will remove many paragraphs between many text values you input here. This function is used to remove many redundant contents in the middle of the signal text.

For example: If you input a value in this parameter as “Text1:Text2;Text3:Text4”, the EA will remove a paragraph between the word “Text1” and the word “Text2” and remove the paragraph between the word “Text3” and the word “Text4”.

<Add texts to the signal text>

__Text value (NOTEXT1=ADDTEXT1;NOTEXT2=ADDTEXT2..): If the signal text doesn't contain the text NOTEXT1, the EA will input a text ADDTEXT1 to the signal text content. If the signal text doesn't contain the text NOTEXT2, the EA will input a text ADDTEXT2 to the signal text content. 

For example: you input value as "LIMIT=LIMIT". If the signal text doesn't not contain the text "LIMIT", the EA will add a text "LIMIT" to the signal text content.

This function is to help insert text for triggering other events that you want.

<Auto split a multi-signal text into many single signal texts>

The "Auto split a multi-signal text into many single signal texts” setting.

The default value is “false” meaning the EA will not trade a multi-signal text. The multi-signal text is a signal text that contains many trading commands such as below example signal text:

Multi-signal text 1: “BUY EURUSD, SELL GBPUSD, SELL USDJPY, BUY USDCAD.”

If you set the value as “from a Symbol to a next Symbol” or “from a Trigger Text to a next Trigger Text”, the EA will trade the multi-signal text by splitting the signal text content into many single signal texts base on the symbol names or trigger texts, then trades each single signal text.

For example: if you choose “from a Symbol to a next Symbol”, the above multi-signal text 1 will be split into:
(1) EURUSD, SELL
(2) GBPUSD SELL
(3) USDJPY, BUY
(4) USDCAD

Then the EA will trade commands from (1) to (4). Of course the EA will trade incorrectly because you chose the wrong splitting method (“from a Symbol to a next Symbol”).

In the case of multi-signal text 1, you should choose “from a Trigger Text to a next Trigger Text” method. The multi-signal text 1 will be split into:
(1) BUY EURUSD,
(2) SELL GBPUSD,
(3) SELL USDJPY,
(4) BUY USDCAD.

The EA will trade commands from (1) to (4) correctly.

HINT:

  • If the symbol name is located before the trigger text in the multi-signal text, you choose “from a Symbol to a next Symbol”.
  • If the trigger text is located before the symbol name in the multi-signal text, you choose “from a Trigger Text to a next Trigger Text”.

<Auto combine the signal text with a previous signal text>

The "Auto combine the signal text with a previous signal text" function.

Some signals provide the buy/sell signal in a first message, then send the values of stop loss or/and take profit later in a second message without mention about the first signal as a reply message.  Therefore the EA can't trade the second message because there aren't information about symbol name, order type (buy/sell...).

This function is helpful in this case. It help to combine a signal text with a previous signal text and read both of them to trade.

__Text TRIGGER a combined signal texts event: Input the text value that trigger the "auto combine the signal text with a previous signal text" event.

TIPS: Follow below steps to trade

  1. Choose a text in the second message to trigger this auto combine signal text function.
  2. Choose a text in the second message to trigger the "Modify an order" event.
  3. Use the number location values in the combined message for the number location values of new stop loss or/and new take profit in the "Modify an order" event.

<DEFINE WHERE TO GET NUMBER LOCATION VALUES>

The "Get Number Location values in the Word Locations" function

This function helps you to get Number Location values in Number Locations for order's properties easily.

For example: See the below signal

Personally stopped out at break even, with take profit 1 secured, however as mentioned this position could take multiple entries with different take profit at 25 pips, 125 pips, and 400 pips . And I am still personally thinking to go long on this pair, so here's what I'm personally looking to trade. 
Risking 0.25% as may need re entries (still)

GBPUSD BUY STOP 
Entry: 1.20000
Stop loss: 1.19800 (20 pips)
Take profit 1: 1.20250 (25 pips)
Take profit 2: 1.21250 (125 pips)
Take profit 3: 1.24000 (400 pips)

Extra guide:
After reaching Take profit 1 at 25 pips, you can move SL to the entry 
After reaching Take profit 2 at 125 pips, you can close half

There is an explanatory text that contains numbers (highlighted in yellow) before and after the order properties. The clutter of number location values makes it difficult to get exact number location values for open, stop loss, take profit(s).

We can easily realize that the above green range is where we will get the number location values for the order's properties.

Run the EA in "Analyse signal text" mode to see the Word Locations. And scroll down to see the Number Locations.

In this case, we only need to get number location values from the word "ENTRY:" and a last number location will be right after the word "3:". 

Need to get number location values from the word "ENTRY:"
And the last number location values will be right after the word "3:"

We will set up like below image:

Get Number Location values between the word "ENTRY:" and the last number location value after the word "3:"

Or we have another set up like below image:

Get Number Location values between the number location value before the word "1:" and the last number location value after the word "3:"

__Get Number Location values from a WORD: Input a text of the word where you want to begin to get the number location values.

 __Get Number Location values from a number before a WORD: Input a text of the word where you want to begin to get the number location values including the number before the word.

__Get the last Number Location value after a WORD: Input a text of the word where you want to get the last location number after that word, the following numbers after that number will be excluded.