Trading Update - 9

Update 8
Update 10

This post is dedicated to April trades. I won’t be doing a March recap post since I paper traded the entire time and have been tweaking it. The flags it trades are good, I think, so now I’m making sure the exit indicators work properly. I have started working on a shorting strategy that looks promising as well.


  1. $MOMO. Two trades on this one today. First one worked perfectly and the second got stopped out break even.

No short trades surprisingly. I see $PHAS had a nice $12 wall which worked but was not taken because of the higher float.


  1. $PSTG. Reminds me of the crappy stocks it traded last year with no volatility. Out for break even.
  2. $WDC. Got stuck at the half dollar so the algo sold early. It was definitely the right call as it dumped shortly after.


  1. $MDR. Perfect setup however the stop was too tight. Worked exactly how I wanted otherwise.
  2. $STNE. Way too volatile and it got an insanely bad fill. Shouldn’t have been traded since the ATR is above the max I set. It did work eventually but the entry was horrible.
  3. $VKTX. Worked perfectly.

Couple bugs with stops but nothing major. I may change it to only short whole numbers if the stock is volatile. Half numbers actually seem decent but only if the volatility isn’t too insane.


  1. $SGMO. Failed pretty much right away.

I feel like I need to rewrite my flag strategy but I don’t know what I would change. It trades the setup well but they seem really inconsistent.


  1. $ON. Half dollar that didn’t work. It was close though.
  2. $GME. Basically top ticked the whole number. Could have gone for more on this one.
  3. $AMD. Quick scalp at the whole dollar.

