Specification
Input parameters
Na = period of the moving average
k = multiplier f Standard deviation in UBB/LBB
Nd = length of BBW valley
Lf = lower filter for %B
Uf = upper filter for %B
MaxL = amount of bearable Loss in value
Fs = freeze start (hh:mm), with minimum interval of 30m
Fe = freeze end (hh:mm), with minimum interval of 30m
Custom indicators
Squeeze is based on BBW (Bollinger BandWidth) and %B (PercentB), which are indicators based on Bollinger Bands.
Bollinger Bands
UBB (Upper Bollinger Band) = [SMA(Na) + k * DS],
LBB (Lower Bollinger Band) = [SMA(Na) - k * DS],
where N is a parameter indicating the period of the SMA (simple moving average), DS is the standard deviation of SMA,m and k is an input parameter
%B (PercentB)
%B = (Close – LB) / (UB – LB)
where (UB-LB) is the width of Bollinger Bands, and %B expresses the distance between closing price and lower band, as a ratio with the bands width.
Although the formula is similar to oscillators, %B can be lower than 0 and higher that +1
BBW (bands bandwidth)
BBW = (UB – LB) / MA
BBW express that bands bandwidth, in comparison to the price moving average.
Entry Signal
(see picture "example 1": price chart showing closing candle, first indicator chart showing entry signal on BBW indicator, lower indicator chart showing entry signal on %B indicator)
The entry signal occurs when BBW exits a valley of length Nd periods, while at the same time %B is beyond the filter limits.
…BBW exits a valley of length Nd periods…
this means that BBW last value is higher than the previous Nd values of BBW. In other words, the previous Nd value of BBW are lower than the current value, while instead the (Nd+1) value was higher.
…%B is beyond the filter limits…
This means that %B is either below Lf or above Uf, in other words it is not Lfv < %B < Uf
Stop Loss (fixed)
Fixed stop loss is set at the value of SMA at closing candle just before the entry signal.
Lot Sizing
Lot sizing of entry order is based on:
-distance between entry level OL and stop level SL (in pips/ticks)
-amount of bearable Loss in value MaxL
-in case the market price is expressed in a currency XXX different than EUR, the sizing will consider the current rate between EUR and the denomination currency (e.g. EURGBP for markets in GBP)
Size (lots) = MaxL (€) / [ (OL-SL) * 10 * rate EURXXX ]
Target signal
The target signal (take profit) happens when the width of Bollinger bands stops to increase, in other words when BBW (-1) < (BBW (-2).
This condition is checked on every closed candle.
Freeze period (optional)
A freeze period can be set, as an interval of inactivity of the EA. If both values Fs and Fe are set, then freeze period is between Fs and Fe. If one of both values are empty, freeze period is not active.
During the freeze period, no new orders can be opened, even though an entry signal is triggered.
Yet, during the inactivity period the position management is still valid, i.e. any open order can be closed in stop or in target if the stop or target signal is triggered.
(see picture "example 2": freeze period between 22:00 and 06:00)
Additional commands and options
The present document only includes the description of the strategy. Final version of the expert advisor will include additional commands for screenview customization, like the colour of the bands, width of the bands, and so on.
Table of controlo
EA will show in the top left corner of the screen a recap of main input data and running values:
-EA “Squeeze”
-freeze: from --- to ---
-period of MA: Na
-factor of SD: k
-BBW valley: Nd
-%B filter low: Lf
-%B filter up: Lu
-max loss: MaxL €
(see picture "example 3": indication of active parameters (picture is just for demonstration purpose, it is related to a different expert advisor and it is not showing the correct parameters)
Delivery of the project: open code in .mq4 (not compiled)
Deadline: 7 days from agreement