wtf_dude
Well-known member
Hey all, cooked up my own variation on RSI Laguerre. Calculations are the same, my thresholds for buy and sell are a bit different and based on my own observations. I flipped over the FE to what I labeled "gamma 2" That way we know that a breakout in FE goes up and not down (always confused my dumb *** at a glance) I personally always keep FE hidden, but you can show them by going to "show plot" on gamma or gamma2. Added vertical lines for my personal buys and sells. WB stands for weak buy, it's simply a different signal for buying and doesn't necessarily have the FE to back up the confirmation. The indicator is only to be used INTRA-DAY. I didn't realize until I watched that hour long Theotrade video that the Laguerre isn't really made to be used for daily and above. Intraday signals are way more accurate. Anyways, hopefully somebody finds some use with it.
edit: almost forgot. I also added separate FE signal dots. The blue dots signal that the FE is compressing below a threshold. Think of that as the same signal as a squeeze. The orange dots indicate a trend exhaustion signal. I use these as a warning sign that a sell signal is about to happen or that it's time to take some profit off the table.
edit: almost forgot. I also added separate FE signal dots. The blue dots signal that the FE is compressing below a threshold. Think of that as the same signal as a squeeze. The orange dots indicate a trend exhaustion signal. I use these as a warning sign that a sell signal is about to happen or that it's time to take some profit off the table.
Code:
# TheoTrade RSI in Laguerre Time Self Adjusting With Fractal Energy
# Mobius V03.06.15.2016
# Gamma 2 Inverse variation and Mods by WTF_Dude 9.30.20
#
# Both Fractal Energy and RSI are plotted. RSI in cyan and FE in yellow. Look for trend exhaustion in the FE and a reversal of RSI or Price compression in FE and an RSI reversal.
#15:51 Mobius©: Short trade setup I look for with RSI Laguerre adjusted with FE.
#1) Polarity Change - Equity has gone from making higher highs and higher lows to making a lower high and lower low and is now putting in another lower high
#2) RSI Laguerrer is above .8 and descending from 1
#3) Fractal Energy is below .38 and nose down or above .6 and rolling over. In the first case, below .38, FE is indicating trend exahustion and RSI is likely showing as a peak and not running across pegged at 1. In the second case Price has risen to a lower resistance and has been rolling slowly over building energy.
#Mobius©: I use a very simple method – RSI Laguerre and Fractal Energy on a list of very liquid stocks. I look for polarity change and trade when both RSI and FE are in “confluence”. If volatility is high enough I sell spreads if not I buy them. Other than hedging (which I do a lot of) that's it. I like it simple.
#The typical base setting I like to use for the FE is a length of 8. If I'm trading options I like to look at it about the length of time I'm buying or selling the option for. I want to know if it's reverting and where the energy is so I'll use a longer length for reversion and a shorter length to see if energy is building or waning.
#If RSI Laguerre is descending and FE over .6, that tells me something is changing and I'm already looking at an equity I've determined is about to make a polarity change. So the worse case that happens is that the security grinds sideways for a few days.
#A reading of the FE over .6 is an indication that energy has been built up. If the FE is high (over .6) and RSI LaGuerre is breaking lower FE will follow suit. If RSI reverses and goes above .8 I'm outa there, with the assumption I have a short position.
#FE is a gauge of both mean reverting and linearity. Descending readings indicate a trend is on. A reading below .3 indicates exhaustion in trend or near exhaustion. A reading above .6 indicates moving sideways with rapid reversion and energy building for a move again.
#Above .6 - Think price compression or squeeze
#Below .3 - Think running out of gas
#Here's an example:
#FE at 60 periods is oscillating around .5 tightly while FE at 8 periods is over .6. Zscore is over 2 and is starting to roll over. That is a good short to the mean.
#Short trade setup I look for with RSI Laguerre adjusted with FE.
#1) Polarity Change - Equity has gone from making higher highs and higher lows to making a lower high and lower low and is now putting in another lower high
#2) RSI Laguerrer is above .8 and descending from 1
#3) Fractal Energy is below .38 and nose down or above .6 and rolling over. In the first case, below .38, FE is indicating trend exahustion and RSI is likely showing as a peak and not running across pegged at 1. In the second case price has risen to a lower resistance and has been rolling slowly over building energy.
declare lower;
#Inputs:
input nFE = 13;#hint nFE: length for Fractal Energy calculation.
input FHigh = .7; #Threshold for fractal energy trend exhaustion
input FLow = .4; #Threshold for fractal energy compression
input Weak_TH = .85;
input Buy_TH = .1;
input Sell_TH =.8;
# Variables:
def o;
def h;
def l;
def c;
def CU1;
def CU2;
def CU;
def CD1;
def CD2;
def CD;
def L0;
def L1;
def L2;
def L3;
plot RSI;
plot OS;
plot OB;
# Calculations
o = (open + close[1]) / 2;
h = Max(high, close[1]);
l = Min(low, close[1]);
c = (o + h + l + close) / 4;
plot gamma = Log(Sum((Max(high, close[1]) - Min(low, close[1])), nFE) /
(Highest(high, nFE) - Lowest(low, nFE)))
/ Log(nFE);
gamma.SetDefaultColor(Color.YELLOW);
L0 = (1 – gamma) * c + gamma * L0[1];
L1 = -gamma * L0 + L0[1] + gamma * L1[1];
L2 = -gamma * L1 + L1[1] + gamma * L2[1];
L3 = -gamma * L2 + L2[1] + gamma * L3[1];
if L0 >= L1
then {
CU1 = L0 - L1;
CD1 = 0;
} else {
CD1 = L1 - L0;
CU1 = 0;
}
if L1 >= L2
then {
CU2 = CU1 + L1 - L2;
CD2 = CD1;
} else {
CD2 = CD1 + L2 - L1;
CU2 = CU1;
}
if L2 >= L3
then {
CU = CU2 + L2 - L3;
CD = CD2;
} else {
CU = CU2;
CD = CD2 + L3 - L2;
}
gamma.Hide();
plot Gamma2 = 1 - gamma;
Gamma2.SetDefaultColor(Color.GRAY);
Gamma2.Setlineweight(2);
gamma2.Hide();
RSI = if CU + CD <> 0 then CU / (CU + CD) else 0;
RSI.SetDefaultColor(Color.CYAN);
def Buy = RSI > RSI[1] and RSI crosses above Buy_Th and Gamma2 > Gamma2[1]; #and gamma2-gamma2[1]>.01
AddVerticalLine(Buy is true, "Buy", Color.GREEN, Curve.SHORT_DASH );
def WeakBuy = RSI crosses above Weak_TH and gamma2 <= FHigh;
AddVerticalLine(WeakBuy is true, "WB", CreateColor(0, 153, 0), Curve.SHORT_DASH );
def Sell = RSI crosses below Sell_TH; # and Gamma2<Gamma2[1]
AddVerticalLine(Sell is true, "Sell", Color.RED, Curve.SHORT_DASH );
#def TE = Gamma2 crosses above .7;
#AddVerticalLine(TE is true, "X", Color.ORANGE, Curve.SHORT_DASH );
OS = if IsNaN(close) then Double.NaN else 0.2;
OS.SetDefaultColor(Color.GRAY);
OS.HideBubble();
OS.HideTitle();
OB = if IsNaN(close) then Double.NaN else 0.8;
OB.SetDefaultColor(Color.GRAY);
OB.HideBubble();
OB.HideTitle();
plot FEh = if IsNaN(close) then Double.NaN else FHigh;
FEh.SetStyle(Curve.LONG_DASH);
FEh.HideBubble();
FEh.SetDefaultColor(Color.DARK_GRAY);
FEh.HideTitle();
plot FEl = if IsNaN(close) then Double.NaN else FLow;
FEl.SetStyle(Curve.LONG_DASH);
FEl.SetDefaultColor(Color.DARK_GRAY);
FEl.HideBubble();
FEl.HideTitle();
AddCloud(0, OS, Color.RED, Color.RED);
AddCloud(OB, 1, Color.GREEN, Color.GREEN);
########### Central Dots
plot Compress = if gamma2<FLow then .5 else Double.Nan;
Compress.SetPaintingStrategy(PaintingStrategy.LINE_VS_POINTS);
Compress.SetLineWeight(1);
Compress.SetDefaultColor(Color.CYAN);
Compress.HideTitle();
plot Exhaust = if gamma2 crosses above FHigh then .5 else Double.NaN;
Exhaust.SetPaintingStrategy(PaintingStrategy.LINE_VS_POINTS);
Exhaust.SetLineWeight(2);
Exhaust.SetDefaultColor(Color.ORANGE);
Exhaust.HideTitle();
plot M =if IsNaN(c) then Double.NaN else 0.5;
M.SetPaintingStrategy(PaintingStrategy.Line);
M.SetDefaultColor(Color.Gray);
Alert(RSI crosses below Sell_TH, "Sell", Alert.BAR, Sound.Bell);
Alert(RSI crosses above Buy_TH, "Buy", Alert.BAR, Sound.Bell);
Alert(RSI crosses above Weak_TH, "Buy", Alert.BAR, Sound.Bell);
# End Code RSI_Laguerre Self Adjusting with Fractal Energy