RSI in Laguerre Time Self Adjusting With Fractal Energy Usage Notes

@Hotdog123 Sorry it took so long to get back. The versions used here are based on code written by Mobius. I believe that this thread is where the notes that were captured on how to use the scan and chart. If not this one, there are other threads here that may contain usage notes. Yes, please re-read post #1 & 2 as that's where the notes are.

There is no best way to set up a scan. I have 6 or 8 that I have used over time but they each had specific things that they did. They are proprietary to Theotrade, so I cannot share them. Point being that I don't use them anymore. You are best off using the stocks or Etf's that are most liquid and watch those.

Regarding Gamma: it is only a signal for when not to trade, it is not in and of itself a trading signal, though many use it that way. Gamma that is high means that the product is wound up ready to make a move, up or down. Gamma that is low has signs of an exhausted move. That is really all there is to Gamma with the RSI Laguerre. Your signal will be when the RSI line breaks above 20 with Gamma coming down to go long. Watch it and play with it. It is nuanced and takes time to pick up. It's all about probabilities. If Gamma is high in both Timing chart & signal chart, your break above 20 should be more assured on your 30 minute chart. Hope that helps.
Wonder if anyone has tried it during market meltdown and what is the result. Also, how to combine the reading of RSI and Gamma into a strategy to test its performance?
 
I used this Scan Code: https://tos.mx/bRLjdq it's long only scan.....I'm wondering how you can do find shorts.
Thx
Sorry @DarthSkar i meant the whole code from the editor, not the link. Time doesn't permit me to do anything but hit and run responses.
Usually there will be a # in from of a line of code. That's called a "comment". You would remove the comment from in front of the short scan and put it in front of the long scan so that TOS doesn't recognize it.
 
@markos I'm a bit confused on something, your post and the Mobius quotes seem to contradict each other in one area. In your tutorial, you said if FE is above .6, the stock is more likely to continue trending, but Mobius said FE above .6 is more of a compression or sideways action.

Am I misinterpreting something here?
 
@markos I'm a bit confused on something, your post and the Mobius quotes seem to contradict each other in one area. In your tutorial, you said if FE is above .6, the stock is more likely to continue trending, but Mobius said FE above .6 is more of a compression or sideways action.

Am I misinterpreting something here?
@kinetic Mobius is never wrong. Seriously. Please point out the thread# so that I can take a look at it.
FE is a personal pain to me, I only use it for probabilities. Think about it like this; if FE is moving up and / or above 60, it is charged up for a move, up or down. Basically that is compression. Nothing says it can't move, or has to move at any time. It's about probabilities. When FE is moving down or below ±30 that means that it is probably empty and tired from its previous move, up or down. That doesn't mean that it can't continue down. Remember, an indicator does just that, it indicates. It's probabilities, not certainties. Good luck.

Found this, hope it helps. btw, Chop Index and FE use different math but are the same, functionally.

Definition from TradingView:
The Choppiness Index (CHOP) is an indicator designed to determine if the market is choppy (trading sideways) or not choppy (trading within a trend in either direction). The Choppiness Index is an example of an indicator that is not directional at all. CHOP is not meant to predict future market direction, it is a metric to be used to for defining the market's trendiness only. A basic understanding of the indicator would be; higher values equal more choppiness, while lower values indicate directional trending.
 
Last edited:
@markos

thanks for posting this indicator. In the post where Mobius provides explanation, there is an example of what he looks for in a short setup. Do you have the same for long setup? Or can you provide what criteria you use for long setups?
 
@markos

thanks for posting this indicator. In the post where Mobius provides explanation, there is an example of what he looks for in a short setup. Do you have the same for long setup? Or can you provide what criteria you use for long setups?
Hi @jan_angel Thomas' answer in post #49 is spot on. No matter your time frame! Put it on a chart and watch how it reacts. That is the only real way to learn how to use it. I do not backtest and never have. Learning by watching will give you the best education on this excellent indicator.
Remember, an Indicator only does just that... it Indicates. The true indicator is price as @Thomas states. Everything is a derivative of that.
 
@markos @tomsk Many thanks for all the info, tips, tricks on the RSIL! This has been one of my favorite indicators and has been versatile enough to act both as an entry/exit indicator as well as confirmation one for others. And it helped introduce me to various chop indicators as well which I have been incorporating into my other trading strategies.
 
Some folks are still going down a Rabbit Hole. I hope this helps. Fractal Energy or Gamma in this instance is nothing more than this:

# Fractal Linear Energy
# Mobius
# 5.16.2016
# zztop Notes

# This indicator does NOT indicate OB or OS but linear or non-linear
# The closer to 1 the more non-linear (compressed or random) price is.
# The closer to 0 the more linear (trending) price is.

