Good morning traders and welcome to the book map all markets webinar. This is Bruce at book map Good morning traders and welcome and I'll go through the markets with you this morning Typically, it is Scott Pulsini presenting at this time on Thursday. He is off this week So he'll be back next week. So I'll fill in we'll go through some things today Typically, I'm here Monday Tuesday and Friday So I'll be there tomorrow So we can go through some some things in more detail So the Anyway, this is my trader bio here. I've been trader for about 15 years and I lead the book map education here And yep, you can reach out to me on discord at Bruce at book map or my Twitter handle at flow order It need to go through the disclosures and we'll jump right in look at these markets general disclosure all book map limited materials information and Presentations are for educational purposes only and should not be considered specific investment advice nor recommendations risk disclosure training futures equities and digital currencies Involves a substantial risk of loss and is not suitable for all investors past performance is not necessarily indicative of future results All right, let's jump in here and take a look at whatever Marcus you guys want Over on discord good morning everybody so yeah Scott told me just yesterday that he is not able to Present today. He is off or maybe it was two days ago but No worries, you know, he's on vacation. So I'm just filling in here We won't go for the full hour and a half. I think we'll just maybe I go for about an hour or so And and cover some of these things in here. What's happening in the markets? All right, so looking at the S&P in many Well, we can see the 930 cash open here move to the upside high liquidity up here 4278 move to the downside high liquidity down here at 68 and then some interest coming in After the market started to trade down in this area here around 65 and we see a nice bounce right back up to the highs so pretty pretty back and forth in here and guys, you know this again like just We can look at candlesticks in here. In fact, I want to I'll even make the point here Be labor the point potentially So bear with me for a moment though And let me show you the candlesticks here And take everything else off All right We see the move and the the wicks up here We see the move down and then we see you move back up and we see wicks on the on the On the move down down in this area here and we see it also here back On this recent high here. All right, but what's really going on in here? Who's in control of the market who's? You know taking this market into a new direction. Well, let's look at the best bid and offer This starts to outline the market structure in a much clearer way This is why you can see it right And there's a line right here in the middle Okay, you really can't see that in the candlesticks very well and But now and that's good. That's good to see and let's let's clear the drawings here. Yeah, that's good to see But we really want to understand the volume trading within that area here They look at that heavy selling and Heavy selling again here. They right here is looking actually pretty good for trend continuation We'll talk about that with the liquidity heat map in just a minute But and the buying coming back in here that we would still look for this move to the downside This is where the buyers came in and powered through here right here And you can see it very clearly here in book map And this is excellent. This is the kind of transparency. We're talking about is This is where the market broke from On the sell side not here. It actually broke here and That's where the buyers took it above and kind of you're going to see a short squeeze You know, these are the shorts in here Covering on the way up Right. These are the market dynamics. We're talking about here in these transactions Now let's jump into the order flow as well and we'll look at the Historical order flow here. All right, we already noted that earlier This was already in the market here at 42 78 And then this was already in the market here at this 68 level with one lower Into this liquidity down here and then and then we've got this really nice bounce out of this area here All right, but this is the key level here 42 73 You're going to be above it or we're going to be below it More maybe we just hammer around within a range in here Maybe even a statistical range in here You may see like some sort of standard deviation around this 42 73 line here All right, so but that's what we want to look at here This is giving us understanding and clarity of what's happening in the market. All right, so I hope That is Understandable. Let me know if you guys have any questions. Thanks, Rob. AV is good Good morning shadow Alright so Now let's just zoom in here and it looks like we got some buying interest coming in here And we'll assume and let's really understand this interest in here All right, the book is showing some interest on them on the bid here. We're getting our buyers Okay, and a bit of a pullback here right now maybe to right here where that buying started to come in Now the question is are we going to get these buyers again? Well, let's just look at micro structure in here I'm looking for green dots right up here at 76 if I get them. I'm looking for it to come up into 78 This is the same kind of line that we're we're just covering in a bigger picture. There's sellers down here There's buyers up here okay, and There's our pullback here our buyers. We're looking for our 78 Right so just going through an understanding and and how did we do that? It looks almost magical, right? That that somehow we were able to call the market and look for this move to 78 just like that It's it's not it doesn't work like that What was going on was understanding this in here for this to potentially unfold as a scenario and in this case that scenario unfolded Right if we didn't get the buyers here And then this is why we go through the scenarios and it's important to understand what these scenarios look like We mark them up all the time When we're looking for a big green dots to pull it up into here. That's it That's it for now Hey, maybe in a bigger picture. We which we will take a look at the bigger picture in a minute But that's all we're looking for in this view in here Right, you can see that they're still buying pressure. It's come up into 80 now Now the other scenario in here to go through Was okay, you know that that's great that we got You might check out this this tool in here recenter in drag mode If you have it checked when I go back here it Price action will always be within the drag mode But if I uncheck it, then I can go any way I want here, right? I can look outside of price And so just to note that feature if you like it or not so The other scenario would have been here. It would have been a failure of this And what we would have looked for is lots of sellers here and Then we look for the break into 74 Right and then also we have the the potential then at 74 Down to our line here that we just we just marked up here at 73 and to test this Maybe we'd get enough sellers down here to break that line and continue on lower right, so these are the scenarios and The primary scenario is the one we're looking for which already played out Okay, it's already played out to 78. In fact, it went up to this 80 liquidity here Okay, so understanding and this is How we can gain an edge using this software here is by understanding these market phenomena or events in here Once we can start to outline and understand Above or below the 73 is it accepting do we see a lot of buying pressure? And then we're looking for it again in here. There was a microcosm a micro like structure here of Exactly the same thing But the line here would be at the 75 and a quarter And the the range here is very small. It's like a point and point and a half or so Instead of several points All right, and then just to outline the scenario and then we can look for one of these to play out and look for Why we kind of leaned for this as being the primary scenario Is because we already had the big move here So we've already accepted above and then we're looking again for our buyers to come in All right, so we go with the the primary scenario. It's this recent activity in here That gave us that that kind of insight All right, so now again as we as we covered First started the webinar. This actually looks really good for it to start to trend lower Down into These lows in here. We see very strong volume. We see look it's a strong pullback here But it's on low volume here. This is a low volume pullback Let's get these candles out of the way sorry guys and Why we're You know covering this in here Well, I'll tell you why We are creating some Much needed content for you guys coming up Let me show you this here. I've shown it a bunch of times But we'll have a course in here on strategies and In setups go to book map Slap book map comm slash learning dash center take you to the book map learning center here All right, and then click on this one here for for example, we just finished up some other videos in here And we go through You know all these different features here within book map and there's a lot right But they're very short videos in here. So if you're new to book map This is a great place to go and we're going to come up with you know another course in here We have our market mechanics course as well that teaches you how these markets work And this is what is really the foundation here This is what we just covered in here basically Okay, understanding who's Moving the market Where are they out of control and who's moving the market on the other side? And then that's why we look for the move to continue It's because these players in here have moved the market and we have A positive edge here or looking for the continuation of it. We didn't get a retest down here We don't see heavy selling in here So we're looking for our buyers in here and that played out pretty nicely That scenario here Okay, now we don't know like Let let's see like we might get our retest back down to here and follow through to the downside So, uh, we'll come into this in a minute here. We're actually looking at the same area right here Right here. We can drop a new line here Okay, uh at 76 or so. All right above or below 76. Let's see It's because we'll go through this scenario. All right sellers coming in here Not too many buyers more sellers here again Okay looking for red dots looking for sellers Uh and looking for them to drop the market maybe down into our 73 Hey That would be this one of the scenarios here The other scenario we can take a look at here. We can go through the the opposite one lack of buying Or lack of selling. I'm sorry Exhaustion here on that sell side buyers back in above up here And then maybe a breakout, uh, not only of this, um This trend line, but this little range in here and this is where we need to see buyers back up here Hey to support this And for that move higher and if we can get that You know, we'd be looking forward to come back up to into maybe maybe 80 here 79 80 something like that All right Then going through and understanding the behavior in here is what is really the the key And then we can kind of Way the options like we can look at this in here And this will give us an edge we can go through these scenarios what they might look like And then look at this one here like yeah the buying is not bad. I'm still looking for this to to continue here We have less in here though. I think What's the order book telling us? Yeah, they're on the bid here. They're kind of pulling here. Yeah, let's let's see it continue on up to 80 We might get a pull back here back to 77 and a half, but um, yeah momentum seems pretty good And just looking for buyers to continue to climb up to 80 here. So anyway Are there any questions on this because we're going to go over this and we'll we'll start creating some some content for it For this like I said When you start to understand how these markets move and how they work and that's why we have this educational course Uh here, uh, then You know, you you've you've got a really nice foundation here Now we had this course since 2018 Uh, and then the new getting started course in here is about how to use book map Getting connected here. We have all sorts of videos on connecting book map to data Order flow phenomena lots of videos in here on interesting things Uh, the add-ons all the different add-ons that we have in book map here as you can see uh, and And then our insights page here scroll down a little bit further and all our events are in here on the calendar Just a note here About options millionaire Uh, I need to delete that one That I did Uh, hold on a minute You delete that Uh, yeah, he uh, he had to cancel today. So uh, it's unfortunate about that Yeah, there we go And that should update our calendar Yeah, okay, great. So he's not on the calendar anymore All right, so anyway guys, um, so I wanted to show you this, um in here, uh the New learning center, uh drive you guys toward these areas This is going to be the hub for learning and like I said We're going to have content about different setups in here and understanding These markets building upon the market mechanics course here Understanding what moves the market and then we're going to look at some of these things in here Why we can look for some of these moves to unfold by going through the scenarios All right Let's see here That's still pretty strong buying. Um, so yeah looking for continuation here, um, you know, we're Going to get some, um some pullbacks in here. So let's look at maybe where Um, we might get some support Looks like this trend line, uh Or shallow one here is working better We'll hold on to that one And we have our 76 line here as well Okay So now look at this selling. Okay, so we were looking for continuation here You know, uh, this looks everything looks good in here, right? Well everything changed Uh, they and this is what why we want to um Start to understand like uh Even though this volume looks really good in here Can you guys see where the sellers started to come in first? We see some in here Testing this in here and we just didn't get buyers There's we have a lack of buyers in here strong buying in here And then the selling really comes in down here and moves that market Okay, so now we can see the buyers retest right back to it and we again have our line in the sand here At this 78 and three quarters And so far the buying that has come back here is low volume And that's one of the setups we look for for a trending market Is low volume on the pullback now what we have to be very careful about though is like We've talked about this the caveat here about the low volume pullback Is note how you can get buying buying back up above it here Doesn't matter if it's a low volume pullback if you can get the buying back up above it here Get a nice move and continuation to the upside because the volume Once we're up here They can take control away from it here and the sellers are going to be feeling the pain in here Uh and the squeeze and we should get a nice stop run to the upside All right, let's look for it. We're anticipate a stop run in here Uh most likely above 81 And let's see if we can get back up into 82 here where they pulled that liquidity All right, let's uh Let's take a step back here. We went through these scenarios in here. Uh and So far bulls still still move in the market here From this move above 73 Good morning, mcloco Any any questions over on discord? Do you guys think you could do this like? Um, you know mark up your charts mark up some of these scenarios I mean if so try you know throw throw it in here in the all markets, uh chat Uh, we'll take a look at them But if we can understand what moves the markets and then we look at the behavior of the players in here Like right now everything looks good for a pretty strong breakout here however What about the order book? Okay, I see it's not really helping us too much here There we go. There's there's the breakout I'm this is something that uh, yeah, this is what we covered on last friday as well Is like, yeah, you know, there's still momentum in here Uh, however, we don't have everything all the pieces in here Uh and all the sudden sellers can come in below 81 and disrupt the whole thing Right and that's part of trading Uh, but we got to go with what we see in the behavior The thing is that we don't have on our side here is the order book We do have them supporting out at a higher level here at 78, but they're also in the book here now 83 at a lower level Uh 83 and 84 and a half Um, it's already traded to our 82. That's great Uh continuation though, it this I would say it's it looks like it wants to do this, but we don't have all the pieces in here and this makes me stay away from it Yeah, mcloco. I mean mark mark up maybe try try some of these scenarios in here because like uh One or the other will likely work out uh, and uh You know, then you can look like you can understand what that behavior looks like before it takes place And that's the beauty Because it starts to evolve uh, and Then you can take advantage of it Yeah, give it a try Guys over on youtube, um, yeah, if you want to jump over into into our discord channel Uh, and uh here I can send you a link to it as well And it would be this this, um, I would suggest doing it in this all markets room here And uh since I kind of started the thread there Uh, let me create a new link here guys And I'll put that into The discord channel. I'm sorry into the youtube channel There you go Um, all right. Well, let's take a bigger step back here like um, we've seen some nice stuff kind of unfold here um, but uh, let's uh Look at our bigger picture here. Uh, it is really essential to have the bigger picture Uh and what's happening there? Uh, all right, so we start with the daily here on the uh left hand side Let's make this a little bit bigger Uh, this was our strong breakout, uh on last friday and then we see a lot of chop in here We were still bullish in here just because You know, this was a green candle on monday um At at during the webinar we're looking for continuation, but we are also starting to note Um, some levels in here on the uh on the weekly Okay, that it's getting kind of lofty up in here and we have a wick up here and we have a very strong move away from That area up here So we're looking at some profit taking we're looking at maybe um, some Some sellers to start to enter in here. However, this is a breakout Clearly on a weekly chart it closed up here and this is strong Okay, so it's a pretty good move But we we got to get over this hurdle here, which is around the 43 25 up here And if we can we we had the discussion on friday, we can continue on up into like 600 4600 I'm sorry 44 There's 45 there's 4500 up here. Yeah, something like that. Why not? 4400 which is here. I don't really see much on the week weekly here though Um, you know, maybe you can zoom up to these levels pretty quickly here We'll see Uh looking for you know a lot of buying in here And it's looking pretty good so far on this weekly chart here. Even this entire week is bullish Okay in this bigger picture in here. It's a small little uh candle in here However, it is accepting above All week long it's been accepting at this price level that's bullish Okay, so bigger picture we are bullish All right, and our daily here. All right, you can see what happened today. We just kind of dipped below Uh the swing from the last few days and uh, and then we found buyers Okay, so just just around this 60 level here And that's where now we can put the the pieces together in here This 65 level right here That's these guys here Okay Also, we see that liquidity in here previously And uh, that's what's happening in here. That's why this this price level here is 65. We see this pretty strong reaction All right. Well, where are we going? What do we see on the on the higher time frame in here? Well on the daily chart, why not why not get up into like 42 91? Uh, maybe 4300 the the figure And let's uh, let's take a look at the hourly here in the center though Uh, and uh, yeah, this is a good area to I mean we see lots of little wicks in here on the Uh The the hourly here. So this is a good area to Consider taking some profit on this as a trade management Uh rule, uh, you know, it's done it Trading up into this little range up in here Is pretty likely uh Seeing a lot more volume above it and breaking out is less likely So what basically had happened was? Market traded to below this area Probably stopped a lot of people out from, you know, several hours on this hour candle here Uh candlestick chart and then uh, and then it moved and traded to the other side of the range here And we're still looking for continuation here though. This is a pretty strong hourly candle in here Let's see if we can get up higher Um, we have some areas on the hourly we can take a look at here Maybe 85 uh due to some of these areas in here Uh, and then the break down here or maybe, you know, up at um, 92 Somewhere around here due to these wicks up in here Right, we're looking again. You don't have to have volume profile charts to understand that Uh, you can understand that there's probably going to be um, a low volume node in here, uh, and um Because a lot of transactions in here and a lot of transaction transactions above it Okay, so probably uh, and uh, that's a good area to uh, see if price can come up and test in that area here Hey, because it accepted in here for a lot, uh, you can again, we're talking about auction process in here Uh price and acceptance and on these candlestick charts and we're just kind of extrapolating this meaning from these candlestick charts But in an auction theory Um mindset here that we can get up into these areas All right, and then now let's just jump back into book map Or maybe the 15 minute chart. What do we see here? Look at I mean, this is yesterday's action just wicks all over the place Very back and forth yesterday Okay today like this is pretty strong. I mean look at this pretty big wick down here at the bottom and this move up Uh on the 15 minute and continued on up and great right up here And this is what we're talking about. We would we would anticipate some profit taking up here Hey, or maybe some sellers entering uh as well All right, so this looks like actually a pretty good mean reversion type of trade Where would that mean be? You guys tell me your profile guys probably around 74 right Maybe our 73 level uh that we looked at earlier From yesterday, it's probably right around in here actually We're around 70 75 We're not talking much though 74 75 73 something like that morning tony Jay slim. All right. I like it. Let's see this uh What chart are you looking at there that looks like the uh spy or something okay I'm not sure. Okay. Let me read your question here. I'm wondering if volume dots are significantly No, okay, so uh, uh, those are those are most likely. Uh, do you have the mbbo data as well? Uh, those look like um a dark pool transactions to me You'll you'll get that in the stocks You have omni feed. Oh, okay. So then you would yeah, so omni feed actually, um, uh, is kind of all inclusive with that they they have It's not pure mbbo. I there's there's a difference. Um, and I I can't recall a distinction. It's more like a kind of a What do you call it like a mimicked or a Uh, it it will show dark pool to pool transactions though But it it's In it in it is a different calculation. You you'll have to reach out to support on that. Um, I I can't recall um How it actually works Hey, but they say like we you know omni feed says that that we offer uh mbbo data as well the cta, uh, but it is kind of um, uh Yeah, it's done in a different way With dx feed, uh, you can get it. You just have to subscribe to it. Which is $30 more a month And you will get those trans those dark pool transactions As well. That's quite a few in that s spy here. I'll show you I'll show you guys what we're talking about in here um, and looking at the spy So see the all these transactions up here they will price is transacking down here though Right at 42, uh or 426 85 right And these transactions we don't see best bid and offer at all. So where do these transactions come from? And these are off, uh, exchange Uh dark pool transactions Hey, but that that's why mbbo can pick it up because it's it will include all transactions not just exchange All right guys, so so our momentum is still continuing here looking for a move back up to 83 Uh, we bounced off of this we found some support here Uh, and uh, yeah looking looking for buyers to continue. Why not? And we don't have any other reason to think differently at this time Uh, there's not a whole lot of interest like I said in the order book here Um, there's a little bit on the bid here We're still looking for this to continue higher. I just it looks like it's going to be kind of rocky I just put it that way And whereas whereas the some of the other moves in here Uh, we're I think In the scenarios and the behavior in here it was more Or it was better telegraphed to us that this move was going to unfold And here we're looking for the move to continue but You know, we can see we may see some bigger players come in here and just You know annihilate the bid for a short period And that can be really unnerving. Uh, and that's a part of the trading Okay, but we're looking for continuation here now. We we we did a nice little drill down in here Hey, we would anticipate some profit taking Would and we were looking actually for this candle was read earlier Uh, that mean reversion trade in here. Okay, maybe back down into here Or maybe there's probably a High volume node in here someplace from yesterday Uh, and we can see that we bounced off of that here and now we're back up here. So now this is our second attempt up here Uh, and uh, it's come up above this wick Yeah, I we're probably gonna run into some some headwinds up here as well Uh, and maybe another pullback and then if we can get one more retest up here Uh, I would I would look for this to break uh and continue it might break on this this test here But the the first retest came up to this wick here Now we just retested this one. I imagine we're still going to see some profit taking and maybe some selling coming in here But uh, we're we're still looking for Um, you know this this continuation basically Now you can see Depending on the time frame that you're trading Hey after doing we kind of did it backwards Uh, we went through all this analysis here the daily the weekly the hourly the 15 minute And then what our scenarios were likely here Uh to how what might unfold here And so if you were involved Uh into this move here or this move in here You're still in this And you're still looking for this continuation here Depends on your time frame And so actually this looks pretty good up here Uh, you can see it's testing now the yes 83 or 84 here. Uh, that's another great place This is where I would would love to take some profit Yeah, I know there's strong momentum in here, but like I also know that there was strong momentum to the downside at that point here All right, so this is a great place up here to For me and my plan to take some off Okay Maybe uh, you know, you you guys like some of you were After seeing this move to the downside and this rejection in here. You're looking for it to maybe test up to here Okay, 42 90. Let's take a look. What does it look like in book map? Yeah, it looks like a good area up here kind of 88 level Uh, we talked about 88 level a few days Or um shadow. No, you you can get rhythmic data right from um our marketplace. Let me show you Okay, just go to book map.com Uh, click on the more button And then go to our book map marketplace here Okay, you can actually click on them on the marketplace link here or you can click on market data. Let's go to that one And then you'll find rhythmic right here And see the details uh, and uh Yeah, so It's you got a select one in here There 39 dollars if you just get the cme. It's 39 bucks If you get the you can add them in here or you know, take them off Uh, so if you get just cbo Cbot it's 39 bucks Uh, you can see that, you know, 78 dollars for two exchanges Well, how about the bundle if I get the bundle is 99 dollars So it's you know, if you if you trade If you really only trade like, uh, I don't know bonds or the ym or something like that And and cme instruments like the stock indexes Then yeah, you'll save a little bit of money by getting the two 78 versus 99. However, if you like to trade crude every now and then then you know in 9x you might as well go with the bundle Okay, so Anyway, uh, that's where you can find it. I'll put this link into the chat for you I hope that link works for you Okay Anyway guys, I've still seen the same thing here so, um Nice it's a nice cluster of buying in here Up at that top Okay up in here now again, like I said, I I I like to take some profit along the way Uh At certain areas with reason with reason Okay, and another reason would be in here You know, here's our price channel and what these what these channels tell you Is The in the behavior in them is like this is a little too high up here It's a little too pricey Hey, we're talking about an average in here is this is just a horizontal Um, it's the same thing as like a horizontal price line in here or channel.  I'm actually looking to see if these buyers This would be a counter trend trade in here Uh, would be like, uh, maybe this is a little too high And uh, see all that buying in here. There's your trap Okay, so question is And the scenario is What if we get the order book which is starting to show some interest here on the offer It also shows some interest here on the bid though. So it kind of negates that But then it's the aggressor of the red dots here Uh, we have our exhaustion in a lower high here. So that it's possible. This the scenario is kind of setting up Or move back down into maybe the this area here Uh, 80 and a half or or 80, you know, something like that And even if you do get that move you you could still be bullish Right, it's still within this this trend here now. It's a counter trend idea and I It's it's it's playing out. I mean like uh, it's there Uh It's possible Now that I see some buying back up here though where we previously had this exhaustion in here It it makes that a little more challenging to to understand here Right, if we get buyers up in here, it doesn't really matter Um, we still we still might get a trap Uh, you know a buying trap up here But we have the possibility for these buyers to just you know start yanking it higher here Back up to where it it would be too high maybe around 86 Yeah, yeah, uh j slim those those levels did transact.  And it just blows out your your range um But yeah, those look like a Dark pool to me Uh, that was omni feed data You can find it also on uh here. I believe Believe it is here on our marketplace It should be I mean then if it's not in here, it's off of our website. Okay Um, yeah, it'll it'll have to be off our website then So if you guys are interested now the dx feed is not in here as well Okay, so uh just rhythmic and uh, this, um, uh feed for, uh, canadian and uh the um UK markets Is there a limit on the resolution for thinkorswim's book map? It is it it is not full depth of market. No, it is Uh, they're they're using dx feed data Uh, which is great. Uh, however, um, it's um Uh, it doesn't offer the mbo data that rhythmic does Mclocal you saying this is limited. No, I mean, I think it's full depth All right. Well, you can see our our scenario here did not play out whatsoever for this move this countertrend move in here Again, this is that's telling you something. I mean, this is you know, it's pretty strong still Pretty strong buying now. Well, you may even break this price channel here. Oh, you meant that it was full depth. Yeah, okay All right. Thanks. Mclocal. All right. Well, like I said, I would have been out, um Some maybe maybe I got out some earlier, you know in the in this move, but uh So I might be missing this on in my trading plan here um But 84 looked like a good area here To take some profit for me And uh due to uh This swing here now you can see this is pretty strong still Okay, so we're now looking at 87 and 90 As these uh next next, uh targets here These swings here Okay, and just mash that up with liquidity Here's our 87 level. So it's not we're not making it up, right? We we see well, it's 88 looks like and then 90 And look at all this all these players now in front here Okay, they're front running it Okay, now this is less bullish here because The liquidity is up here at 88 Uh, but we see other players in front of it. They want to get filled It's not is it profit taking is it New selling coming in Uh new supply, but it doesn't really matter You just know that there's there's sellers here Um For those of you getting data for book map here, um, please go check out this new learning center Um, we put these um great videos together here for getting connected to book map You'll see that here's how you download the platform how you um The run options window, uh, then Subscribing to the here. Yeah, please go here Subscribing to omni feed subscribing to dx feed in and subscribing to rhythmic the the information's here And then here Are all the different ways to connect so new videos in here connecting to rhythmic omni feed dx feed Cqg whatever They're all they've all been updated. Uh, so this is the place to go Yeah, please go check it out That'll answer your questions so um, you can go to that marketplace, but uh, I would suggest check out the these are brand new videos here Subscribing to omni feed and learn a little bit about that Yeah bullish day Yep, and it's weird too. I mean the data was was um Was bad this morning just for claims jobless claims a hire Which is I guess I guess the markets well clearly the market thinks that's good, uh for now um, because it's going up, but uh, you know that means that uh The basically I that the fed will not um raise rates Is what it means Yes, exactly exactly mclocal Uh, however like a bigger picture means that okay well unemployment's gonna go up and then unemployment's gonna go up people are gonna buy less Uh, and uh profits are gonna go down and the stock market's uh shares will go down earnings will go down Uh in the bigger picture, but I mean that's what the fed is trying to do to um tame inflation So And they've kind of struggled to do that Yeah, gold is is crazy crazy market, uh mclocal, you know pretty wild swings All right, well behavior now look at the the You know up in here remember we saw this this bullish kind of behavior in here But we're it's a little too high even in here pretty bullish This is looking it's just not the same right It's just not the same we see a lot of selling in here It this now like we can look at let's just take the volume dots off for a moment here Okay, the structure is still bullish though still high even though they're slightly higher highs. They are higher highs Uh, actually slightly lower low here, but uh, it has not made another one yet Uh, so it's still bullish here Until we see something different now that's the structure but What if we put on the volume dots here Now we can look at some of the details in here and see we know that there's some selling in here We know that there's some selling in here now. We're breaking the structure All right now we're getting a pullback immediately again. This is a low volume pullback here If we can get if we can get buyers back up above here in this line here Look out right Get a stop run onto the upside up into 88 All right, but what we typically look for now depends this is why we look at the the Amount that it moved away from here as well uh, because um Uh, if it if it's just a point or so You know, it is likely uh, we can get some back and forth or We can even you know see the it trade back into the range and other side of the range here And the other scenario here and the most likely one due to this heavy volume in here Because we got to get heavy volume down here again at 95 On that sell side a maybe maybe a little higher maybe here Uh, 85 and in a quarter if we can get that then we're looking for the move back down here To 84 and a half the swing and then maybe back down into 83 All right, and that would be the scenario here Now the the book is supporting right now. You can see them on the bid here. They right at the area. We're talking about They're supporting it See traders coming in and we are large lot tracker we can say they It is individual orders in here. Uh, they are these two players in here. It might be the same Uh, is supporting and providing liquidity here At 85 and a quarter 85 the reaction has been higher so far So looking for 88 to transact Yeah, I know I I I always cringe when I say they oh, they're doing this. They're moving it and whatever uh And it's just it doesn't work like that. Um It's uh, the markets aren't like that in some cases it is true I think this is a case like that I These two traders like we're providing the majority of the liquidity in here one trader this little white line Everything to the left of it Everything to the left of this one here So out of these, you know Basically 1000 contracts here, uh, it looks like More than half of them Are one individual actor Uh jay slim, uh Sometimes you see heavy volume big red dots plus long volume red bars The price moves up. Yeah Yeah, sure sure. Well, um go I would suggest this go in and look at the mechanics in that zoom in And you'll see what unfolded Uh, it happens a lot more on stocks than it does in the futures. Um, we can take a look here Not on tesla Wow very bullish here apple, that's It's not doing it either Microsoft. Yeah, okay. This is a little bit better. See how It's still going up here on on selling here Right. Let's zoom in. Let's see Let's see the details here Yeah, I mean this is this is classic. Okay, so uh high liquidity in here. Okay. Well, let's even take the heat map off though Um, look at the the volume here that moved this market here A very little bind actually moved this market Uh, and then we see this selling in here But it it's not moving the market So the transactions are taking place in here. They're finding a a counter party in here It may be likely it's liquidity or it could be larger players. It could be in iceberg order uh, and uh, uh, you know, maybe they're buying and uh The selling takes them on but it's it fails to to bring the market lower All right, and then all it takes is again, it doesn't have to take heavy volume to move it up You can see this is pretty light Light volume here and look look again heavy selling here heavy selling But you don't you don't see it trickling down. It's just one big, you know sale Or several cells in here, but it fails to move the market lower Here's mcloco's, uh, divergence in here Look at look at cvd. This is classic classic, uh definition of divergence Same price level Tons of selling CVD dropping like a rock Divergent from price not dropping at all Okay, so That's how it does it I just you know, you can go through, you know different scenarios in here.  Um, uh at at one price level and then but they allow Allow, uh, you know people to a few buyers to come in and and just um, you know move it higher So yeah, okay. I'll I'll I'll I'll sell I'll sell to you at a higher level And so very little buying actually move that market higher Yeah, you'll see this a lot in the stocks Uh and a lot more in thinner markets, but you know something like the s&p, which you know, it's got incredible depth um You you you will see it every now and then but not not too often Is usually the aggressor here that well, it's always the aggressor that kind of runs the show um the order book here Well, I mean this is an equally uh valid part as well, but it's the aggressor that can move price Okay, and you know that we've gotten questions about even that in the market mechanics. How can price even move? Uh if someone's got to take the other side of the trade in here Right. Well, it's because they've taken all the liquidity at one price level That the next price level is at a higher area and then if you can get the counterparty aggressor here to Um, you know pay up for it. Then price has moved higher. It's as simple as that That's why the spread too like here you you will see in tesla God this is super strong guys. Look at this It is just on a terror Uh, this is something we showed the other day. Look at guys. Don't fight delta like this Look at this, uh volume delta down here Uh and it's it's um Coincides with price movement. Hey, there's nothing but buying in here Okay, looking for 35 There's this is really strong strong move here 35 Uh 40 maybe Right just is Going exponential now Anyway, I wanted to show the spread Okay, so let's take a look Yeah, so, you know the same idea like, you know, you pull the spread away and it comes up to a higher area here This is where there is now liquidity Okay, because you can see it in between the spread there's no liquidity Well, you can get some midpoints or you know that trade um But agreed upon it's it's it's agreed upon You can get midpoint trades in stocks though but Or, you know, this might be on on vwap right here. Um You'd have to look at uh See all trades I think And no filters So that was for 250 Yeah, that was likely a midpoint then Some of these are in vwap though. Uh, you know when you We'll show these uh these transactions and give kind of an overall vwap of it. Um On on these very small time frames, but Yeah, this looks off exchange here, you know, that might be a On from what I'm seeing in dx feed That might be your A um dark pool transaction So anyway, yeah Think about it again, uh with the market mechanics in here that the spread widens out Uh, and then one just one buyer has to move can move price up to an area That's all that's all it takes. So, you know with very very little volume We can move up here as long as the uh other side of the trade is willing to uh, that's where they're willing to trade And you find that buyer willing to buy at that higher price level That's how you can get these, you know, um, it's it's that's an example The very pure example of a low volume pullback And we can even look at the s and p for those Uh, like in some of these moves in here Our 88 level guys just transacted. Um, but um Yeah, let's see we we can find it if we get it we get a kind of a stop run or something here Okay, and our 90 levels up here next Yeah, and I would have been out at 84 likely Let me try to find when one of those crazy moves in here Be down here. We can find it A sweep of the order book is what I'm looking for And I don't I don't see a good one And and on these order book sweeps. This is where you you know, you can you can understand the the spread and and um Yeah, here's a bit of a sweep and you can see like the best bid and offer update later So they crossed over in here Which you know, it's not possible. It's just it was it's about the updating 88 looked like a pretty good Good level to take some profit Okay, right into that high liquidity and uh And we don't really see many sellers. You got beautiful exhaustion here and there was a little bit of selling in here And it's not much that's taking this down either, but the sellers were able to do it And and take price down to the bottom of the range here The question are we going to get some support here? Imagine imagine just just due to the price channel as well as the the range in here Uh that we're looking at we can look at our profile as well To profit 86. There you go, mcloco Didn't like the cvd making those Guys Yeah, exactly.  I'm I'm not seeing that Still seeing more buying in here The divergence I'm seeing is on the on the buy side actually Yeah, you must have some some kind of odd or different than me resets. I think maybe with cvd What your settings are Look at my settings here Session range, maybe you're looking at chart rain So here and here Yeah, I see it Yeah, I mean so so what that means is in this little range in here because of this selling in here and here And also some of this in here cvd starting to drop Now it's just the cumulation here and There's more sellers than there are buyers That's how you can get your diversions is All right guys. Well, uh, let's see here. Uh any more questions? Um Yes, there are Pound dollar, uh kiran. I don't have it. Uh, we can look up the the futures though and look at the Uh, not the 6e, but we'll look at the 6b And we'll wait wait for that to load some data here And we'll add a little bit more too. I think Uh, floyd when you see orders being pulled is it spoofing? Um potentially I mean like this is this is um Um Like a spoof in here basically in this pound dollar And I don't know what their game is in here. I mean they're showing on you can see it's likely the same player Uh, it's got to be really I mean like uh, you can see liquidity coming in here on the offer Also on the bid you can see it coming in here on the offer Also on the bid and you see them pulling all at the same time across all of these levels as well Uh, now, you know, did they the Way to define this spoofing is best to go to CME rule 575 just look that up Uh, and they get the pdf and and and read about it Uh, but it is it is the liquidity that has massive skew in the order book all of a sudden There's a lot of supply or demand And it has no intent of trading Uh, they're just in there to manipulate the auction and show that there's lots of interest But then to pull it away from the market So the market will react to You can see it happen All the time, you know, although their passive orders Um, they they can influence the market If there's a lot of liquidity at a higher level in here, it might scare sellers away Uh, and they don't want to sell And uh, and you therefore you might start to get buyers and they might try to charge up into higher liquidity up on the on the offer Okay, so understanding the the auction um, and the order book in here, uh, is um You know important and and then you can see, you know, this kind of like quote stuffing or spoofing or whatever it might be To manipulate the order book to game the market To try to get some sort of edge that way and that would be your spoofing Hey, this is actually pretty pretty close to it here except that they're on both sides so You know, whatever it was like it looks like the player uh wanted to um Uh, they want they want to get filled basically one way or the other or maybe they're just testing the market, you know those Hey, but uh, they'll be they'll be a seller up here. There'll be a buyer down here if the market can get there But then they were it was so short-lived Right, so what was their game? I don't really know Anyway, here's our 6b yikes nice move, um There's a hundred hundred pit move right there or No, i'm sorry 50 50 pit move Yeah, pretty nice move a lot of selling up here Right around the uh 25 50 area Oh, i'm sorry. It is a hundred point 100 pit here's your 24 50 Uh, anyway, uh, not seeing much in here. It looks like there's some some data here uh earlier in the day Yeah, right in here european data Uh, and we can see that uh, you know pulled back again same same concepts here. This is what I want to cover though You know how we started this webinar off Uh, and talking about these these ranges and these breakouts, you know buyers taking control It is pulled all the way back here In fact, this is really kind of odd behavior There's a lot of selling in here. Look look at down here And there's a lot of selling in here as well Even though it broke out here Right, so what's going on there? Well, and it bounced off of here and it went higher So this is pretty pretty odd Uh, at that point I would be staying away until I saw buyers back up above here Or you could even trade, you know trade it back up into here And then I would get out and look for buy more Unless I saw a lot of buyers up in here Uh, and we didn't get them until here really right and then that's when they really started to move that market So there's a lot of selling in here moving this higher, which is you know pretty odd We covered that earlier today too Yeah, no, I mean, uh, we have a lot of traders that um, maybe a little trade spot Um, but they uh, they want to see book map and use book map for the currency futures That'll give that additional insight Right, you won't be able to get this in in the spot Uh, because there's no order book. There's really even the volume is kind of iffy, right From the from the banks Oh, yeah, we cover nq. Um all the time Uh, I I haven't for for a while and the reason being is the s and p's been moving pretty well And most people I I ask in the morning and do people want to look at the anything else and and We don't get too many answers. So I just stick with the s and p I actually kind of prefer the the nq. I like the way it moves um so Yeah, it's uh It's looking pretty um You know pretty spotty here though to be honest like a lot of algorithmic activity in here Adding and pulling adding and pulling adding and pulling Right creating a lot of noise in here Again, though the high liquidity areas are still sticking out This has been a really powerful move too Uh, the thing I like about the the nasdaq is the follow through s and p will usually do another rotation or two Um, and then maybe follow through where the nasdaq you'll just get the move So that's what I kind of liked about it Compared to s and p the s and p could be just so painful And the way that it moved well, not as not as painful as like bonds, but uh I Ds, I would recommend like if you're trading the uh the nq um same analysis, but uh Uh, one of the things that you can look for is setting your targets and taking some profit pretty quickly. I think um It's something to consider Uh, because likely you'll get you'll get the move, but uh, you might not get the follow through After the move no, I I um, I like the read in in the um, uh, nq as well. It's the same process. Uh as the s and p Very much so I mean like You know, we're looking for the order book To tell us something in here. We're looking for the the structure Uh, and we're also looking at the Uh, the aggressors here. So look at this here if we get a little bit of interest here on the on the bid here Um, then we can we can maybe break out from this area here Okay, but 42 uh 40 82 and you can see what happened here Basically, the opposite is happening at the top of this range here exhaustion We had a little bit of selling here. We got a lot more selling here Now we're down at the bottom of the range. So you'd have to react pretty quickly to that um And uh, we're looking for buyers here at that moment and it we didn't get them And then we said we got the sellers here and we got the bottom the move to the bottom of the range Now look at here. We're back up here Okay, I'm looking at right here If I get our buyers here, there we go. We should get them move back up to 84 85 86 Right. So again same same concepts um here here Then here And again, like like I said, this is a great area here I mean we said 84 85 due to a little liquidity Uh, but there's also the swing up here, right? So, uh, that would be a good place to take some profit Uh, and uh, set your your stop at break even Um, maybe you get followed through maybe you don't in this case. You clearly did not Okay, and then there's your pivot line right there at 80 Okay, same with sellers down here Back up And here again, we can get buyers in here right back to 80 would be the easy target kind of high volume node And then what if we can get still get buyers in here then we can come back up to 85 Okay, here's our high volume node. You can see it here in the profile For this range Um, it's it's right here on 81 actually But yeah, I'd be I would have taken some off right there Um, to be honest and I would hold it try to look for the next rest of the move And the beauty is this with the the The NASDAQ it follows through so much quicker Right, you we'll get we'll get that move instead of like, uh Back and forth there you go Okay And again, like this is me like I I think it's probably going to go up to 90 here But I would that's the move I was looking for I'm out All right, this is pretty strong though See this is where like holding and looking for you know a bigger bigger move out of this like You know, look at your your delta. Look at your volume in here. So there's our move to 90 Okay, so next swing up here. Is there liquidity? Well, it looks like it wants to actually go to 1400 here There you go. Well, there you then you would have you would have had a great trade you went for 90 fantastic I Look, I mean bigger picture looks like it's going to to 500 to me Cooking spray on the chair. I know it I'll work on it Sorry about that Yeah, it's gotten worse in the last like, you know, a few weeks. So I gotta I gotta take a look at it All right guys, well, anyway, let's let's wrap it up. Thanks. Thanks everyone for coming I just was filling in for scott today I didn't even mean to go for an hour and a half here. We just saw some pretty good stuff So I thought I'd go through it. Uh, I'll be I'll be on tomorrow hector at 10 a.m. That's my normal time Monday Tuesday and Friday, but scott was off and I wanted to offer you guys something So we can have, uh, you know some continuation in here and Anyway, tom b is up next Options millionaire will not be on today. We had to cancel. He had some some family issues to deal with and But we have dug options with dug later and then the algo boys would they'll they're only here in discord So you'll have to come over here for that in discord So we still have quite a lineup, but yeah scott was off and then options millionaire is off today as well Okay, thanks for coming everybody and we'll see you tomorrow. Take care