It was also trying to short $ZYNE but IB had no shares and it worked perfectly too :(

No flags.


  1. $PVG. Didn’t quite dump enough to hit the target. Small profit.
  2. $I. Blasted through the short instantly.
  3. $LB. Perfect setup. Left some on the table but the volatility isn’t that high.

As I described on 4/2, one of the changes I can make is to not short half dollars if the volatility is too high. $I would have met that critera today.


  1. $WLL. Top ticked the exit.
  2. $TGI. Instantly failed. I’m surprised it was taken since the top was at a whole number.


  1. $ZYNE. IB had shares finally. Got stopped out pretty quick. It was close to getting the top.

Pretty slow day for shorts. I may rewrite my flag strategy this weekend to see if I can simplify it.

Slow day. I added $SPY and $TQQQ to the short symbols list to see if it ever trades those and how well they perform.


  1. $NBEV. No shares at IB. It was close to getting the big drop. This stock is impossible to trade due to the insane amount of shares it trades when there’s news.

More trade war crap today. Really slow this morning besides $ATAI.

No trades. Barely anything going on again.

I loosened up some of the filters for the shorting strategy to see if has any trades that work on higher priced stuff. Very slow day again.


  1. $AMRS. Got out on the next candle when it topped. Almost break even.
  2. $ZAYO. Same as $AMRS. Small win.
  3. $ATAI. Dumped first before going.


  1. $ZAYO. Shorted the half dollar. Stopped out break even.

The last few days I’ve been working on an ES long/short strategy using thinkscript since it allows you to easily visualize the trades and gives you a basic P/L for the time period you’re looking at. It looks promising so I want to add futures support to my trading app and automate it to see how it does going forward.

Barely anything going on. No trades except for ES.

No flags.


  1. $PE. Got a little dump then it broke out again. 10m later a massive crash.

Slow day again. I’ve been working on an ES strategy in thinkscript and porting it to my own algo when the results look good. I just need the setup to appear a few times so I can make sure everything works properly. So far I really like futures. Stocks just seem so unpredictable and fitting a strategy to the one that pops up for the day is really hard. There will be a micro futures contract for the S&P 500 next month so I’ll look into trading that instead of ES so there’s less risk.


  1. $ADNT. Crap.


  1. $ADSW. Perfect.
  2. $ADNT. Perfect.
  3. $CTLT. Nice drop then it spiked and got out break even. Not bad.
  4. $EFII. Crap. Massive crash after it went parabolic.
  5. $JMIA. Crap. Little dump at the half dollar.

The early shorts were incredible then every trade after was crap. I’m more interested in my ES strategies now since stocks are less predictable.

No trades. $TIGR set up for a short but no shares available. Even ES was pretty slow today.

Slow day but some nice ES trades.


  1. $LB. Total crap but got out break even.



Market is closed on Friday. Some nice ES trades during premarket.


  1. $WTR. Stopped out right away. Eventually got going. Stop was too tight for a win.
  2. $HUYA. Stop was too tight again. Would have almost hit the target


  1. $AMRS. No shares. It would have gotten stopped out anyway.

Lately all of the flags and shorts have not worked and I feel like I’ve slowly moved on after seeing my ES strategy work consistently. It does not seem possible to make a strategy for random stocks that are active unless it is extremely specific. I would need to rewrite my flag algo to be more specific but then it might not ever trade. It would take a long time to get a large enough sample size to know if it works or not, and then it might only work during earnings or vice-versa.

For ES, the pattern shows up at least once per day and has been consistent. I’m still fixing a couple issues with it where it doesn’t take the same trades as the thinkscript due to indicators returning bad data. But so far every trade has been amazing. Hopefully it works on the micro contract when that is released otherwise I could take the trade manually on it instead.


  1. $RCII. Dumped.
  2. $WLL. Double topped so got out break even.
  3. $CRZO. Almost hit the target. Finally one that worked.



  1. $HOME. Dumped pretty quick.


Four ES trades today. Two were OK in the early morning and the other two were perfect.


  1. $STNE. Perfect.


Some ES trades but nothing else.


No ES trades today.

  1. $CRON. Dumped.

I feel like I have to reverse my bull flag algo since it’s insanely accurate about the stock going down. The first candle to make a new high ends up being the perfect short entry with a stop at the high of day.


Small win on ES.

I reversed my bull flag strategy

Short flags

  1. $ROAN. Went a little bit too far so it got stopped out.
  2. $JMIA. Broke the high of day slightly then dumped. Perfect, just needs a stop loss tweak.


  1. $BE. Ran hard after the entry.


No ES trades.

Short flags

  1. $WDC. Didn’t really do anything after the entry. Consolidated then dumped. Tiny loss.
  2. $WW. Perfect setup. Dumped for 30m+.

Trade Review - April 2019
Trade Review - September 2019


I am not a registered financial adviser/broker/anything. Use this information for entertainment/informational purposes only. Any tickers mentioned are not recommendations to buy/sell/or sell short. They are used as examples only.

Please remember that past performance may not be indicative of future results.

Potential Strategy - Overextended Short

I’ll start off by saying this is nothing new and Kunal Desai has written blog posts about a similar strategy involving bollinger bands. Unfortunately, I cannot find the link to it but I did see it while researching bollinger bands and stochastic RSI.

I’m subscribed to GDT on YouTube and during one of his recap videos it connected a few dots. What he has been doing lately is shorting extreme spikes expecting them to pull back enough to have a profit.

The particular stock in the video was $CPRX on 3/27. It spiked into $5.50 resistance (half dollar) then pulled back allowing for a quick 20c gain. And that’s what clicked in my head. Shorting into a whole or half dollar number - since it’s just psychology. People love to sell at or short at whole/half numbers.

I wrote a quick strategy to trade that stock then rewrote it the next day to simplify it. On Friday there were a few losses but also one giant gain that wiped out all the losers.

Let’s take a look at that nice gain on Friday. $WTW spiked very sharply near the open into a whole number. The algo shorted it at $20.98 with a stop of $21.05. It was out within the next 5 minute candle for an easy win.

The goal of this strategy is to short into a wall of resistance and get out as quickly as possible for a win. Even though this stock dumped for hours that may not be the case for each trade. I only have a small sample size at this time, so I may need to change that in the future in case this strategy really works.

The Requirements

  1. Must be at the whole/half number (within 2c on either side of it).
  2. The candle high it shorts needs to be outside the upper bollinger band.
  3. RSI must be above 70.
  4. Stoch RSI must be above 80.

Some tweaks I may consider:

  1. Whole numbers only (half numbers may not be as consistent).
  2. Daily resistance (could increase odds).

$WTW 5m candles

I’ve since added support for finding resistance on the daily chart (can be toggled) that coincides with the whole/half number. In theory that should increase its odds of having a win.

As you can see from the chart below, there was indeed resistance on the daily chart at $20.99. It’s never exactly the whole/half number and it’s more of a range like within 15c.

$WTW daily chart


I am not a registered financial adviser/broker/anything. Use this information for entertainment/informational purposes only. Any tickers mentioned are not recommendations to buy/sell/or sell short. They are used as examples only.

Please remember that past performance may not be indicative of future results.

Trading Update - 8

Update 7
February Trade Review

This post is dedicated to March trades. I paper traded most of February and modified the algo a bit to fix a few bugs and add new exit indicators. See the “Februray Trade Review” link above to find out what I changed. I plan to paper trade for at least the first week March if not more.


  1. $LB. Traded this one before. Small move then crashed. Worked eventually so I think I need to use the 9 EMA if it’s lower as the stop.
  2. $FTCH. Also traded this one before. Dumped pretty quickly.
  3. $VFF. Another instant dump.
  4. $OSTK. Nice looking setup that dumped. Usually flags work on this stock.

Friday’s just seem to be terrible in general. Most likely when I go live again I’ll skip Friday entirely.

Not watching many stocks by end of day. There were a few that popped up but didn’t meet the risk/reward or failed before making a new high. I’m using the 9 EMA as a stop or a previous low so the risk/reward must be much higher in order for a trade to occur.

  1. $SE. Late day flag and it worked. My algo did sell it sooner than usual because it got super close to the target and didn’t get over quick enough. It needs some adjusting to wait several seconds then sell but it does work. Nice win.


  1. $SE, again. No fill and if it were live I doubt it would have gotten it. It did end up working.
  2. $SE. Second flag failed.

No trades. $BPTH would have been taken but the R/R was bad. The backtest shows a 1.45:1 risk/reward which is good so maybe I’ll use the last close price instead of the high for the calculation during live trades. It should have been taken which is weird.

It was going to take $BPTH early in the morning today but the R/R was just awful and I’m glad I added that. The downside is multiple dollars and the reward I programmed is not capable of more than about $1 max.

  1. $YEXT. Good setup, break even though. It did double top so maybe I need to look back a couple candles before the entry. Eventually hit the target.

So far no dumb trades this week. Could just be from the market dumping and these are the only ones that met the requirements. Tomorrow is Friday which has been god awful lately. I did make a few changes after the last one so maybe it will do better.

I updated the crypto datasets if anyone cares.

No trades. Pretty slow day in general.

$WDC was setting up and would have worked but the risk was too high for it to trade.

No trades.

IB did something with TWS in the latest update that caused the charts and the entire application in general to be extremely laggy, and it has nothing to do with memory leaks this time around. 974 seems to be fine and luckily I had that older standalone release in a VM.


  1. $PYX. This turd never works. It bought right into daily resistance. I’m not sure if I can determine if there is resistance other than looking at the highest high over the last 30 days or so.

$NTNX in the morning but risk/reward was bad.

  1. $SLDB. Another failed flag that eventually hit the target.

I don’t know what I’m missing. These setups all look pretty decent to me yet almost all of them dump.

Nothing going on again. I paper shorted $BOXL as it spiked into resistance. First entry was a bit early then I added higher into 4.18 which was just about the high. Really nice trade.

No trades.

  • I’m going back to previous low as a stop since the 9 EMA tends to be really far away. In the case of the EMA, it ends up taking even smaller positions and gets stopped out anyway. It doesn’t seem to matter.
  • I made some backtesting changes to make things a lot easier to test “waiting” a set amount of time before selling when a double top occurs. Eventually I want to add resampling 1m candles instead of ticks so I can backtest days at a time for faster results.

Friday! Still not much going on. $SLNO had a flag that occurred the earliest I’ve ever seen. It did work but was not taken because it broke the 9:30 high candle.

No trades again. I tweaked it some to support super early flags but it still wouldn’t take it if the risk/reward was low.

Both of these morning trades got stopped out due to a bug. What happened is they topped and failed but eventually broke out then it sold because the time of the tops was not cleared. Always good to find bugs like these before trading live.

  1. $VFF. Slow but worked perfectly and hit the target. Top was 5c higher.
  2. $AA. Got a little move but just couldn’t make it to the target.

No trades. It was not watching much from the scans so probably not a whole lot going on. $AMD managed to spike and of course it didn’t crash enough yesterday to fill me.


  1. $WLL. Stopped out break even as it tapped the stop then ran.
  2. $NTNX. I was in the shower for this one. Perfect.

I’ll test moving the stop to break even later on and using the 9 EMA instead if it’s up enough. I still don’t have an idea of the ideal amount of time to move a stop or even what price to use besides trailing an EMA.


  1. $SOLO. Rejected $5 so it got out for a 51c loss.
  2. $NTNX. Sold on the same candle due to a double top. I may change it to ignore the entry candle since that is not enough time to determine an exit.

One it did not trade was $SCON due to the scan price limit I have set. The exit indicators I have seem to work pretty well.

Big sell off today and it’s not watching many stocks so I doubt there will be a trade.

No trades.

This week has been great. Couple bugs but all the trades worked to a certain degree. $NTNX was perfect.


  1. $DSW. Nice.


  1. $DCAR. Almost instant dump. 200 EMA resistance it looks like.

I’m starting to wonder if flags don’t work that well on low floats. $DCAR doesn’t even have a float on IEX because of so many reverse splits. I may add a “0” check just to filter more junk. The 200 EMA check should have worked but it was off by like 2c, so I’ll also check the last candle and not just the high of day.

Pretty slow so no trades.

I’ve been adding new features to my trading app when the market is closed. I’ve added things like supporting different timeframes which is useful if a strategy works better on something other than the 5m. I’ve also started working on another strategy that shorts into whole/half dollar resistance when it’s super extended. I noticed a lot of stocks top at those levels so might as well see if I can write a strategy for it. It seems promising but I won’t know until I test it during market hours.

Slow again.

  1. $KNX. Stopped out break even due to a half dollar top.

No short trades on the new strategy. I actually decided to rewrite it to simplify things a bit.


  1. $HTHT. Decent setup but the prior candle dumped before making a new high on the next one. It sold for a small loss.
  2. $VKTX. Got a small move before dumping.
  3. $AMRN. Perfect setup and nearly top ticked the exit.

These next ones are the whole/half dollar shorts.

  1. $WDC. Instantly stopped out.
  2. $TGTX. Off a little bit before getting a pullback.
  3. $WTW. Absolutely flawless. Top ticked the whole number at 21 and caught most of the dip. This trade made up the losses of the other shorts and more.

The ones that did not work seem to be from half dollars which is less significant resistance than a whole number. I’ll have to wait for more trades to see if I should only short whole numbers or not.


This weekend I worked on a few things related to the short strategy.

  • Half dollars definitely seem inconsistent when it comes to resistance (at least from my limited sample size). I still want to trade them to get more data.
  • Looking at daily resistance that coincides with a whole number top and it being extended intraday seems to yield better results. $WTW fits that critera perfectly.
  • I went back and looked at $AMD which has been topping at $27.00 on the 25th and 26th at the open. This coincides with daily resistance from the 20th.

It’s still a relatively simple algo that has the potential for large gains. Have to see what happens on Monday.

Update 9


I am not a registered financial adviser/broker/anything. Use this information for entertainment/informational purposes only. Any tickers mentioned are not recommendations to buy/sell/or sell short. They are used as examples only.

Please remember that past performance may not be indicative of future results.

Trade Review - February 2019

February was pretty slow and I decided to paper trade for almost all of it so I could work on the algo some more. Small caps were so incredibly dead that it was rarely watching more than 15 stocks by 10:30 AM. I decided to increase the market cap from 1B up to 10B and eventually 15B just to see what it would trade.

A lot more trades were made due to this and I found a few problems.

  1. Low volatility stocks were being traded even though the ATR was good on all the candles. I added a percent ATR filter which seems to have helped.
  2. Risk/reward was poor on many setups so I added a R/R filter based on the stop and profit target. This actually filtered a lot of losing trades out. I decided on a 1.25:1 reward/risk. 2:1 or higher is ideal but sometimes you just can’t get that based on the stop and target. There are some where 1:1 is the best you can do and they work out perfectly.
  3. Since this algo only trades flags, the high candle needs to be above most of the previous 5-6 candles. I previously had checks in place for this but they were not functioning the way I wanted. I made a small change to skip the last 3 candles instead of 2 which seems to have worked. This is very difficult to test because I do not have many examples.
  4. Lastly, new exit indicators. I have double tops and topping candle checks, but those only cover certain scenarios. I added a new double top check that goes back multiple candles instead of only checking the last two. Another scenario is what happens when the stock misses the target by just a few pennies without blowing through it. It should probably sell it, right? That happened on $ZSAN on the last day of February (although it was not traded due to the bad R/R).


I am not a registered financial adviser/broker/anything. Use this information for entertainment/informational purposes only. Any tickers mentioned are not recommendations to buy/sell/or sell short. They are used as examples only.

Trading Update - 7

Update 6
January Trade Review

This post is dedicated to February trades. The algo has not been modified except for some small bug fixes. Both algos that I described previously are being traded.

$SPY has been really strong the last few days due to the fed not increasing rates. Not a whole lot stands out to me during premarket except $TTNP but it’s too low for the algo to trade at the moment.

I’m pretty tired so I’ll let it trade until 11:30-12:00.

Not a lot going on besides the $TMSR halt craziness. Hopefully that sets the tone for next week. Stopping at 11:00. No trades.

$SPY is sideways during premarket with no gap. Could go either way. The State of the Union is tomrrow. I hope it doesn’t tank the market like it did last year. I may skip tomorrow and Wednesday depending on how volatile things are. My sleep schedule is pretty weird so I’ll go until 12. I’ve got some sinus pressure like I described in my January post from being sick. I feel way better than the first week of being sick so it’s progress.

Pretty slow but there were some trades. Unfortunately none really worked. $MNGA had a nice runup on some news but couldn’t break out of the flag. $AXSM had a really nice flat top flag but ultimately failed. I’m going to stop at 11 since there’s not much happening. $SPY was chopping around a bunch so I think I’ll just wait until Wednesday or Thursday depending on how the market reacts.

Down about $11 today. Not a lot but it keeps getting more difficult to make up the losses. I’d like to try swing trading $AMD more based off the daily chart but it has to pull back first.

$MBOT and $PYX also had failed flags.

$MNGA 5m/1m candles

$AXSM 5m/1m candles

$SPY gapped up a bit so I’ll let it trade today. Not sure about tomorrow though. I don’t see much happening so there might not be a trade.

It’s watching 5 stocks by 10:00 and I’m not seeing anything moving. I’ll stop at 11.

Got a trade on $EOLS. It looked like a good setup but it refused to breakout. I was never up on it more than 5c. Algo sold sooner than the stop because of multiple topping candles.

Stopping at 11 due to nothing going on. I’ll let it paper trade.

It paper traded $EOLS around 12:30. Easy win. If I kept live trading it would have made back the loss and been up $4.

$EOLS 5m/1m candles

Assuming the entire market doesn’t collapse, I plan to trade the entire day. By only trading a few hours per day I am limiting my potential winners. This was proven yesterday after it traded $EOLS again after I had stopped trading live. It made back the gain and more to the point of profitability. I increased the “trade rate” filter from 25 to 50 to make sure the stocks it’s watching are very active.

Only watching 11 stocks by 10:30 and I don’t see much happening.

Today is extremely dead and I want to work on another project so I’ll let it paper trade while I sleep.

No trades. A few were popping up but they failed.

Big gap down in the $SPY. I don’t see much moving besides weed stocks.

This week has been really crappy. Either Friday starts getting good again or maybe next week.

Only watching 11 stocks by 12 so I’m going to stop it and work on other things.

Not even a paper trade today. I did see a nice $EOLS flag today but it did not meet the requirements. All the volume came in on that single bar. It didn’t matter in this case.

$SPY is down again so we’ll see what happens.

Nothing going on by 10:20 so I’m just going to paper trade so I can do some other things. I’d really like there to be some crazy runners like $VTVT last year with perfect flags.

Not much going on again.

Small caps are extremely dead so I’m going to experiment with paper trading by allowing it to trade higher market caps (up to 10B vs 1B).

  1. $EOLS hit the scan and the flag looked great. I manually took it and the algo did a few seconds later. Worked OK but got stopped out for a profit when it moved the stop to $28.97 (whole number stop).
  2. $UNVR drifted down and got stopped out. Stocks like this are why I hate large caps. Nice setup and it just slowly doesn’t work.
  3. $AXGN later in the day. I believe that particular setup requires a small change to make sure candles aren’t completely outside the body of the high.

There is significantly more junk after upping the market cap. This means I also need to increase my other filters like volume and trade count/rate.

I’m going back to paper trading for the week since I have tweaked the scans and changed the algo slightly to make it hopefully trade better setups.

  1. $CRON. Took a while but hit the target.
  2. $ROKU. Really slow but hit the target after 25 minutes.
  3. $BHF. No fill. This one it definitely missed. Entry was 40.14 and the bid/ask was already 40.15 x 40.20. Plenty of time to get out for a small win as it formed a \/\/ top.
  4. $MAT. Too much resistance near $17. It was nearly identical to the $BHF setup.
  5. $CRON again.
  6. $APHA. Another weed stock at the same time as $CRON. Not as good of a setup since the “high” candle is not above the previous candles.
  7. $BWA. No fill.

So, the early trades were OK but it gave back everything by making multiple trades that didn’t fit the pattern. I’ve fixed those issues and in fact it should have taken $EOLS on 2/7. I hate tweaking the algo constantly because it’s a never ending process but it seems necessary in order to not trade garbage setups.


  1. $CVE. This exact pattern showed up yesterday on multiple stocks. It seems like this setup is a perfect short opportunity. Float is 1B which is nuts. Sold break even after it topped a bunch. I’m adding a float filter using IEX to avoid 350M+ floats. It ended up hitting the target about an hour later.
  2. $AVLR. Got filled at the top of the candle due to terrible spreads (probably would have gotten somewhere in the middle if it wasn’t a paper trade). Decent win on it.
  3. $LSCC. I was in the shower when it took this one. Only a 10c move but that’s still a win. It topped at 10.50 so it got out. That was the right call because it’s drifting back to the entry.
  4. $CRC. Algo sold for a small loss due to it topping at $19.00. Eventually it got going and ran way past the target.

Pretty decent today. On another note, IB added a few lines to the TWS VM options file and it may have fixed the annoying lag problems I had.


  1. $TGE. No fill. I may lower the “no fill” delay so if it doesn’t get filled immediately there’s no trade.
  2. $IVC. Failed completely. Eventually hit the target but took many hours. It’s a really nice pullback setup but it shouldn’t have been traded because the high candle was not extended.
  3. $MYOK. Break even. Probably moved the stop too soon. Hit the target eventually.
  4. $GSUM. No fill but if it were live I’m pretty sure it would have since there were lots of orders at the entry. Hit the target of 3.82 and then some.
  5. $GSUM. No fill again. It missed the target by 1c which is just crazy.

One it did not trade was $MRO which had a real nice flag after the daily breakout. It wasn’t on the scan because of the 13B market cap and the float being huge. Still a nice trade. I looked at the 1m chart and it was never down after the entry.

[02/14/2019 10:10:00] Entry 41 @ $16.74, target $17.02, stop $16.62 [ Bull Flag ]
Trailing stop: 16.62, 16.77
[02/14/2019 10:30:00] Exit @ $17.03 [ $0.29 ]
Drawdown: $0.13 / -0.77%
Max profit: $0.29 / 1.73%
P/L: $11.89

Friday! If the changes do OK all next week I may go live with it the week after.

  1. $SAEX. Failed almost instantly. Nice setup though.
  2. $YETI. Went up a little, double topped, dumped. Algo sold it sooner so the loss was less.
  3. $PYX. Nice looking setup but failed. It crashed hard then eventually came back to the entry.
  4. $SAEX again. Instantly stopped out. Dumped really hard, and that’s why you have stops.

Pretty slow day. Not sure if all Friday’s have been like this or it’s just slow.

I want to add a risk/reward value so I can make sure the reward is there otherwise there’s no point in going for 1:1 or even less. Also I was thinking about looking at average green candle vs. average red candle sizes to see if that would improve accuracy.

Market is closed on Monday.

One trade on $RIOT. I think I need a 200 EMA check because it ran straight into it and dumped. Nothing else.

I increased the market cap to 15B to see what it’d do. I slept while it paper traded and they were all pretty good.

  1. $I. OK trade, got out when it double topped.
  2. $NVTA. Choppy flag, small loss.
  3. $CRON. Awesome setup, basically top ticked it.
  4. $X. Steel company. Tiny winner. Perfect exit since it dumped right after.
  5. $HUYA. Nice setup and it was underestimated severely.

Some really nice trades today with only a single loser.

No trades. A few were popping up but by the time it made a new high it didn’t meet the requirements or the risk/reward wasn’t good enough.

I’ll probably give it another week to see what it does then go live. I don’t want to have only a weeks worth of trades to go off of.


  1. $INFN. Stopped out break even.
  2. $AAOI. Late day flag. Dumped first then ran so stopped out for a loss. Kind of annoying how a stock has to crash out of a flag before it finally goes.


  1. $LB. First pullback which looks great then a giant dump.
  2. $AAOI. Lost on this one on Friday but it won this time. Barely.
  3. $CIFS. Another decent looking setup that failed before getting to the target.

I’m starting to lose hope and maybe I should just reverse the strategy to short it first with a stop at high of day. Every gain is small and every loss is large. If it wins every trade like on the 20th it’s still smaller than two average losses.


  1. $FTCH. Finally one that worked. It didn’t go instantly but did hit the target. Didn’t get a fill but it should have with a live account.
  2. $SOLO. Instantly dumped. Looking back at it there’s a nice morning flag that did work but was not traded. Hm.

The winners did outweigh the losers today.


  1. $MDR. Garbage.
  2. $ENPH. Another turd. I’ve seen this one run far in the past.
  3. $OSTK. Extremely slow but hit the target. First flag wasn’t taken due to high RSI.

I’m still finding issues where the candles aren’t up high enough to buy. The second bad flag it traded on $OSTK was garbage even though it worked eventually. I added the RSI > 79 check to filter out really extended junk but that caused it to miss the first flag. I think that indicator is useless for algo trading.

I’ll write another recap post for this month soon.

  1. $CRON. Stopped out break even. Not a bad trade.
  2. $HZNP. Finally got a move but it couldn’t hit the target. Break even. Many chances to sell for a profit on this.

Quite a few in the morning that did not have the right risk/reward. $ZSAN would have worked but missed the target by 3c.

Trade Review - February 2019


I am not a registered financial adviser/broker/anything. Use this information for entertainment/informational purposes only. Any tickers mentioned are not recommendations to buy/sell/or sell short. They are used as examples only.

Please remember that past performance may not be indicative of future results.

Trade Review - January 2019

I’ve learned quite a bit from letting my algo trade during January. It started off pretty good with a couple of small winners which is exactly what I wanted. I then had a few losses that spiraled out of control and forced me to size down after I started to sabotage myself.

After a string of bad trades I went back to paper trading and had some gains which is super annoying. The week after that I got sick and had to take two weeks off in order to fully recovery. During that time I was paper trading still and some worked out.

It was a pretty rocky month with only 2 full weeks of trades at the beginning. I’m ending it down about -$25 which is unfortunate but I should be able to make that up eventually.

Here’s to February being much better!


I am not a registered financial adviser/broker/anything. Use this information for entertainment/informational purposes only. Any tickers mentioned are not recommendations to buy/sell/or sell short. They are used as examples only.

Trading Psychology - Self-Sabotage

This post is about something I discovered while algo trading recently. The issue I seem to be having is due to multiple losses and fear of another loser or fear of losing money in general. Despite letting an algorithm trade for me, I still end up screwing up the trade by taking losses too early without letting the trade play out and work.

Here is the definition of self-sabotage from Psychology Today:

Behavior is said to be self-sabotaging when it creates problems in our life and interferes with long-standing goals.

It all goes back to “Trading in the Zone” by Mark Douglas. My losing trades are mostly caused by myself not fully trusting the algo or not fully accepting the risk of each trade.

I started algo trading at the beginning of this year and actually found a little bit of success; then I had one “large” loser that stopped me out of a trade due to the stop loss not being at the correct price. That trade would have worked if it were not for that technical error. Next, there was a trade on $USAT that wasn’t really working so I stopped my algo when it was about to trade $MBOT. I couldn’t stand having yet another losing trade.

Because of that first big losing trade, I stopped trusting it to make proper decisions despite seeing trades work over and over in my paper account. And guess what happened with the $MBOT trade it wanted to take? An easy win that worked almost instantly that would have taken out both losses. In fact, I would have been profitable on the day because it would have sold $USAT sooner rather than getting stopped out.

$MBOT 5m candles

I am sabotaging myself by not letting it take every trade or not letting the algo decide when it’s not working and it should get out. It follows rules so I don’t have to think.

Today, on $MBOT again, I did not like how the stock was acting so I sold it too soon. The trade worked without ever touching my stop price.

$MBOT 5m/1m candles

The Solution

The only thing I can come up with is to size down even further so the risk is a $5 max loss instead of $10. This is not much money either way but it feels like a lot if you have one double digit loser after another.

Once you’re in a trade you have to stop thinking. Risk is set, there is nothing else to do but wait. Some trades will work instantly and others will take time to get going.

This week has been pretty tough and the most trades I’ve ever taken in a day or even week. I’ve sized down to $5 of risk so tomorrow I’ll just sit on my hands and let the algo trade each setup.

I have “Trading Psychology 2.0” on my shelf but it’s tough to get through. I’ll force myself to read it at some point.

At least I’m aware of this problem so I can try working towards a solution. I don’t need income from trading so it’s not a “life or death” situation. These small losses don’t matter in the beginning. I’m only just getting started.

Trading Update - 6

Update 5 - Bull Flag 2 Trades

I can’t believe I’m already on part 6 of this series and it’s 2019. I’ve learned quite a bit from watching it paper trade the last few months.

Now that it’s January, I’m ready to test it semi-live. There are now two algos: standard bull flag algo from the other post, and another one that is more specific that trades perfect pennants and bull flags. Both are very similar in the way they look for the patterns and take the trades. The first algo sometimes takes choppy flags but also has ones that are perfect but don’t meet the critera of the pennant algo.

  1. Standard bull flag algo
    • Orders are submitted but not transmitted so I get to choose if it trades them
    • Sometimes finds choppy flags
    • Not as specific as the pennant algo but is the majority of trades and gains
  2. Pennant algo
    • Transmitted live
    • Looks for perfect pennant setups and bull flags
      • Must be all red candles (except the high candle)
      • Candle tops / bottoms must be inside the high candle
      • Pennants / flags: candle tops must downtrend along with volume
      • Pennants: candle bottoms must also uptrend

If the flag doesn’t meet the requirements of the #1 algo it shouldn’t trade the #2 algo due to how similar they are. I plan to let the algos do their thing unless I see an exit indicator. It’d be nice if the first trade it took was a winner.

Today it’s watching a lot more stocks compared to the holiday weeks even though the morning was painfully slow.

One attempted trade on $CRC that I canceled. Not a bad setup but the last time it traded it it dumped off then ran. Not really a fan of this stock. It did manage to hit the target after a slow grind up.

[01/02/2019 10:40:00] Entry 45 @ $17.19, target $17.65, stop $16.97 [ Bull Flag ]
Trailing stop: 16.97, 17.22
[01/02/2019 11:00:00] Exit @ $17.38 [ $0.18 ] (exit indicator)
Drawdown: $0.19 / -1.10%
Max profit: $0.18 / 1.04%
P/L: $8.32

I canceled another on $WATT. I’m not seeing any crazy volume stocks so none of these look like they will work. It also hit the target and would have been an $18 gain.

[01/02/2019 11:30:00] Entry 90 @ $6.34, target $6.54, stop $6.23 [ Bull Flag ]
Trailing stop: 6.23, 6.37
[01/02/2019 11:40:00] Exit @ $6.55 [ $0.21 ]
Drawdown: $0.10 / -1.58%
Max profit: $0.16 / 2.48%
P/L: $18.90

I’m thinking tomorrow I’ll just let it transmit all the orders it wants. I’m like trying to predict which ones will work and which ones won’t but that’s not how the market works. Worst case scenario I can just sell it back instantly for a commission loss if the flag is garbage looking.

Everything is live today. Big gap down in the $SPY like yesterday. Hopefully I get a win - even if it’s $2.

Watching 3 stocks by 10:00. 5 by 10:30. 9 by 11:00. If the market continues to sell off it’s unlikely there will be a trade today. Never know for sure though.

Market started to bounce around 11:00 similar to yesterday.

Stopping it at 1:00 PM. $SPY is just sideways in a range and it’s only watching 39 stocks. Not much going on today in terms of small caps. Eventually it will trade something like it did yesterday.

Try again tomorrow.

I just realized something with my $CRC thought process from yesterday and it goes back to what Mark Douglas said in Trading in the Zone. Each trade is random and unique even though we believe in our minds that what happened previously will have the same outcome again. I thought $CRC wouldn’t work because it hadn’t before. If I have more data to back up my reasoning, like with $NBEV, then I can assume flags usually do not work on a particular stock.

$SPY is up a lot from yesterday’s close. I’d like to see it get over 250, but there’s going to be a lot of resistance. Hopefully we see similar action to Wednesday with more stocks moving.

Not a whole lot moving this morning.

So I finally got an algo trade and it was 2. $FLXN and $TWTR.

Both of these I manually took profits/losses. $FLXN just couldn’t get over prior close so I sold when it started to crash into $12.25. $TWTR was really choppy and slow so I took profit on the ask when it finally broke over the high. It didn’t hit the target anyway so my exit was solid.

The $SPY did manage to get over $250 like I wanted due to some fed news which is really good. Monday should be interesting if the momentum continues.

$FLXN 5m/1m candles
$TWTR 5m/1m candles

$SPY held most of its gains but is coming down a little during premarket. I’m seeing quite a few things moving around which is good. I just want to get one good win in so I can build up a cushion. It doesn’t really matter because over time this strategy should come out on top. I just like the idea of trading with profits and not losing money in my account.

It’s almost 10:00 and it’s only watching 7 stocks. I’d be OK with it not trading anything since there’s not much moving besides $ROKU and $ARRY.

One trade on $EPZM for a $6 gain. I was watching this setup a few minutes before it took it but I was hoping it’d dump first because of that huge topping wick. I manually took profit into a large spike. I seem to be pretty good at determining when I should get out. So far no amazing trades that work instantly. Earnings season is coming up so that should get really interesting.

Stopping it at 11:00 AM.

$EPZM 5m/1m candles

$SPY is still climbing which is great. I just want to keep building up that cushion and hopefully one of these days get a full move out of one of these trades.

I don’t see too much going on so I doubt there will be a trade. It does end up surprising me a lot though.

Only watching 5 stocks by 10:00. Not looking too good.

Nothing going on today and the $SPY is now below yesterdays close so I’m stopping it at 11:00. $TMDI looked really promising for a 5m setup but it failed. I can’t wait for earnings season to start.

No trades.

$SPY is up again. We’ll see if it holds up. Not too much going on during premarket but there could be something later on.

It’s watching more stocks today but there’s not a lot going on. $TWTR, $HUYA, and $LJPC had early flags but they didn’t meet the requirements. It was about to take $WATT but it failed and it didn’t look good. $LJPC had another flag around 10:30 but it looked way too choppy. It somewhat worked but the backtest shows it would have gotten out due to a double top.

I’m just going to try again tomorrow. Everything is crappy today. I don’t want to push my luck until earnings season.

$SPY finally gapped down. It may go green later. Can’t really predict that. I got up a bit late so I’m just going to paper trade it today. I don’t see much going on anyway so it may not even trade.

No trades.

The last half of this week has been so slow I don’t have the urge to wake up early. $SPY is downtrending and it’s watching 6 stocks by 10:00. It may trade something since it’s been a while without a trade. I’m just paper trading it now. On Monday I’ll get back to live trades.

One paper trade on $AXSM. It sold for a $3 gain when a double top occurred and if it stayed in it would have hit the target. Not bad I guess.

[01/11/2019 12:10:00] Entry 90 @ $7.68, target $7.88, stop $7.57 [ Bull Flag ]
Trailing stop: 7.57
[01/11/2019 12:30:00] Exit @ $7.71 [ $0.03 ] (exit indicator)
Drawdown: $0.13 / -1.69%
Max profit: $0.06 / 0.77%
P/L: $2.57

No screenshots because I only want to catalog live trades here.

I think the ATR indicator is broken in IB or the smoothing done by TA-Lib is different. The ATR for all of the candles in IB are less than 0.10 and the algo would not trade if they are below that. Odd.

This is the start of the earnings season! All I want is a single win to keep building that cushion.

Significant $SPY gap down but it is earnings season so I still want to trade. Maybe it will reverse or there will be some earnings winners not tracking the market.

Got a trade on $SAEX that literally touched my stop for not even a second then ran. I’m not sure if that’s because a trade occurred below my stop or the bid dropped below it. If I didn’t get stopped out I could have had a small gain on this since it blasted through my entry afterwards. If I let the algo do its thing it would have been a break even trade.

$SAEX 5m/1m candles

Another trade on $USAT. I closed my algo app at this time since it was looking to trade $MBOT next. I should not have done that since at some point it has to have a win. This one would have been about a $7 loss instead of a full $11 if I didn’t close the algo.

So really I should have only been down like 8-10 total and maybe I would have let it trade $MBOT then. Ugh.

$USAT 5m/1m candles

[01/14/2019 10:35:00] Entry 43 @ $5.40, target $5.94, stop $5.17 [ Bull Flag ]
Trailing stop: 5.17
[01/14/2019 10:35:00] Exit @ $5.95 [ $0.55 ]
Drawdown: $0.82 / -13.46%
Max profit: $0.09 / 1.51%
P/L: $23.65

(I don’t think the drawdown / max profit values above are working correctly so just ignore them)

$MBOT would have worked but I decided against it because all these trades have been garbage. I can’t win. I should have let it do its thing, but I could not stand having another loss. I can afford to lose $20+ otherwise I wouldn’t be trading. I just hate seeing my account value drop.

You don’t get to choose which trades will work.

I will say that my fills are pretty solid on the stop losses. It’s not many shares but I haven’t really gotten any slippage on these.

I went back and looked at the trade data. Not a single trade occurred below my $5.80 stop loss which means stops get triggered if a trade occurs at or below your stop price. This can be changed in TWS but I don’t see anything better than “Last” which is the default. I’ve changed the stop price to be 1c below which should prevent stupid exits like this. It should not have been a loss!

Here’s the tick data for my trade time period. I’ve highlighted my exit. Somehow I got 5.81 and not 5.80 so either IB is doing a pretty good job or they’re slow on the executions and the bid popped up for a second. Entries/exits were both executed on ARCA.

$SAEX tick data

$SPY is up a tiny bit today and I’m seeing quite a few low priced stocks up. I plan to let the algo trade everything and never prevent it from trading. If you try to avoid more losses you will only end up with more losses.

Despite $MBOT going nuts it’s only watching 4 stocks by 10:00. There might not be a trade today since yesterday there were a lot. I plan to stop it around 12:00 if nothing is going on. The overall market has been straight up and the $SPY tapped 260. It needs to get over that level otherwise I expect there to be a dump.

Got a trade on $MBOT on the 5m flag setup. Lost $6 on it. I decided to bail early because it should have had instant resolution but the move got stuffed. The timing for it ended up being off and this would have been a win if I had held.

$MBOT 5m/1m candles

Next trade on $VHC. Another loser but this time I sized down to $5 of risk and let my algo do whatever. It sold it early when it topped at 5.50. This was amazing timing since it dumped on the next candle.

Good thing I adjusted stops to be 1c lower because this one dropped instantly to my stop price then came back up. I got a better exit because of that.

$VHC 5m/1m candles

Stopping at 11:00. Nothing else going on and today is not a good day for me. I will let it paper trade the rest of the day though.

I looked at the stats and currently the win rate is only 28% and this is because I got screwed on $SAEX, didn’t let it trade $MBOT yesterday, and sabotaged myself with $MBOT today. Otherwise the win rate is about 62%.

This is why I decided to algo trade. So it could find the right setup and I don’t have to worry about the stop price or where to get out. It does it all. Of course that doesn’t prevent self-sabotage and fear of losing. I’ve had so many losers in a row now that I never expect any trade to ever work. At least I am aware of this problem and can try to avoid making the same mistakes.

Trading is hard and I’ll make back the losses even if it takes months.

$SPY opened above $260 which is great. I couldn’t sleep much so I’ll be stopping at 11:00 so I can go back to bed. I’ve sized down to $5 of risk so even if I lose it doesn’t matter. Somehow $MBOT is still going.

Since I sized down I was able to just walk away after it took a position on $CENX. The algo sold due to a double top for a $2 loss. It’s a very slow stock. One of these trades has to work.

I realized earlier that accuracy is much higher since $CRC and $WATT worked from before but I didn’t let it trade them. Have to let it trade everything otherwise you have an accuracy skewed to the losing side.

Not as much stuff going on today so I’m stopping at 11 so I can sleep. I’ll let it paper trade the rest of the day.

$CENX 5m/1m candles

I let it paper trade the rest of the day and it got a perfect win on $UNFI. I can’t believe this strategy seems to only work when I paper trade it. It’s so frustrating.

[01/16/2019 14:45:00] Entry 33 @ $13.20, target $13.57, stop $13.05 [ Bull Flag ]
Trailing stop: 13.05, 13.23
[01/16/2019 14:50:00] Exit @ $13.58 [ $0.38 ]
Drawdown: $0.24 / -1.76%
Max profit: $0.32 / 2.39%
P/L: $12.54

I’m taking today off since I developed a sore throat yesterday and I couldn’t sleep. I don’t know if it’s just too dry and cold now or what. I really do not want to take a day off but I feel like I need to. I may also take Friday off so I can get back to it on Monday. This week has been crazy.

No morning paper trades. $FOSL was looking good but it didn’t take it. Would have worked out OK but it’s slow.

Later it got a trade on $ALDR. It almost hit the target after slowly grinding up. There was plenty of time to exit around $12.50.

[01/17/2019 15:15:00] Entry 41 @ $12.36, target $12.57, stop $12.24 [ Bull Flag ]
Trailing stop: 12.24, 12.39
[01/17/2019 15:30:00] Exit @ $12.47 [ $0.11 ] (exit indicator)
Drawdown: $0.21 / -1.68%
Max profit: $0.05 / 0.40%
P/L: $4.51

I may trade tomorrow if I start feeling better.

Took today off as well. There were a few paper trades. One on $HUYA and another on $HEAR. $HUYA got stopped out for basically break even. $HEAR was perfect and slowly grinded up to the target.

Yet another flag on $OSTK near end of day. Up $5 on that. Crazy how if I just stop screwing with things it ends up with gains.

Pretty good paper trading day. I just realized Monday is closed which is perfect since I still feel a bit sick.

Accuracy is 76% if I include the trades where I screwed them up, the $SAEX one, and the recent paper trades. That’s insanely good.

Starting to feel better but not enough to trade live. I want to start trading all day and I don’t think I’m up for that while sick. Maybe tomorrow but I might just take the entire week off to recover.

Not much going on. Huge market dump. One paper trade on $AXSM for a loss.

I’m writing this the night before. Taking Wednesday off again since I’ve got a slight headache now and I just want to not be sick when I trade. This could be the start of a new downtrend in the $SPY so I’m not expecting this week to be that great.

Got one paper trade on $SPI for a small winner. I’ll take it considering the entire market dumped today.

Also writing this one the night before. Still a bit sick so if I don’t wake up for the open then I won’t trade live. Anthem VIP demo comes out on Friday in the morning, so if I’m awake for that I may trade live for a few hours but otherwise I’ll be playing that instead. This week has been pretty slow for flags which is great since me being sick was perfect timing.

One trade on $TBLT but it didn’t get filled. Would have gotten stopped out for break even.

Very slow this week compared to last week so I’ll probably just skip Friday again and let it paper trade while I play Anthem. Next week should be better.

Took today off again.

Two trades on $OSTK. Neither of them had much follow through. The second trade did move up a bit and it basically got out break even.

$MGNX had this insane topping wick that I almost want to write code to ignore. Got a tiny move up then it dumped.

The second $OSTK trade would have made back the loss then on $MGNX there were several signs to get out like two topping wicks in a row. So today could have been profitable but it was pretty crappy.

Another trade on $OSTK. No follow through.

This week was very slow and that seems to happen a lot. Every other week tends to be good.

This is the last week of January. I’ll probably do a review of the month then start another post with more live algo trades. I’m finally not sick so back to live trades, and I want to let it trade all day since there have been some trades near 2:00 PM that worked well.

Big $SPY gap down and I don’t see too many stocks up premarket that look interesting. We’ll see what happens. If there’s nothing by 12 I might just go to sleep.

Got a trade on $AWSM that hit the target perfectly and more. I took it early because my heart was racing for no apparent reason. I think taking that week off made me forget about risk management and letting trades play out.

$AWSM 5m/1m candles

I’m taking the rest of the day off. There was nothing else really going on.

I was really tired so I slept in until about noon. I don’t think much was going on but it may have traded despite that. $AMD had a huge earnings spike after hours. If it gets back to $16-17 in a few weeks I’ll be buying some.

I’ll try to be up tomorrow morning for live trades, but I’ve developed some sinus pressure from my runny nose so if I feel like garbage I’ll be sleeping in again.

Head is hurting a bit so I’ll just take it easy and sleep all day. When I wake up I’ll see what it paper traded.

Algo didn’t start. Thanks Windows.

Last day of the month. I’m doing something that is crazy CPU intensive so I don’t want to live trade. Also, I’m pretty tired so at this point I’ll probably just wait until February to get things going. Finally not as sick so that’s nice.

Got a paper trade on $SXTC. Ended up being break even but plenty of time to sell at $7.90. Crazy spreads on it.

Surprisingly only watching 25 stocks by EOD so only that one trade in the morning. It wasn’t terrible just a little early and rejected $8.

January Trade Review


I am not a registered financial adviser/broker/anything. Use this information for entertainment/informational purposes only. Any tickers mentioned are not recommendations to buy/sell/or sell short. They are used as examples only.

Please remember that past performance may not be indicative of future results.

Trading Review 2018

2018 was interesting. I traded a little at the beginning but the market felt even more difficult to trade after the state of the union address. I just couldn’t find anything I liked so I ended up not trading much at all. I had a few losses but I can’t even remember them now because they were so long ago.

My main wins were from swing trading $ALLY and $AMD. I successfully dip bought $ALLY when it hit my daily trend line and I sold it the next day for a nice win on 100 shares.

Most of the year I was working on my algo trading application to integrate with IB then actually writing algorithms. I experimented with different setups like red to green, 5m/15m opening range break out, MACD, and bull/bear flags. There were some that worked but bull flags have been the most consistent. Bear flags work too but I couldn’t make them as consistent. I’ll have to revisit them since I think they need a slightly different algo to work and you can’t just flip a bull flag upside down like some have said.

I don’t think I watched a single Tim DVD like I said I would from 2017. I’ve seen them all and I still don’t know what his strategy is. There’s nothing about how to trade flags or any technical indicators/patterns. It’s just support/resistance, which is fine, but I need some type of chart pattern to trade. I can’t just randomly buy some dip and hope it holds. That’s not feasible. I need a clear entry and stop loss.

This is why I like Kunal (and even Ross). I said in another post that I based my flag trades on his “how to trade the open” presentations that he does everywhere. He described the setup so well that I was able to mostly automate it. I mean it still has losses or even a string of losses but that could just be the recent small cap market being slow.

I started a YouTube channel to document my algo trades and have had some insane wins. When bull flags work they really work. 2018

Trading Goals for 2019

  1. I’ve been letting my algo trade live recently, but it hasn’t taken any trades yet. For 2019, I want to try and be here every day and let it trade as much as possible if it looks good. I have the ability to manually transmit the orders in case the setup is terrible or I know the stock never makes moves. I’m hoping January is good for 5m flag setups.
  2. I’m writing this on the very last day of 2018 and the past few days I’ve started working on adding GDAX support for my trading app. I’ve backtested bull flags on the 1H chart going back 2 years and it looks promising. I want to focus on that as well as stock trading.

Crypto Datasets

I had a hard time finding 1m datasets for LTC so I wrote some code to pull all of it from 2017 until 2018 on the GDAX exchange. I cannot guarantee the accuracy of this data. Use at your own risk.

The format is a SQLite3 database. It should be easy to export to a CSV if necessary. Use 7-zip to extract.

Bitcoin 1m data going back further than 2016 can be downloaded from Kaggle.