Shorting Spikes Indicator for ThinkorSwim



New member
Hello everyone!!! Today i would like to share what has made me profitable in the stock market Smalls caps to Mid caps... I have had entire months green NOT a single red day if you follow what i will tell you...

1. Whole and half numbers are key areas like 1.50 2 2.50 $3 these are physiological areas where stocks top tick or go over just a bit and then come back down where you can then cover for the wash...

2. This is a SCALPING strategy NOT trend trading you are in and out short the pop cover the drop or buy the dip sell the rip

3. We use whole and half numbers with a nice spike or huge up move within 1-2 BIG candles with volume low floats... into these areas NOT GRINDS we short then cover into the wash for 10-20 cents maybe more

4. I also use Time/Sales and level 2 you MUST have a fast tape/time & sales we must see speed on the time and sales with green green green prints then once it runs out of fuel you will see the tape pause and will see red/white prints coming through this is what we want to see along with big sellers on the level 2 again we short the pop cover the drop vise versa for long we want a huge drop and want to see the time/sales pause and want to see it speed up with green prints along with big buyers on the level 2 if you short at 5.50 and it goes past we will look to add the same share size at $6 that will give us a 5.75 average if i add to the trade i will look to cut it off for break even or a small loss YOU MUST have a big enough account to add or just get in small size...

5. I promise you if you follow this to the T the right way you will have a 90% + win rate because i do this has what worked for me i can not trade trends so i trade the pops and the drops quick in and out you short at 5.50 and it drops to 5.25 1000 shares that is $250 easy money trading does not have to be hard people make it hard..

6. What to do if the trade goes against you? I follow what i call the 3 minute rule if the stock does not do what i want in 3 min i cut it off...

7. Hope some of you can follow this and start becoming consistent i have tested sooooooo many strategy's and they did not work for me anddd i did not have a high win rate this is what works for me any questions please ask also i will post a really good script below to go with this strategy as confirmation

def agg=aggregationPeriod.FIVE_MIN;
def na = Double.NaN;
input ORBegin = 930;
input OREnd = 1600;
def ORActive = if SecondsTillTime(OREnd) > 0 and SecondsTillTime(ORBegin) <= 0 then 1 else 0;
def today = GetDay() == GetLastDay();
def numDevDn = -2.0;
def numDevUp = 2.0;
def timeFrame = 3 ;

def cap = getAggregationPeriod();
def errorInAggregation =
    timeFrame == 3 and cap >= AggregationPeriod.WEEK or
    timeFrame == 3 and cap >= AggregationPeriod.MONTH;
assert(!errorInAggregation, "timeFrame should be not less than current chart aggregation period");

def yyyyMmDd = getYyyyMmDd();
def periodIndx;
#switch (timeFrame) {
#case DAY:
    periodIndx = yyyyMmDd;
#def isPeriodRolled = compoundValue(1, periodIndx != periodIndx[1], yes);

def volumeSum;
def volumeVwapSum;
def volumeVwap2Sum;

#if (isPeriodRolled) {
    volumeSum = volume;
    volumeVwapSum = volume * vwap;
    volumeVwap2Sum = volume * Sqr(vwap);

def price = volumeVwapSum / volumeSum;
def deviation = Sqrt(Max(volumeVwap2Sum / volumeSum - Sqr(price), 0));

input filterfrom_1_20= 10;
def Sover_bought = 80;
def Sover_sold = 20;
def SKPeriod = 14;
def SDPeriod = 3;
def SpriceH = high;
def SpriceL = low;
def SpriceC = close;
def SaverageType = AverageType.SIMPLE;

def SlowK = reference StochasticFull(Sover_bought, Sover_sold, SKPeriod, SDPeriod, SpriceH, SpriceL, SpriceC, 3, if (SaverageType == 1) then AverageType.SIMPLE else AverageType.EXPONENTIAL).FullK;
def SlowD = reference StochasticFull(Sover_bought, Sover_sold, SKPeriod, SDPeriod, SpriceH, SpriceL, SpriceC, 3, if (SaverageType == 1) then AverageType.SIMPLE else AverageType.EXPONENTIAL).FullD;
def SOverBought = Sover_bought;
def SOverSold = Sover_sold;

def MfastLength = 12;
def MslowLength = 26;
def MACDLength = 9;
def MaverageType = AverageType.EXPONENTIAL;
def MshowBreakoutSignals = no;

def Value = MovingAverage(MaverageType, close, MfastLength) - MovingAverage(MaverageType, close, MslowLength);
def Avg = MovingAverage(MaverageType, Value, MACDLength);

def Diff = Value - Avg;
def ZeroLine = 0;
def hod = if today and hod[1] == 0  then Value else if ORActive and today and Value > hod[1] then Value else hod[1];
def lod = if today and lod[1] == 0  then Value else if ORActive and today and Value < lod[1] then Value else lod[1];

def prctcalc = (filterfrom_1_20/ 100);
def separation = (hod - lod) * prctcalc;
def conditionlong1 = SlowK crosses above SlowD and SlowK < Sover_sold and SlowD < Sover_sold;
def conditionlong2 = Value < 0 and Avg < 0 and Value - Avg > separation or Value < 0 and Avg < 0 and Value - Avg < -separation;

def conditionshort1 = SlowK crosses below SlowD and SlowK > Sover_bought and SlowD > Sover_bought;
def conditionshort2 = Value > 0 and Avg > 0 and Value - Avg > separation or Value > 0 and Avg > 0 and Value - Avg < -separation;
def confirmation = Value crosses below Avg;
plot long = if SecondsFromTime(ORBegin) > 0  and SecondsFromTime(OREnd) < 0 and conditionlong1 and conditionlong2 then low else  Double.NaN;
plot short =  if SecondsFromTime(ORBegin) > 0  and SecondsFromTime(OREnd) < 0 and  conditionshort1 and conditionshort2 then high else Double.NaN;
Last edited by a moderator:


New member
so this tells you when a pop/spike is coming? Also what are your settings? 930, 1600, 10?
Last edited:


Active member
2019 Donor
@tc815 Does this work for futures and tick chart. If not what time frame is best? Thank you!


This sounds amazing!
You didnt say what time frame it should be used on?


Active member
2019 Donor
I am wondering if it's possible to add a condition for the long signals in the study posted above. I would like a condition to trigger signal only if RSI is at 30 or lower.

Would appreciate if anyone could help me modify the code above with the additional condition. Thanks.


Active member
In this market, find some volatile symbols......that will be your trading vehicles. I read arrows are the signal, yes, the description is vague, needs a few photos, information further, Scan:
You can build on this scan, add more filters,.....add this scan to a column area....try "D" setting in scan and "5" minute setting, see what populates


Active member
2019 Donor
Can anyone help me add audio alerts to the study above?

I tried adding this code i found from another study but seems like there is something wrong because the alerts only trigger sometimes.

alert(long,"BOTTOM ALERT",alert.ONCE,sound.ring);
alert(short,"TOP ALERT",alert.ONCE,sound.ring);

Would appreciate if someone can help me. Thanks🙂


New member
Thanks for sharing TC815, it looks great. I'm trying to generate alerts but it keeps giving me an error. Could someone help to setup alerts ?

thanks a lot...

Similar threads