Larry Williams "Pro-Go" indicator

Discussion in 'Technical Analysis' started by reflexivetrader, Dec 20, 2002.

  1. Hey folks, just wondering if anyone has information on the Pro-Go indicator that Larry williams came up with?

    I understand its a relationship between public traders and professional traders.

    What are the variables, formula, strategy used in this indicator.

    Your help is greatly appreciated!
  2. Pro Go is 2 lines, Close - Open = professionals and Open - Previous Close = amatuers. I believe he averages out 14 days and looks for the first line to cross second. This is the gist of it although I don't remember too well, he may have divided the two and averaged that.
  3. Just came across this one. Anyone ever tested it?
    What the heck, I will test it on NQ100 from 1990 until today. Any special rules you wish me to include. After all it will be an OOS for 17 years.
  4. Ok here the promised test and some comments I get from the good guys from my team.
    Apparently there are about 3 versions of this. We looked at all of them and none really were in any way profitable. None of them had real trading rules. In the book LW doesn't explain much how it may be used for entries, let alone exits. He suggests that it's best used to spot divergences between the price and ProGo Professional. That seems to be the official rule and we tried to code it and come up with entry and exit rules.
    In fact we prefer a simple set of "genuine" rules like crossover/crossunder which doesn't depend on divergences. Divergence detection can get funny and subjective sometimes.

    Here are the system rules:
    1. Buy when the ProGo Professional line has made a lower low (i.e. pros keep selling) while the price has made a higher low (trough)
    2. Sell after 50 days in a trade or,
    3. Profit take: +10% or,
    4. Stop loss: -10%.

    Main system settings:
    1. Wealth-Data Nasdaq 100; 10 years (Wealth-Data is the cleanest End of Day data you can get IMO)
    2. Commissions = IB
    3. 30% equity per trade [low exposure - about 28% even with this high pos.size]
    4. Trade from long side only [shorts just lose money]
    5. "Use worst trades in portfolio simulation" - Yes this can be a setting and it is important to have with this kind of position sizing rule.
    6. The "divergence plotter" settings are by default

    The results
    Only 114 trades, 60% winning
    Net Profit 64% vs 526% of Buy & Hold
    Max DD -26% vs -23%

    With the code provided below (bottom) you can play around with it. Fidelity customers can get WLP for free provided they have an account with Fidelity (hack who hasn't ;)).

    Unknown-1.png Unknown.png Perfromance Report.png

    Finally the code:

    The code uses a Community Components routine for detecting divergences:

    /* Show Peak (Trough) divergence between High (Low) and ProGo Professional */
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Drawing;
    using WealthLab;
    using WealthLab.Indicators;

    namespace WealthLab.Strategies
    public class DivergencePlotterExample : WealthScript
    protected override void Execute()
    //"Pro Go is 2 lines, Close - Open = professionals and Open - Previous Close = amateurs.
    //I believe he averages out 14 days and looks for the first line to cross second."

    var professionals = SMA.Series(Close - Open,14);
    var amateurs = SMA.Series(Open - (Close>>1),14);
    professionals.Description = "ProGo Professional";
    amateurs.Description = "ProGo Amateur";
    var proGo = CreatePane(30,true,true);
    PlotSeries(proGo, professionals, Color.Red, WealthLab.LineStyle.Solid, 1);
    //PlotSeries(proGo, amateurs, Color.Blue, WealthLab.LineStyle.Solid, 1);

    ChartPane divPane = CreatePane(40,true,true);

    DataSeries pd = this.PlotPeakDivergence(6, PricePane, High, 10d, proGo, professionals, 15d);
    PlotSeries(divPane, pd, Color.Blue, LineStyle.Solid, 2);

    DataSeries td = this.PlotTroughDivergence(6, PricePane, Low, 10d, proGo, professionals, 15d);
    PlotSeries(divPane, td, Color.Red, LineStyle.Solid, 2);

    for(int bar = GetTradingLoopStartBar(14); bar < Bars.Count; bar++)
    if (IsLastPositionActive)
    var p = LastPosition;
    var isLong = p.PositionType == PositionType.Long;

    // if(CrossUnder(bar, professionals, amateurs))
    // SellAtMarket(bar+1, p);

    // Exit trade after N bars
    if ( bar+1 - p.EntryBar >= 50 )
    ExitAtMarket( bar+1, p, "Time-Based" );
    if(!ExitAtStop( bar+1, p, isLong ? p.EntryPrice * 0.9 : p.EntryPrice * 1.1, "Stop Loss 10%" ))
    ExitAtLimit( bar+1, p, isLong ? p.EntryPrice * 1.10 : p.EntryPrice * 0.90, "Profit Target 10%" );
    // if(CrossOver(bar, professionals, amateurs))
    // BuyAtMarket(bar+1);

    // if(pd[bar] <= -1.0)
    // ShortAtMarket(bar+1);
    // else
    if(td[bar] >= 1.0)

    You should be able to just import it in either WLP or WLD.
    Hope this shares some light to the Pros.
  5. maxinger


    my goodness ! 3500 views, only 3 replies.

    You actually can create your own indicator.
    Name it whatever you want.
    then get it published and attract attention.
    it doesn't matter whether it is workable/useful or not.
    I don't use indicator anyway.
  6. Not sure what you mean?
  7. hans76


    This indicator is not used for entry/exit strategies. it's used to confirm that the market is "SET UP"...