So I'm just getting my containers ready here to plant up some squashes. I've used my new Hori-Hori knife here to work up these pots from last year. This thing works great for loosening the soil, digging out old plant roots. I just gave it a bit of a wedding with some water, but it can see it's super dry in here, so we will have to give it another good drink once we get the squashes planted. So I've mixed up this soil here to add to my container. So this is some of my sifted compost, peat moss, perellite, I threw in some worm castings and some organic fertilizer, just some 4-4-4 basic fertilizer. I'm just going to top up each of these containers and then we will get ready to plant up some squash. So because we're planting containers you want to make sure you've got nice loose soil, you want to have good water retention because they will dry out a lot faster than planting in the ground, so hopefully the peat moss and the perellite will help with that, help retain some of that moisture. So the first squash I'm going to try planting up, I got two zucchini started in here. I'm going to see if I can gently separate them and get two going in this container. I know squashes really don't like to have their roots disturbed too much, but we'll take it out of the cup here and see how it looks. See there's a lot of roots going there, it breaks apart easily or not, just to be good. Another great feature of the Hori-Hori is digging out your holes here for your plants. When you're planting seeds you can even use the measurements on here just to check your depths. This doesn't need to go too deep, try to get them spaced as far apart as possible in this container. Give them some growing room. So with these containers I'm going to either use maybe a tomato cage for the zucchinis because they do grow up nicely. The other squash I might just let them drape over, let them grow on the ground such as the spaghetti squash or the butter nut. So in this container we're going to try some spaghetti. This is my first time planting pumpkin. Nice sized plants here and actually a third one just popping through. I'm just going to see if I can just stick it in with one of these guys and whether it comes through now or not, I'm not sure. Just try to gently tease the roots apart not to upset them too much. So in here we're going to do some sunburst squash also known as the patty pan squash. I got two plants coming here again quite close together. I might just put them in the center and just kind of let them grow together. So the last squash I want to plant up today is the butter nut and I'm not sure if butter nut have a longer germination period but as you can see here compared to the rest. This is what my butter nut squashes are looking like. I'm sure it's been over three weeks since I've started these and these two butter nuts just started to pop through about two days ago. So I'm not going to plant them up yet. I think I'll give them a couple more days, get a little bit stronger this one. I'm thinking there's not going to be any germination and maybe what I'll try is just throwing a couple seeds directly into the container here and see how they do. So the depth is only about three quarters of an inch. So that's barely just a little scraping like that. When you use your little Hori Hori here, that's one inch is right there. So they don't need to be planted very deep. I'm just going to throw three in here right now, see what happens. I did just buy these seeds this year, so they should be fairly good seeds. I'm sharing these squash plants with my daughter. So if these ones take off, I can give her these ones in the cup and she can plant them up at her place there. I'm just going to throw three in there right now, see what happens. So once I've got these well watered in, I'm going to protect that moisture and protect that light layer of chopped up straw. So this is barley straw. I was able to get a few bales out of my husband here from the farm. And I just ran over it with my mulching lawnmower a few times just to chop it up a little bit finer so it's easier to work around these small plants. So always mulch. I always mulch everything. It just is so much better when you're using container gardening, keep that moisture in. I don't have to deal with a lot of weeds, of course, with a container gardening, but it does help suppress when I'm watering with my well water, hoping that maybe this straw maybe filters out some of those minerals. OK, so this is what the squash containers look like all planted up. As you can see here, they have a nice space here of straw kind of mulching the ground, keeping the weeds down so that they can trail out of the containers and sprawl out on this ground here. So thank you for joining me while I'm planting up my squashes here in my container garden. I hope you will give this video a like, leave some comments and don't forget to subscribe so you don't miss out on future videos coming to the channel. Thanks for watching. Happy gardening.