# Fractal Energy isn't an indicator - it's a way of looking at price to see if it's linear or random.
# There are NO trading signals on the FE study. Only signals NOT to trade.

#
# If the FE is at extremes, something is about to change. It's leading you to a conclusion. If the FE is below .382, price is parabolic and
# cannot maintain that. But you may not want to sell because it may still go further in it's trend and it may not change direction right
# away. It's telling you though that it's not going to stay trending at the current rate of speed. If it's over .618 it telling you price
# is compressing and going sideways rebuilding energy getting ready for another run one way or the other.
#
# Using price in fractals and different times, or ORB with FE and supertrend or some way to measure when price expansion is contracting
# or expanding is all you need. Any more than that and you'll be paralyzed by information overload
#
# FE does not indicate direction at all. It simply shows linearity or non-linearity. Trend or non-trend.
# It has nothing that determines which way trend is going, as in up or down.

#
# Lets say you want to buy ABC company. FE on a monthly, weekly and daily shows values of 40, 35 and 30. Price is showing lower lows but random
# lower high. You would know ABC company is close to selling exhaustion and it's time to look for a few higher highs to a near term fractal
# pivot then look for short reversal to a higher low over the previous recent low and when the bars start setting high highs and lower lows
# again it's time to go long.
# The FE is what tells you to potentially start looking for those signals

The above is from our Universe of ThinkScript Thread in Tutorials (thanks, as always, to Johnny Quotron)
 
Mobius has it set from .8 to .13,....markos .6 to .8 maybe on a faster time frame. Put the indicator on chart. What I discovered, certain color lines disrupt my visual perception at a quick glance. It's all relative if you have a great stock that's flagging.
 
I believe there is already a scanner for it...I don't have it as I do not use this particular indicator...It just hasn't clicked with me and IMO there are better indicators out there that hit faster but others swear by it. Use the search option and type Laguerre Time RSI scan or scanner...You should find what you're looking for...Might have to do a bit of digging but I know I've seen it before on here when I was searching for various scans.
Which indicators do you believe "hit faster"? I've read many of your posts on this forum (on different topics) and learned a lot from them.
 
Somebody shared this code within a workspace setup, and I searched for the code title, but I can't find this code. This alarms when trendline is breached, and I tried to scan for trend breaks, but I got the error that the code was too complex. Is there any hope in trimming the code down to where it isn't too complex?

Code:
# RSI-Laguerre Self Adjusting With Fractal Energy and Gaussian Price Filter
# Mobius
# V01.12.2016
#hint: RSI-Laguerre-FE-G \n Both Fractal Energy and RSI are plotted.\n RSI in cyan and FE in yellow. Look for trend exhaustion in the FE (below .382) and a reversal of RSI or Price compression in FE (above .618)and an RSI reversal.\n Price Targets are based on the Average True Range. User Inputs determine the multiplier of the ATR for those targets.\n Labels show Target prices, percentage which is from entry value to target value and if those prices have been breached.\n Points are plotted on the RSI line if Target is breached. Green for Long Breach and Red for Short Breach

#User Inputs:
input n = 20;#hint n: length for calculation.
input AlertOn = yes;
input AtrMultUpTarget = 2;
input AtrMultDnTarget = 1.5;
input LabelOn = yes;
input PaintCandles = yes;

# Gaussian 4 Pole Filter
script G {
    input data = close;
    input n = 13;
    def betaDev = Floor(n / 2);
    def w = (2 * Double.Pi / n);
    def beta = (1 - Cos(w)) / (Power(1.414, 2.0 / betaDev) - 1 );
    def alpha = (-beta + Sqrt(beta * beta + 2 * beta));
    def omega = Power(alpha, 4)     * data +
             4 * (1 – alpha)    * omega[1] –
        6 * Power(1 - alpha, 2) * omega[2] +
        4 * Power(1 - alpha, 3) * omega[3] -
            Power(1 - alpha, 4) * omega[4];
    plot G = omega;
}
# Variables:
def bar;
def c;
def Go;
def Gh;
def Gl;
def Gc;
def delta;
def CU1;
def CU2;
def CU;
def CD1;
def CD2;
def CD;
def L0;
def L1;
def L2;
def L3;
def gamma;
def RSI_data;
def RSI;
def OS;
def OB;
def M;
def FEH;
def FEL;

# New Data
Go = G(data = open, n = n);
Gh = G(data = high, n = n);
Gl = G(data = low, n = n);
Gc = G(data = close, n = n);
# Calculations
c = close;
bar = barNumber();
gamma = Log(Sum((Max(Gh, Gc[1]) - Min(Gl, Gc[1])), n) /
        (Highest(Gh, n) - Lowest(Gl, n)))
            / Log(n);
delta = G(data = gamma * .01, n = n);
L0 = (1 – delta) * Gc + delta * L0[1];
L1 = -delta * L0 + L0[1] + delta * L1[1];
L2 = -delta * L1 + L1[1] + delta * L2[1];
L3 = -delta * L2 + L2[1] + delta * L3[1];
if L0 >= L1
{
    CU1 = L0 - L1;
    CD1 = 0;
}
else
{
    CD1 = L1 - L0;
    CU1 = 0;
}
if L1 >= L2
{
    CU2 = CU1 + L1 - L2;
    CD2 = CD1;
}
else
{
    CD2 = CD1 + L2 - L1;
    CU2 = CU1;
}
if L2 >= L3
{
    CU = CU2 + L2 - L3;
    CD = CD2;
}
else
{
    CU = CU2;
    CD = CD2 + L3 - L2;
}

RSI_data = if CU + CD <> 0
           then CU / (CU + CD)
           else 0;
RSI = (Exp(4 * RSI_data) - 1) / (Exp(4 * RSI_data) + 1);
OS = if IsNaN(c) then Double.NaN else 0.2;
OB = if IsNaN(c) then Double.NaN else 0.8;
M = if IsNaN(c) then Double.NaN else 0.5;
FEH = if IsNaN(c) then Double.NaN else .618;
FEL = if IsNaN(c) then Double.NaN else .382;
Alert(AlertOn and RSI crosses below .9, "", Alert.BAR, Sound.Bell);
Alert(AlertOn and RSI crosses above .1, "", Alert.BAR, Sound.Bell);
# End Code RSI_Laguerre Self Adjusting with Fractal Energy and Gaussian Filter

# Trade Management
def ATR = Average(TrueRange(Gh, Gc, Gl), 20);
def longCond = if (RSI crosses above .2)
                 or
                  (RSI crosses above .8)
               then Low
               else if (RSI crosses below .2)
                     or
                       (RSI crosses below .8)
                    then Double.NaN
                    else longCond[1];
def shortCond = if (RSI crosses below .8)
                   or
                   (RSI crosses below .2)
                then High
                else if (RSI crosses above .2)
                      or
                        (RSI crosses above .8)
                     then Double.NaN
                     else shortCond[1];
def upperTarget = if !IsNaN(longCond)
                  then Round((longCond + (AtrMultUpTarget * ATR)) / TickSize(), 0) * TickSize()
                  else if !IsNaN(shortCond)
                       then Double.NaN
                  else upperTarget[1];
def lowerTarget = if !IsNaN(shortCond)
                  then Round((shortCond - (AtrMultDnTarget * ATR)) / TickSize(), 0) * TickSize()
                  else if !IsNaN(longCond)
                       then Double.NaN
                  else lowerTarget[1];
def TargetBreachCountUP = if RSI < .2
                          then 0
                          else if high crosses above upperTarget
                          then 1
                          else if close crosses upperTarget
                               then TargetBreachCountUP[1] + 1
                               else if close > upperTarget
                                    then TargetBreachCountUP[1] + 1
                               else TargetBreachCountUP[1];
plot BreachUP = if high crosses above upperTarget
                then upperTarget
                else Double.NaN;
BreachUP.SetStyle(Curve.POINTS);
BreachUP.SetLineWeight(3);
BreachUP.SetDefaultColor(Color.WHITE);
plot BreachDN = if low crosses below lowerTarget
                then lowerTarget
                else Double.NaN;
BreachDN.SetStyle(Curve.POINTS);
BreachDN.SetLineWeight(3);
BreachDN.SetDefaultColor(Color.WHITE);
def TargetBreachCountDN = if RSI > .8
                          then 0
                          else if low crosses below lowerTarget
                               then 1
                          else if close crosses lowerTarget
                               then TargetBreachCountDN[1] + 1
                          else if close < lowerTarget
                               then TargetBreachCountDN[1] + 1
                               else TargetBreachCountDN[1];
def p = if !IsNaN(longCond)
        then (upperTarget - longCond) / longCond
        else if !IsNaN(shortCond)
             then (shortCond - lowerTarget) / shortCond
             else p[1];
AddLabel(LabelOn and upperTarget, if TargetBreachCountUP >= 1
                      then "Target Breached : " + AsDollars(upperTarget)
                      else "Target = " + AsDollars(Round(upperTarget, 2)) +
                         " Percent = " + AsPercent(p), Color.GREEN);

AddLabel(LabelOn and lowerTarget, if (TargetBreachCountDN >= 1)
         then "Target Breached: " + AsDollars(lowerTarget)
         else "Target = " + AsDollars(Round(lowerTarget, 2)) +
           "  Percent = " + AsPercent(p), Color.RED);
