tradecombine
Member
Ruby:
# @tradecombine 8/2021
def body = AbsValue(close - open);
def upperWick = AbsValue(high - Max(open, close));
def lowerWick = AbsValue(Min(open, close) - low);
input minBody = 0.0;
input wickBodyRatio = 2.0;
input wickWickRatio = 1.0;
def yourBuyCondition =
(LinearRegChVar("width of channel" = 50.0, length = 100, "full range" = No).LowerLR is greater than close)
and ( BollingerBands()."LowerBand" is greater than close )
and body >= minBody
and lowerWick >= wickBodyRatio * body
and lowerWick >= wickWickRatio * upperWick;
def yourSellCondition =
(LinearRegChVar("width of channel" = 50.0, length = 100, "full range" = No).UpperLR is less than close)
and ( BollingerBands().UpperBand is less than close )
and body >= minBody
and upperWick >= wickBodyRatio * body
and upperWick >= wickWickRatio * lowerWick;
# Explanations ...
define body (self-explanatory)
define upperwick (this is the upper shadow/wick of the candle)
define lowerWick (this is the lower shadow/wick of the candle)
input minBody = minimal size for the body of the candle
input wickBodyRatio (your ratio for comparing wick to body)
input wickWickRatio (your ratio for comparing the wicks to each other)
As far as defaults I used for the inputs:
minBody is set to 0. Make this number bigger if you want to avoid dojis.
I have the wickWick Ratio currently set to 1.0, which means it's not impacting the calculation. Adjust this bigger as you please.
The wickBody Ratio is 2.0, to match your 2:1 ratio that you're looking for.
Since they're inputs, they can be easily changed at run-time.
Please provide feedback if this helps
Last edited by a moderator: