1st scan (automatic)
a. bid / ask spread <0.03
b. ATR >0.7 or PMAATR >0.7
c. ATR vs Price > 5%
2nd scan (manually)
1. BBC 2.0 @ chart indicator
2. start of a new trend wave @ red to green on the zigzag wave indicator
3. at support @ chart horizontal trendline
DO NOT BUY IF:
1. just broke out...
- that means that it violated rule #2 and #3 as it's a long wave
2. max volume on prior volume wave
- because more likely that it is topped out
30 days of Trading
Tuesday, May 24, 2016
Saturday, April 16, 2016
Widget THINKSCRIPT - BBC (flawed but current)
#bbcsignal but flawed because it gives NaN many times...except for during market hours. wanted to fix it but couldn't
input MAlength = 50;
input averageType = AverageType.EXPONENTIAL;
input vsstock = "spx";
def X = TotalSum (close - close [1]) / (ATR(10, AverageType.WILDERS));
def PPA = TotalSum (close - close [1]) / (ATR(10, AverageType.WILDERS));
def PPAMA = MovingAverage (averageType, X, MAlength);
def StockvsMA = ((close() - movingaverage(averagetype,close(), malength)) / movingaverage(averagetype,close(), malength));
def SPYvsMA = ((close(vsstock) - movingaverage(averagetype,close(vsstock), malength)) / movingaverage(averagetype,close(vsstock), malength));
def VSbull = StockvsMA > SPYvsMA;
def VSbear = StockvsMA < SPYvsMA;
def PPAhistBull = PPA > PPAMA;
def PPAhistBear = PPA < PPAMA;
def BullTRUE = if vsbull ==1 then 1 else 0;
def PPABullTrue = if PPAhistbull ==1 then 1 else 0;
def Bull2x = if vsbull ==1 and ppahistbull ==1 then 2 else 0;
def Bear2x = if vsbear ==1 and ppahistbear ==1 then -2 else 0;
def score = Bear2x+Bull2x;
plot S = score;
s.AssignValueColor(if bull2x== 2 then color.green else if bear2x ==-2 then Color.red else color.dark_gray);
input MAlength = 50;
input averageType = AverageType.EXPONENTIAL;
input vsstock = "spx";
def X = TotalSum (close - close [1]) / (ATR(10, AverageType.WILDERS));
def PPA = TotalSum (close - close [1]) / (ATR(10, AverageType.WILDERS));
def PPAMA = MovingAverage (averageType, X, MAlength);
def StockvsMA = ((close() - movingaverage(averagetype,close(), malength)) / movingaverage(averagetype,close(), malength));
def SPYvsMA = ((close(vsstock) - movingaverage(averagetype,close(vsstock), malength)) / movingaverage(averagetype,close(vsstock), malength));
def VSbull = StockvsMA > SPYvsMA;
def VSbear = StockvsMA < SPYvsMA;
def PPAhistBull = PPA > PPAMA;
def PPAhistBear = PPA < PPAMA;
def BullTRUE = if vsbull ==1 then 1 else 0;
def PPABullTrue = if PPAhistbull ==1 then 1 else 0;
def Bull2x = if vsbull ==1 and ppahistbull ==1 then 2 else 0;
def Bear2x = if vsbear ==1 and ppahistbear ==1 then -2 else 0;
def score = Bear2x+Bull2x;
plot S = score;
s.AssignValueColor(if bull2x== 2 then color.green else if bear2x ==-2 then Color.red else color.dark_gray);
THINKSCRIPT - BBCsignal (flawed but current)
#BBCsignal with 2 signals only but FLAWED because different values from StockWidget...could not fix it
declare lower;
input vsstock = "spx";
input MAlength = 50;
input averageType = AverageType.EXPONENTIAL;
input lineweight = 2;
input atraveragetype = averageType.WILDERS;
input atrlength = 10;
#Price as ATR indicator (study of the real move of the stock) because the most important move is the move size vs how it moved recently...percentage and dollar amount is an incomplete picture
def X = TotalSum (close - close [1]) / (ATR(atrlength, atraveragetype));
def PPA = TotalSum (close - close [1]) / (ATR(atrlength, atraveragetype));
def PPAMA = MovingAverage (averageType, X, MAlength);
def PPAhistBull = PPA > PPAMA;
def PPAhistBear = PPA < PPAMA;
#Stock vs SPX (study of relative strength vs SPX) because only want to buy strong stocks who can lead
def StockvsMA = ((close() - MovingAverage(averageType, close(), MAlength)) / MovingAverage(averageType, close(), MAlength));
def SPYvsMA = ((close(vsstock) - MovingAverage(averageType, close(vsstock), MAlength)) / MovingAverage(averageType, close(vsstock), MAlength));
def VSbull = StockvsMA > SPYvsMA;
def VSbear = StockvsMA < SPYvsMA;
#plot BBC indicator
plot BBCsignal = if VSbull + PPAhistBull == 2 then 1 else if VSbear + PPAhistBear == 2 then -1 else 0;
plot zeroline = 0;
BBCsignal.SetPaintingStrategy(paintingstrategy=PaintingStrategy.line_vs_POINTS);
BBCsignal.AssignValueColor(if BBCsignal == 1 then Color.GREEN else if BBCsignal == -1 then Color.RED else Color.white);
zeroline.SetDefaultColor(Color.light_gray);
zeroline.SetLineWeight(1);
BBCsignal.SetLineWeight(lineweight);
declare lower;
input vsstock = "spx";
input MAlength = 50;
input averageType = AverageType.EXPONENTIAL;
input lineweight = 2;
input atraveragetype = averageType.WILDERS;
input atrlength = 10;
#Price as ATR indicator (study of the real move of the stock) because the most important move is the move size vs how it moved recently...percentage and dollar amount is an incomplete picture
def X = TotalSum (close - close [1]) / (ATR(atrlength, atraveragetype));
def PPA = TotalSum (close - close [1]) / (ATR(atrlength, atraveragetype));
def PPAMA = MovingAverage (averageType, X, MAlength);
def PPAhistBull = PPA > PPAMA;
def PPAhistBear = PPA < PPAMA;
#Stock vs SPX (study of relative strength vs SPX) because only want to buy strong stocks who can lead
def StockvsMA = ((close() - MovingAverage(averageType, close(), MAlength)) / MovingAverage(averageType, close(), MAlength));
def SPYvsMA = ((close(vsstock) - MovingAverage(averageType, close(vsstock), MAlength)) / MovingAverage(averageType, close(vsstock), MAlength));
def VSbull = StockvsMA > SPYvsMA;
def VSbear = StockvsMA < SPYvsMA;
#plot BBC indicator
plot BBCsignal = if VSbull + PPAhistBull == 2 then 1 else if VSbear + PPAhistBear == 2 then -1 else 0;
plot zeroline = 0;
BBCsignal.SetPaintingStrategy(paintingstrategy=PaintingStrategy.line_vs_POINTS);
BBCsignal.AssignValueColor(if BBCsignal == 1 then Color.GREEN else if BBCsignal == -1 then Color.RED else Color.white);
zeroline.SetDefaultColor(Color.light_gray);
zeroline.SetLineWeight(1);
BBCsignal.SetLineWeight(lineweight);
Widget THINKSCRIPT: PPAHist
#PPAHist (new and fixed) on 4/17/16 for watchlist widget...now is the same as the chart's PriceAsATRtrendHist
input MAlength = 50;
input averageType = AverageType.wilders;
def PPA = sum ((close - close [1]) / (ATR(10, averagetype)),999);
def PPAMA = MovingAverage (averageType, PPA, MAlength);
plot PPAhist = PPA - PPAMA;
PPAhist.SetPaintingStrategy(paintingStrategy = PaintingStrategy.HISTOGRAM);
PPAhist.AssignValueColor(if PPA >= PPAMA then Color.GREEN else Color.RED);
PPAhist.SetLineWeight(3);
input MAlength = 50;
input averageType = AverageType.wilders;
def PPA = sum ((close - close [1]) / (ATR(10, averagetype)),999);
def PPAMA = MovingAverage (averageType, PPA, MAlength);
plot PPAhist = PPA - PPAMA;
PPAhist.SetPaintingStrategy(paintingStrategy = PaintingStrategy.HISTOGRAM);
PPAhist.AssignValueColor(if PPA >= PPAMA then Color.GREEN else Color.RED);
PPAhist.SetLineWeight(3);
THINKSCRIPT PriceAsATRtrend - fixed but can't use!
#PriceAsATRtrend via Histogram (new + fixed!!!) with sum=999 instead of totalsum and change to all have the same averagetype of wilders...so it is the same as the watchlist widget! BUT cannot use it because widget still cannot do it, so might as well use totalsum because gives all data
declare lower;
input MAlength = 50;
input averageType = AverageType.wilders;
def PPA = sum ((close - close [1]) / (ATR(10, averagetype)),999);
def PPAMA = MovingAverage (averageType, PPA, MAlength);
plot PPAhist = PPA - PPAMA;
plot zerobase = 0;
PPAhist.SetPaintingStrategy(paintingStrategy = PaintingStrategy.HISTOGRAM);
PPAhist.AssignValueColor(if PPA >= PPAMA then Color.GREEN else Color.RED);
PPAhist.SetLineWeight(3);
declare lower;
input MAlength = 50;
input averageType = AverageType.wilders;
def PPA = sum ((close - close [1]) / (ATR(10, averagetype)),999);
def PPAMA = MovingAverage (averageType, PPA, MAlength);
plot PPAhist = PPA - PPAMA;
plot zerobase = 0;
PPAhist.SetPaintingStrategy(paintingStrategy = PaintingStrategy.HISTOGRAM);
PPAhist.AssignValueColor(if PPA >= PPAMA then Color.GREEN else Color.RED);
PPAhist.SetLineWeight(3);
THINKSCRIPT PriceAsATRtrendHist (old and current)
#PriceAsATRtrend via Histogram (old) with flaws because different returns from when i put i to the watchlist widget
declare lower;
input MAlength = 50;
input averageType = AverageType.EXPONENTIAL;
def PPA = TotalSum (close - close [1]) / (ATR(10, AverageType.WILDERS));
def PPAMA = MovingAverage (averageType, PPA, MAlength);
plot PPAhist = PPA - PPAMA;
plot zerobase = 0;
PPAhist.SetPaintingStrategy(paintingStrategy = PaintingStrategy.HISTOGRAM);
PPAhist.AssignValueColor(if PPA >= PPAMA then Color.GREEN else Color.RED);
PPAhist.SetLineWeight(3);
declare lower;
input MAlength = 50;
input averageType = AverageType.EXPONENTIAL;
def PPA = TotalSum (close - close [1]) / (ATR(10, AverageType.WILDERS));
def PPAMA = MovingAverage (averageType, PPA, MAlength);
plot PPAhist = PPA - PPAMA;
plot zerobase = 0;
PPAhist.SetPaintingStrategy(paintingStrategy = PaintingStrategy.HISTOGRAM);
PPAhist.AssignValueColor(if PPA >= PPAMA then Color.GREEN else Color.RED);
PPAhist.SetLineWeight(3);
Monday, April 4, 2016
Watchlist Scan Procedure
1. Widget: BBC 2.0
2. HLP: Current Candle at / near support > 0.70
3. Wave Volume: suggests bullish pop off support level
added 4/7
- widget - candle showing buying...usually needed an upday...but a reversal candle is also good such as a close way higher than it's low
updated 5/17/16
A) if super high volume on prior downwave but no new low, means selling climax and good time to buy, despite even no support there
B) check with PMAATR to see if a strong day....seems more important than HLP as HLP may miss the doji days even if they gave a big gain such as a gap up...
- PMAATR > 1 means it was quite bullish...out of the ordinary bullish so start the scan there ..and then > 0.7 is okay too
2. HLP: Current Candle at / near support > 0.70
3. Wave Volume: suggests bullish pop off support level
added 4/7
- widget - candle showing buying...usually needed an upday...but a reversal candle is also good such as a close way higher than it's low
updated 5/17/16
A) if super high volume on prior downwave but no new low, means selling climax and good time to buy, despite even no support there
B) check with PMAATR to see if a strong day....seems more important than HLP as HLP may miss the doji days even if they gave a big gain such as a gap up...
- PMAATR > 1 means it was quite bullish...out of the ordinary bullish so start the scan there ..and then > 0.7 is okay too
Subscribe to:
Comments (Atom)