def RSIswitch;
if RSI crosses above .1
{
    RSIswitch = 1;
}
else if RSI crosses above .5
{
    RSIswitch = 1;
}
else if RSI crosses above .8
{
    RSIswitch = 1;
}
else if RSI crosses above .955
{
    RSIswitch = 1;
}
else if RSI crosses below .955
{
    RSIswitch = 0;
}
else if RSI crosses below .5
{
    RSIswitch = 0;
}
else if RSI crosses below .2
{
    RSIswitch = 0;
}
else
{
    RSIswitch = RSIswitch[1];
}

def He  = if RSIswitch == 1 then BarNumber() else He[1];
def Hey = if He == BarNumber() then High else Hey[1];
def Ho = if RSIswitch == 0 then BarNumber() else Ho[1];
def Hoe  = if Ho == BarNumber() then Low else Hoe[1];

def one = if RSIswitch then (Hoe) else if !RSIswitch then (Hey) else one[1];
def Conditio = if !IsNaN(one) then one else Conditio[1];
plot Condition = if conditio > 0 then conditio else Double.NaN;
Condition.AssignValueColor(if RSIswitch then Color.CYAN else if !RSIswitch then Color.MAGENTA else Color.GRAY);


AssignPriceColor(if PaintCandles and RSIswitch
                then Color.GREEN
                else if !PaintCandles
                then Color.CURRENT
                 else Color.RED);
 
Hi All. I was wondering if you can set the RSI Laguree pegged to a certain timeframe and not based on the chart timeframe.

Example if I have a 5M chart setup and I have RSI Fractal which is set to the 5 min. I would like to see another RSI Fractal underneath it for the 30m timeframe for example.

Wondering if that is possible. Thanks for your input or help.
 
This short tutorial is an example of how to use the indicator as shown near the bottom of the Trend Reversals Indicator with Signals Thread.
The RSI Laguerre and FE (called CHOP in the example) are separated so that their action can be seen easier.

July, 2019 Version for TOS: RSI Laguerre Auto-Adjusted with Fractal Energy algorithm https://tos.mx/LldzdS Scan Code: https://tos.mx/bRLjdq

Code and Notes in next comment below .,..
Further toward the bottom are even more usage notes.
j4ohLvG.png


1w3NHd5.png


Further toward the bottom are usage notes from "Master Yoda" himself!
Hey all. Fantastic code. Have been using for years. This is probably heresy to ask, but can anyone convert this to TradeStation, as I have had to use that platform now as well. Thanks my friends!
 
@kibicricket Not heresy at all. However, most of us are not adept at TradeStation, so don't be surprised if you only hear crickets 😄 in reply to your post.

I switched over to TradeStation for a while because of some shortcomings in the TOS platform. But because that community is more likely to request money for the least bit of help, I came back to TOS. TOS still sometimes makes me crazy but it is such a small price to pay. The UseThinkScript community has some amazing mathematicians, analysts, and scripters. Everything that I have learned is thanks to the posts shared for free on this site.
 

Join useThinkScript to post your question to a community of 21,000+ developers and traders.

Thread starter Similar threads Forum Replies Date
markos TMO or RSI in Laguerre Time with FE - Q&A Tutorials 33

Similar threads

Not the exact question you're looking for?

Start a new thread and receive assistance from our community.

87k+ Posts
359 Online
Create Post

Similar threads

Similar threads

The Market Trading Game Changer

Join 2,500+ subscribers inside the useThinkScript VIP Membership Club
  • Exclusive indicators
  • Proven strategies & setups
  • Private Discord community
  • ‘Buy The Dip’ signal alerts
  • Exclusive members-only content
  • Add-ons and resources
  • 1 full year of unlimited support

Frequently Asked Questions

What is useThinkScript?

useThinkScript is the #1 community of stock market investors using indicators and other tools to power their trading strategies. Traders of all skill levels use our forums to learn about scripting and indicators, help each other, and discover new ways to gain an edge in the markets.

How do I get started?

We get it. Our forum can be intimidating, if not overwhelming. With thousands of topics, tens of thousands of posts, our community has created an incredibly deep knowledge base for stock traders. No one can ever exhaust every resource provided on our site.

If you are new, or just looking for guidance, here are some helpful links to get you started.

What are the benefits of VIP Membership?
VIP members get exclusive access to these proven and tested premium indicators: Buy the Dip, Advanced Market Moves 2.0, Take Profit, and Volatility Trading Range. In addition, VIP members get access to over 50 VIP-only custom indicators, add-ons, and strategies, private VIP-only forums, private Discord channel to discuss trades and strategies in real-time, customer support, trade alerts, and much more. Learn all about VIP membership here.
How can I access the premium indicators?
To access the premium indicators, which are plug and play ready, sign up for VIP membership here.
Back
Top