Hello, hello, hello, hello. All right, so we got a lot to talk about. We should probably just jump in. Yeah, we do. Modern tools, testing, automation, headless Chrome, puppeteer. Sound good? There's a lot of stuff. All right, guys, we're going to cover quite a few things today. We're starting off with the DevTools. And now in the DevTools, there's a lot of things that we've been working on in the last couple months, since last Chrome Dev Summit, even since last Google I.O. So we're going to show a few of those things now. We're going to start off in authoring. We talk about authoring. I'm talking about the experience of us as developers hand crafting that user interface and delivering that awesome user experience for our users. And so there's a lot of things going on here. And the first thing I want to call out is grid layout is implemented across browsers. It's awesome. In fact, like the new Slack.com homepage, they're using grid in production. It's awesome. This monopoly experiment was on CodePen the other day. It's using grid 2. And so let's take a look and see what it looks like with DevTools. So we can open this up and inspect. And so you'll see everything laid out here with grid, the grid column grid row. If we select the parent, our little highlight overlay will be showing all the little cells of the grid. And so we can change the grid gap and see even that little highlight overlay change real time. So it's giving you a lot better understanding of how the grid is being laid out on the page. It's worth giving a shout out here to Firefox as they kind of blaze the trail in their DevTools. But we hope you're going to like this one. Now, next up, we have a new experiment about to ship for color contrast. The line in the swatch here is coming down and giving you an idea of on one side of the line, the contrast is good. On the other side, it's bad. And as you move around and select colors, it's going to give you feedback and tell you if you're hitting certain thresholds. You can select the background color and get kind of a preview right there. So please do give this a shot. Give us your feedback. Now, Eric, have you ever been in the situation where you need to change something about a site? But it's not like your site, you know, you're not running the DevServer, for instance. But you want to change something. And now you open up DevTools. Of course, you can change anything. But you know that if you have to reload the page. At least that's all the time that's gone, right? Critical changes I make in the DevTools. You wanted to change something about the JavaScript in the way that it starts. And you're like, OK, but how do I do that? It's painful. So I want to show you a brand new feature that we're calling local overrides. You can think about this as kind of offline storage for your tweaks. So first, I want to show you how we set this up. So take, for instance, the website for this event. We're going to make some changes to this. Why not? I don't have the DevServer for this, but I want to make some changes. In the Sources panel, we go to Overrides, and we're going to set this up. Now, first thing that we do, we're going to create just a folder. And this is a folder on disk that we're going to use. And it's going to store all of our changes. And DevTools needs access to it. So this point, cool. It's an empty folder. It's on disk. This folder is going to hold everything that we change. CSS files are just going to be here. And I can open these up with a text editor and save them to disk. DevTools is now going to use this. But let's make it some changes inside of DevTools and see how that works. So now, let's change JavaScript. That's kind of what I wanted to do. So we'll open up the one JavaScript file on this page. It's just some minified scripts, but we'll add some console log at the top just to make sure. Give myself a little hello. And we hit Control-S. Now, at this point, you see this little purple icon right in the top. And this is indicating that we are now overriding the sites version of this. And when I reload the page, we see the console log, which is pretty rad. Now, we'll do the exact same thing with JavaScript. So here's the production JavaScript. We'll pretty print it, because so we can see what's going on. We'll hit Control-S. And now that one is also saved to that little folder that we made. I'm going to come back to Ellen's panel and we'll make the change over there, improve the font color, I think. Maybe some pink. Oh, yeah. It's an upgrade. For sure. All right. That's good. There's one more change. Let's change the title of our talk just for fun. So changing HTML, always the tricky one, right? So here's the HTML. We'll just go down into the sources panel, find the title of the talk, and give it a little bit of an upgrade. Sounds totes profesh. All right. Now we're going to reload the page. Hope everything. Oh, yeah. Nice. So even now, everything's coming over the network, but the CSS, the JavaScript, the HTML is being updated. Even if I go to another page on the site, the JavaScript and CSS changes will still be applying to those. So I'm really excited about this. This is a feature that we've long kind of wanted the capability for. And now in DevTools, we can deliver that to you. I should also point out it's a great feature for pranks. Did you know that you were on the Verge homepage? That looks amazing. That's today? That's today? Yeah, yeah, that's today. And it's totally real because I'm reloading the page and it's definitely like, I'll do the hard reload, empty cache. It's still there. That's good. I mean, definitely high the. I think it's an improvement. Yeah, that's pretty good. All right, clutch. So many of you here need a little bit more of the DevTools. We're going a little bit farther. And so we have some new stuff here. The first thing I want to show is the performance monitor. Now performance monitor is a little different from our performance tools in the past because it shows live streaming metrics. So we can open this up in the drawer in the bottom. And as I load a page, I'm getting all sorts of new metrics. So the CPU usage broken down by category, the memory usage via the JavaScript heap, and other counters like the count of event listeners and documents and frames, and even like how many layouts and style recalculation per second that are happening. This is giving me a really good understanding of what's happening in the page as it happens. And I can correlate a lot better around my actions as I click around on the page and the kind of metrics that I see there. So we're really excited to see kind of what this unlocks for you and what you're able to learn from it. So the next thing up is the console. We spend a lot of time in the console. And on some sites, it gets really busy in there. Like this is a news site that I go to. I open up the console, there's a lot in there. And especially if I turn on verbose, like just a lot of stuff. And dealing with this kind of load in the console is tough because there might be some messages that you're looking for that you don't see. So now you can open up this sidebar panel. We're breaking down things for you by file. So these are all the messages coming from the HTML page itself. Or we can kind of view by error, by warning. This is user messages, everything used with console log and console warning, console error. And this allows you to understand which files everything is coming from and just focus on only what you care about, hopefully reducing, hopefully improving the signal to noise ratio. Now another thing that you'll notice is sometimes when there's a lot of these things in the console, many of them look the same. Things about parser blocking scripts, and you don't need to read this. But you see that there's things kind of repeating. So in Canary now, there's a new feature, which is actually on by default, called group similar. We're turning on right here. So reload the exact same page. And this time with group similar, we just say, you know what? That looks very similar to a previous thing. We're just going to kind of group it together. And now you can still open up these groups and inspect and see the individual messages. But we just wanted to clean that up for you by default so that you don't need to go hunt and reduce kind of the console spam there. So good. All right, rock and roll. So Eric, use promises? Occasionally. Occasionally? Like every day. You guys use promises? Literally every day. Yeah, yeah, yeah. Like how about in the console? This is an interesting thing. You evaluate something that returns a promise in the console. And so you'll see this thing, like promise pending. You're like, yeah, but I wanted to know what happens from the fetch. Now it is true that if you just kind of wait until you think that this promise has resolved, and then you kind of click that arrow and open it up, then it will be resolved, and you can inspect the value. That's kind of cool. But you have to guess as to when it resolves. Wait, how many people knew that? I didn't know that. Yeah, it's like an understanding. You can, but I wouldn't recommend it. I mean, slightly better is this. Like you could just do a then and send it to console log, and then it'll just print when it gets there. But typing that is kind of annoying. So we figured it would make this a bit easier for you. And now just throw the await keyword in the front of it, and then easily just get the results printed the second it happens. Can I do that in any JavaScript file? You can't just throw a wait. You do always have to be wrapped around in an ASIC function. But in the console, we just kind of took care of the complications for you and just made it easy. So you don't need to worry about that. So having to wait right here for any asynchronous stuff, just get to the value, the resolved value really easily. Now at this event, we've been talking about progressive web apps. And on DevTools, we want to make sure that you're able to not only build your first progressive web app, but scale that up to a world-class progressive web app. And so we have some new upgrades in the DevTools for this. Over in the application panel, you'll now see a graph that represents how the storage is allocated across various different types of storage. Here, this is the Twitter PWA. You can see they're using quite a bit of cache storage, a little bit of index DB, so on. Now in cache storage, there's some upgrades too. First up, on the left, where we have the listings of which caches are there. This is now live updating, which is a nice little bug fix that has really given people some headaches before. So I'm happy to say that if you add a new cache or anything, you don't need to close DevTools, reopen it. It'll just come in there. But now that you're inspecting a specific cache, there's a lot more detail in here than there was. So in addition to what files are in each cache, you'll see the size and when they were placed there, their MIME type, and their full network headers, and I really like you can also just click over and see the actual asset itself. In this case, an image. But this is really nice with JavaScript files and being able to see exactly which version of this asset is sitting in the cache at any time really helps a lot. Some similar upgrades over in the service workers panel. We've cleaned this up, gotten rid of the messy errors and old dead service workers, and there's two new features at the bottom of the screenshot here. The first helps with push notifications. So you can define a custom payload that will be coming over a push event inside the event data. So this can be text, it can be JSON, kind of be whatever you need it to be, and you just push this down, we'll emulate a push event into your service worker and you can handle it there. The second, the sync is great for working with background sync. It allows you to push down custom sync tags that your service worker can respond to. Okay, so. With progressive web apps, you've heard a bit about Lighthouse, and Lighthouse works fantastic for evaluating your progressive web app and finding the sorts of things that you still can improve on. And there's been a lot of stuff that we've been doing. And in general, I just want to back up and say Lighthouse, our goal is really to analyze your website and web app and diagnose the situation and provide concrete recommendations for how you can improve things. And our goal really with Lighthouse is just to make the web better. And we want to do that by shifting the mental load of all the details of web development, shift that away from like your brain and into a tool that can keep track of things for you. So there's been a lot happening there. We're happy that Lighthouse is available in DevTools, on the CLI as a node module. And even last year, we were on the stage, we were talking about Lighthouse. And in the last year, Lighthouse diagnosed about 50 different issues around progressive web apps and performance. And now a year later, we've doubled that. So we're tracking a lot more things inside of Lighthouse and improve the implementation of many. A few of the key highlights that I'm really keen on, some new stuff around loading performance, we're identifying what percentage of your JavaScript was executed, identifying slow server response times and identifying when your image aspect ratio has issues. Also, some nice things around SEO and your user experience. And one of my favorites now is, if your page has a JavaScript library, which has a known security vulnerability, we'll flag that for you too. Caliber is available in a lot of different tools, including some of these tools, which allow you to understand kind of your Lighthouse score and as it changes over time and kind of take care of that monitoring side of things for you. It is worth pointing out that Lighthouse works great in a continuous environment build pipeline. This is just all the packages on NPM that depend on Lighthouse. A great, like it's very enjoyable time to just browse these and see what people are building. And you'll get some inspiration for kind of the ways that you can use Lighthouse in your development workflow. There's some exciting things coming up. We've been working on a project called Lantern, which provides critical path analysis and models of what is happening inside the browser. This allows us to do a few things. One, we can run Lighthouse about five times faster than it currently takes right now. And two, it allows us to make much more accurate calculations when it comes to the performance, so we can be very precise around how much each performance opportunity is gonna save you. We're also gonna be improving the alignment of how the story is told between PageSpeed Insights, web page tests in Lighthouse, so you're not seeing conflicting results from these tools. You heard yesterday about the Chrome User Experience Report and understanding what is happening in the real world around a few performance metrics. We're gonna be incorporating this data into Lighthouse too so that from a Lighthouse report, you're seeing a snapshot of this is what just happened, but given the context of this is what's happening to all your users in the wild. And lastly, we're always gonna be continuing to surface more performance improvements that are available to you and best practices that can be improved on. I do just wanna take a moment to thank everyone who's contributed to Lighthouse. The Lighthouse community has been fantastic. We've hit over 100 contributors and really appreciate all the investment of people's time and conversations around issues and making sure that it's representing web developers as a whole, so I really appreciate that. Yes, thank you.  It's almost Halloween, I have a joke for you. Oh boy, what's your joke? Let's hear it. Why did the headless horseman go into business? Oh, I see what you're doing here, okay. I don't know.  That was good, that was really good. It's not that good, but. Speaking of headless, let's talk about Headless Chrome and Puppeteer. So Paul kinda covered the manual side of things, some really awesome things you can do now in the DevTools. Let's switch gears a little bit and start automating some of that and writing programs that talk to the browser. Some really cool stuff. So what is a headless browser? Well, normally you open Chrome, right? You click a button or you launch it from the command line and you get a nice window, there's a URL bar, there's DevTools you can play with and interact with the page. But of course, with a headless browser, you get none of that. There's literally no Chrome for Chrome. You kinda take the reins, you take the controls and you tell Chrome where to go, what pages to go to, how to interact with those pages. And there's no UI to deal with, you have to write a program to control Chrome. And the way you launch Headless Chrome is really simple. You can launch it from the command line and pass it the dash dash headless flag. Pretty easy. There's a whole article that I wrote that covers Headless Chrome. There's some pretty useful things you can do with it just by itself. You don't even have to write any code. You can take screenshots and generate PDFs from the command line. You can set up a testing framework like Karma or something, all this is in this article. So if you wanna check that out, go ahead and visit us on developers.google.com. But the really interesting thing and the thing I wanna focus on today is talking to Chrome using Node.js. So we're gonna launch Headless Chrome, but we're also going to include this remote debugging port. This is really key. This is how we're gonna actually use the DevTools protocol and its APIs to control Chrome, to make it navigate to pages, to make it do things we want it to do. So that's where the magic comes in. Now if you wanna just work with Headless Chrome, there's a really awesome, very small little launcher, MPM module that we created for Lighthouse and we've taken that out and made it a separate thing because it's so useful in and of itself. Chrome Launcher basically just finds Chrome on your system. You can give it different chromes to Canary, Dev, stable channel. And just with one command, it'll launch Chrome on any platform. You can pass in that remote debugging port and pass it any flags that you wanna give Chrome. So in our case, we wanna launch Headless Chrome, we pass it dash dash headless. So super useful, easy to use Node module and then from there you can use Chrome however you want inside of your scripts. Another way you can use Headless Chrome is through one of these automation testing libraries and some of these have been around forever, Phantom.js, Industry Standard, Selenium, you can use any browser and test in your code. A lot of these for some reason are like ghosts for some. They're getting into the Halloween spirit. It's Halloween, that's true, that's very good. I don't know why, but when I kind of got into space, I was pretty daunted. I didn't know what each of these did, what browsers they support, are they using the Headless version of a browser? So this is kind of what the Chrome team saw and we said, hey, let's make at least the testing and controlling Headless Chrome really, really easy for developers, so no frills, no configuration. And so this is where Puppeteer comes in. So at high, high level, Puppeteer is just a Node.js library useful for using Headless Chrome. And by modern, what I really mean is that we're using some of these latest new JavaScript features. So if you check out Puppeteer source code, our example is you're gonna see async and wait everywhere. And there's two reasons for that. The first is promises are actually really nice. So the communicating with Chrome all happens asynchronously from Node to Chrome and back again. So promises are crucial for that. And async and wait just cleans all of that up makes things a little nicer for us. But if you want to, you can use Node 6. So really good example here is if you're like in AWS Lambda functions or you're on Google Cloud that doesn't have the latest, you know, Node 8 version installed, you can actually use Puppeteer with Node 6 without transpiling. No frills, no zero config. We actually bundle Chrome. So we'll pull down Chrome when you MPM install Puppeteer. This is really nice because you don't have to deal with those details. You can kind of just write your code and have it run and Chrome will just be there for you. It's Chrome's reference implementation of the DevTools protocol. For anybody that's looked at the protocol before, it's really big, it's very robust. You can do a lot of interesting things with it. But we wanted to kind of highlight the best practices and the really, really, really common things. So we have high level APIs for most of the common very interesting things you can do. So we've been working on this project throughout the summer, and actually today or in the very near future, we're gonna be launching a 1.0. So if you haven't checked out Puppeteer, do check it out, this is a great time to look into it. So we've got Chrome, we've got Headless Chrome, we've got Puppeteer now in the mix, DevTools protocol, all these things happening. This is the pyramid of Puppeteer. How do these things all line up with each other? So at the very bottom, we have Headless Chrome, the browser, a modern evergreen browser, latest web platform features. You can test service worker now, you can test push notifications. That's at our base. On top of that is the Chrome DevTools protocol. We're not gonna interact with that directly, but that is the thing that's gonna be talking to the browser and doing things that we want it to do. Puppeteer is this little library that wraps the Chrome DevTools protocol and sits on top of everything below us.  The scripts are gonna write in Node.js. So I just wanna show a quick, quick comparison. Don't worry about this code too much. On the left, you're gonna see how to use the DevTools protocol. And on the right is the Puppeteer version. We're just navigating to a page and printing the HTML. Something very simple to do, but actually pretty complex to do in the DevTools protocol. And this is even a little bit shorter, I'd say, than it would be if I didn't use the Chrome Remote Interface Library. So a couple things here, I have to use a couple libraries to launch Chrome, to wrap the DevTools protocol. I have to enable some things in the DevTools protocol to say, hey, Chrome, I'm gonna use the page domain and the runtime domain. Wait for those promises, navigate to the page, wait for the load event, and evaluate some script. And on the Puppeteer side, that's just a couple lines of code, and literally you can follow it line by line just to curl the page. All right, let's see some cool examples. So first is screenshots. Really, really common case. First thing you're gonna do, obviously, is grab Puppeteer off MPM and require it in your scripts. First thing you do is you need to launch the browser, and Puppeteer has an API for that, Puppeteer.launch. This is gonna return a promise that gives you a browser instance to talk to. Now by default, it launches Headless Chrome, so you don't have to configure or use any flags here, we're just gonna get Headless Chrome. Next up is we're gonna create a new page using that browser instance. And again, everything is a promise, so you're gonna see async in a way, these are just promises, if you're not familiar with async in a way. We're gonna navigate to example.com and then call page.screenshot, that's gonna actually create a screenshot, and save it to disk as example.png. Last but not least, close the browser, we're done with it, we've ran our script, we've generated the screenshot, and in literally like five lines of code, we've opened Chrome on any platform, generated a screenshot, and boom, we're off to the races. So literally, line by line, you can tell what's going on. You're not impressed. Just screenshots, not very cool. I need more. You need more, I have more. So what else can you do? Well, there's actually really, really interesting use cases when we have headless browsing at libraries like Puppeteer. It's not just about testing, it's about automation, it's about use cases. So you can generate screenshots, you can create PDFs, that's pretty cool and useful, but maybe you wanna do something like crawl your single page application and render it server side in the cloud for SEO purposes. You can do that with Puppeteer and headless Chrome. Scrape content from sites, and we'll show an example of that, maybe you just wanna interact with a page. You can automate form submission, maybe test your accessibility or keyboard handling using Puppeteer's APIs and headless Chrome. I'm excited about end-to-end testing and having the latest JavaScript and web platform features. So we can test service worker, really, really handy if you're building a PWA. Collect page metrics. Paul showed you that in the DevTools, you can do that programmatically in Puppeteer. Hey, maybe you wanna take another tool like Lighthouse. You can use Puppeteer to change a page, modify it, test some changes, and then run it through Lighthouse to see how those changes affect performance. One of the best features is actually not a feature at all. This is it. Does anybody know what this means? Perse foot, recycle Chrome. Puppeteer's logo does look like a purse, doesn't it? That's okay. So this is my interpretation of being in lockstep with Chrome. That makes sense. With Chrome. Yeah. So what does this actually mean? It's really nice to have the DevTools team, the people that are building the browser and the DevTools, be the ones that are creating this node library. So they work really, really well together. An example, a very common example actually. Someone came to us on the Puppeteer issue tracker. They said, hey, can I emulate offline? Can I test my server server offline? We said, no. That's actually a bug in Chromium. So we go over the Chromium issue tracker, file that bug, work with the Chrome team that's working on Headless. Literally a couple of days later, the CL goes in, the commit goes into Chrome to fix this and add this new API and capability to Headless Chrome. And then in Puppeteer, we come back, notice that change, and then a couple of days later, we have a new version of Chrome that we pull in and everybody gets offline in Puppeteer. So very, very fast feedback loop now that we have all these teams kind of working together. All right, so that's enough talk. Let's see some cool examples and some of the API in Puppeteer. So similar to screenshots, hey, you can create PDFs. I don't know why people want to create PDFs. A lot of people want to create PDFs for their site. Oh, I know. So you can do that with like two, three lines of code. You know, have that, who cares? Create a PDF, emulate a screen, do whatever you want. The world is your oyster. Some more interesting things I think are emulating device. So maybe you want to test the mobile version of your site. Using Puppeteer's APIs, you know, you might not know like the viewport settings or the emulation settings for that, we have pre-canned device descriptors that have all those, the settings and widths and everything. Here, I'm just emulating an iPhone 6 and navigating to Google.com. So maybe I can screenshot that page or do what I want with it. One really powerful thing is you can run code inside, run JavaScript code inside of the page itself. So in this example, I'm going to navigate to my Twitter stream, just, you know, create a launch command, get a browser instance, create a new page, navigate to that page. What we're going to do is use page.avow to grab the first tweet on the page and then click that tweet. So this code here, this callback, this tweet.click is actually going to get run in the page. It's not in my node code. Next is we're going to wait for this, this overlay to the pop-up that Twitter shows me the full tweet. And we're just going to wait for that DOM element to become visible. And then lastly, we'll just screenshot. We'll take a screenshot of that DOM element. So that's pretty cool. You can screenshot a page, you can screenshot a full page, and you can also screenshot a DOM element. So all in all, it looks like this. We'll navigate to the page, eventually get to Twitter, we'll open the tweet, click the first tweet, and eventually we'll get a screenshot. So this is the screenshot that's produced. This is Chewy, by the way. So cute. So despite his name, he's not seven foot six and like 250 pounds, he's very small and very timid. But he's learning how to use a lightsaber, so that's important. So I don't know if you guys just saw what we did there, but we actually just wrote an integration test, a smoke test for opening a tweet on Twitter.com. You can insert your favorite framework here, but the fact that we have a real browser with a real JavaScript engine and real DOM to test against is pretty powerful. It means we can write some tests and have them work really quickly. Interception of network requests is really, really common, a really cool feature of Headless Chrome and Puppeteer. So using request, is it set request interception enable? We can actually intercept any request Chrome makes before it ever makes that request and decide what to do based on the resource type or the URL. In this example, I'm actually just aborting any request for images, saying hey, I wanna test my page, see if the layout looks good without images, see if the images fail, that's a common thing. I wanna know what it's gonna look like. So I can write a test for that using Puppeteer. Keyboard input, I can navigate to Google.com, I can pull off the DOM element that search input, type in the word Puppeteer using page.type, click Google search, wait for the search results to come. Each of those search results is an H3 with an anchor tag, I'll just wait for that selector to be visible and then just run over those links and print those to the console. So I'm just scraping content here from Google.com using Puppeteer's APIs. Paul showed you some really cool things with page metrics in the DevTools. We can get that information in Puppeteer as well, just with an API call. So same stuff is in both places if you wanna do some performance analysis. If you're getting started Puppeteer, there's a couple of really, really helpful debugging tips that I just wanna quickly touch upon, invaluable stuff. So let's talk about this launch command one more time. Now the first thing is you don't have to use Headless Chrome. You can just use Headful Chrome, full Chrome. So if you want to pop on the Headless false flag and that'll actually show you the browser window. So if you're writing a script, this is really, really useful to see what's going on. We have another flag to open the DevTools automatically. So that's kind of useful if you wanna poke around in the DevTools as your scripts are running, kind of debug things as they happen. Speaking of debugging, there's two more things, slow-mo and dump IO. Now slow-mo is something I've been showing you this entire time through all these screenshots. It actually slows down all the operations Puppeteer does. So it'll slow down typing as if it were a user. It'll slow down navigation and kind of mimic user behavior. And dump IO is really nice because it'll give you extra information from Chrome. Chrome logs a bunch of stuff and if your scripts are crashing, that's a good one to throw on. You don't have to use the Chromium that Puppeteer brings in. You can use Canary or DevChannel if you want. You can launch your own version of Chrome and just do that by passing in the executable you wanna launch.  There's just an amazing amount of really easy to use APIs. Offline support, turn off JavaScript, setting viewport, a lot of really handy things you can do in Puppeteer. If you wanna check it out, we threw up a site called trypuppeteer.appspot.com. I hacked this together in the weekend, so if it breaks, please don't yell at me. But this is just a lot you go in, play around with some code, try out our samples. You can see any console output at the top and actually if you're generating a PDF or screenshot, I'll show you that at the bottom to get the preview. Really easy just to try, not even have to install anything. So yesterday at the keynote, Ben actually proposed a challenge, and he didn't know he was proposing a challenge to me, but I went home and I built this demo. So this is gonna be Puppeteer Inception, where you can use Puppeteer to open the trypuppeteer site, which is running Headless Chrome in the cloud that runs Puppeteer. Ooh, nice. There's like a lot of stuff going on. I love it. So let's see that. It's just using Docker and Headless Chrome. So I'm gonna navigate to the site using Puppeteer. I'm gonna inject my code and you see I'm gonna navigate to the site itself and take a screenshot of what happens. So eventually when we click the run button using Puppeteer, we'll get the screenshot within the screenshot. Pretty cool. And you can see my arrow there. It didn't move the entire time. That was Puppeteer doing its stuff. It wasn't me clicking around. So good. Actually, Eric, can I? What's this? Oh yeah, thank you, thank you. I love it. I was gonna say I wanted to interrupt you for just a second. You're talking about the DevTools protocol a second ago. And it reminds me, there's something about the protocol. If you've ever attached something else to Chrome like VS Code or WebStorm or Selenium and you've been working with it and then you open DevTools, you've seen that other tool kind of disconnect, right? Like you can only have one connected at a time. This is admittedly a bug. It's actually, it's our number one bug. And so, yeah, it's a little interesting. So I'm just gonna go and actually just take a look right now. Okay, so if, yeah, so we have 12,000 stars on this. It's a lot more than our next biggest bug. It's very disproportionate. In fact, all of Chrome bugs, it's number three. The worst part about this is that it's assigned to me. Yeah. Since 2012, what have you been doing? Not ideal. What? Yeah. We got good news. Good news is multi-client remote debugging support is now fixed. This is so good. That's cool. The great thing here is that nothing to configure on your side, everything just works automatically. Having DevTools open plus any of these things or even two of these tools together, two different things that connect to the protocol, all good, all works. It's awesome. And so now that that's done, actually we have something to take care of. Let's see. We're just going to, well, it's probably time that we close this bug. Market is fixed and hit it. Yes, go, go. Thanks Paul and DevTools team. Yeah. Yeah. That's awesome. Feels good. All right. Now on to the next one. Job well done. So with that, sorry for going over. Hope you guys learned a lot today. We did cover a lot in a short period of time. Here's all the resources, the GitHub repos for Lighthouse and Puppeteer, Headless Chrome article, DevTools protocol, if you really want to get low level, that Chrome Launcher module. I think that's it, right? Thank y'all.


Eric, our Mitchell, Bobby, Joe, Kreiner, Julie, Sage, Brianne, Kapo, Howard, Anthony, Brandon, Lloyd. Well, we have made great strides in preparing to combat this crisis. We all know that we have a lot more that we have to do. Each day we don't act. Another 10 Pennsylvanians. Another 10 quilts that are around here. Another 10 families are affected. The price has been paid with the lives of our loved ones, and we've got to cash in on that and change how we approach this issue. Today is a day of hope, and today we are here to move Pennsylvania from addiction to recovery. We cannot keep going on like this. We're all going to work together to do this for Pennsylvania because it's right. This is not about politics. This is about the people of Pennsylvania. And in this, all of us are Pennsylvanians. Thank you very much. Thank you.