5-Sep

FGIC is halfway to extreme fear readings

S&P500 hit resistance in recent weeks at the SMA 200 and the weekly +1 ATR, a level that has not been breached by the index since the beginning of the bear market. S&P500 is down more than 9 percent from the top of its summer rally.

FGIC has left its neutral zone and closed the week at -4, halfway to its extreme fear level. The weekly S&P500 closed just above -1 ATR, while the daily is deeply oversold; a reaction next week is possible.

A few months ago, I showed a chart of the quarterly S&P500 and the Composite Momentum, an indicator devised by Italian trader Francesco Caruso and available in some platforms, such as Bloomberg.

The S&P 500 is shown here on a semilog scale: as you can see, all the oscillator corrections that have occurred since the 1960s, with the exception of the end of 2012, have never stopped before the zero value.

Details on this indicator can be found here (in Italian but your browser can easily translate)

https://www.cicliemercati.it/insights/composite-momentum-oscillator-come-funziona

Have a safe trading week,

Gianluca L.

4 Comments

  • Claudio D.
    Posted September 5, 2022 10:48 am 0Likes

    Hi Gianluca, this is lovely work, especially seeing this long-term composite oscillator paired with the S&P.

  • Gianluca L.
    Posted September 5, 2022 2:01 pm 0Likes

    Thanks, Claudio.

    If anyone is interested here is the code in Easylanguage (Tradestation, Multicharts) of the Composite Momentum

    {Composite Momentum – Caruso}

    Inputs: k(4);

    Vars: key(0),
    mom(0),
    momDiff(0),
    temp1(0),
    temp2(0),
    sumtemp1(0),
    sumtemp2(0),
    abssumdiff(0),
    aa(0),
    bb(0),
    cc(0),
    stoco(0),
    xtl(0),
    composite(0),
    oFastK(0),
    oFastD(0),
    oSlowK(0),
    oSlowD(0);

    {KEY}
    mom = (waverage(C, k) – waverage(C, 3*k)) / waverage(C, k) * 100;

    momDiff = mom – mom[1];

    if(mom > mom[1]) then temp1 = momDiff
    else temp1 = 0;

    if(mom < mom[1]) then temp2 = momDiff else temp2 = 0; sumtemp1 = temp1[0] + temp1[1] + temp1[2] + temp1[3] + temp1[4]; sumtemp2 = temp2[0] + temp2[1] + temp2[2] + temp2[3] + temp2[4]; abssumdiff = absvalue(momDiff[0]) + absvalue(momDiff[1]) + absvalue(momDiff[2]) + absvalue(momDiff[3]) + absvalue(momDiff[4]); aa = ((sumtemp1[1] - (sumtemp1[1] / 5) + temp1) / (abssumdiff[1] - (abssumdiff[1] / 5) + absValue(momDiff)) * 100); bb = ((sumtemp2[1] - (sumtemp2[1] / 5) + temp2) / (abssumdiff[1] - (abssumdiff[1] / 5) + absValue(momDiff)) * 100); cc = aa - absValue(bb); key = xaverage(cc, 3); {XTL} //stoco = SlowKCustom(H, L, C, 14); stoco = SlowDCustomOrig(H, L, C, 14, 5, 3); xtl = (waverage(stoco, 3) * 2) - 100; composite = waverage((2 * key + xtl) / 3 , 2); if(composite >= composite[1]) then Plot1(composite, “CompositeMomentum”, Green)
    Else Plot1(composite, “CompositeMomentum”, Red);
    if(composite <= composite[1]) then Plot1(composite, "CompositeMomentum", Red) Else Plot1(composite, "CompositeMomentum", Green); Plot2(0,"Zero", White); Plot3(-80,"-80", Yellow); Plot4(-50,"-50", Yellow); Plot5(50,"50", Yellow); Plot6(80,"80", Yellow);

  • Alessio R.
    Posted September 6, 2022 2:36 am 0Likes

    Ciao Gianluca, thanks for the post. Do you know how to get the Composite Momentum Oscillator for TradingView?
    Best wishes,
    Alessio

  • Gianluca L.
    Posted September 7, 2022 3:34 am 0Likes

    Ciao Alessio, unfortunately not

Leave a comment

Subscribe to Our Updates

Terms of Service | Privacy Policy | Refund Policy

SpikeTrade © 2024. All Rights Reserved.