Hello everyone and welcome to this presentation about writing your own kernel crypto axillary driver. So a little bit myself first, so I worked for nine years for Texas Instruments in the Linux kernel development side of things. I have been the lead for the basebot team for about five years. I have something like 600 but she's merged upstream that I've personally written myself. And about 60 of these are in the crypto drivers section, which I am going to talk about today. Also I'm maintaining a vocabulary related drivers subsystems in upstream Linux. And here's also my LinkedIn profile link if you want to contact me for any reason. So this presentation is split in three sections. So first I have introduction talking somewhat about basic crypto concepts and what these things mean. Then in the second part I'm talking about the meat of this presentation here. So basically implementation details for the drivers and what you need to consider when doing that kind of things. And third part is some test results. So I've done some testing for the crypto drivers that I've been dealing with. So first starting with the first part introduction. So what is cryptography? So this cryptography is basically some pretty complex mathematical algorithms to convert data into something unintelligible. So basically you use some mathematical tools to convert data, plaintext data or binaries or emails or whatever. This kind of format that people who are not authorized to do that cannot read them. So basically cryptography is used for three main purposes authentication. So basically you certify that whoever is sending the data or whoever is the initial author of the data is actually the person that he claims to be. Then confidentiality is one thing. So non authorized people cannot read the data. And then we have integrity so nobody can modify the data either. And this is useful for example. If you are serving some software binaries so nobody can modify that then insert some viruses or whatever into the data for example. And using different cryptographic algorithms for different use cases. So first about authentication. So typically some asymmetric ciphers are used for this like RSA, DSA and so on. And we have two different keys for the encryption decryption process. So public keys, one key that can be shared freely. And then we have a private key which is only used by the receiver of the data. And this can be used for applications like digital signing, secure view, both and so on. Here's a figure on the right hand side. So we have a plaintext here. Senderer uses the public key to encrypt the data. Convest into ciphertext which basically cannot be read by anybody except the one that has the private key. And you can decrypt the data and get the original plaintext out of that. Then confidentiality. So we are using symmetric ciphers here like AS, DES and so on. And the main benefit for these symmetric ciphers compared to asymmetric ones is that these are much faster to execute. So the mathematical algorithms used for this one are usually much more faster to do. The main negative portion is that we have this private key that both sender and receiver must know somehow. And this is the main issue of how to actually share this key so that it doesn't end into somebody else. And then that part can also decrypt the data that we try to keep secret. And some applications like HDD encryption, secure message in IPsec and so on are using this kind of setup. Here's the figure again on the right hand side. Basically it's similar to the previous one but the keys are basically the same used by sender and receiver. Then for the integrity purposes we are typically using hash algorithms like MD5, SHA and so on. And applications for this is like image integrity checking, password storage and so on. For these type of algorithms it's impossible to generate original data from the ciphertext. So basically we are just getting the plaintext. We are running the algorithm on the plaintext and we get the sort of ciphertext. This should probably meant, named like hash result here but I kept the figure similar to the previous two. So we see the sort of difference of this. And for this integrity algorithms we have this optional key. So you can either use the key or not. But for example if you are using tools like SHA, some in Linux operating system. You don't provide the key but it's using the base algorithm to just calculate from the plaintext. And then you will get the same result always for everybody that's actually using the same tool. So going to the implementation side of things. So here I brought this kind of simplified system architecture diagram. What people might have available for their use. So we have this SOC where we have VAS and we have CPU and a couple of cryptoaccelerator blocks here.  So how do you do that? That's basically the main topic for this talk. So these crypto accelerators quite often they utilize some sort of DMA to transfer the data from the accelerator block to memory and back. And CPU is just controlling the setup of the system here. Then talking about crypto drivers themselves. There's basically a couple of main concepts that people need to think about. These are the transform which is basically a single algorithm implementing some sort of cryptographic operation. This can be encrypting decrypting or hashing of data. And then there's the request which is basically a single crypto handling request containing data. And this request is always passed to transform and transform is doing its magic for the request and provides the results back. And single transform typically provides a few different operations which are using the process, the data for these requests. And in most cases if we are using this kind of hardware crypto acceleration we need to, or we are interested in using this asynchronous completion mechanism. Because the DMA is doing stuff in the background and we can do some other processing at the same time. One important thing to note is that both of these provide this kind of context saving area. And this is used during the whole lifetime of the transform or the request. And it is quite easy when you are implementing things to mix these two and you get some really strange problems there. Like overwriting some other memory buffer or whatever. And these are quite nasty debug so please don't do that. Here is a high level crypto sequence diagram. So this is basically using single driver to use single transform. And we are sending data to the driver and do the work here. So basically what happens is that the user first issues the mod probe to probe the device driver which provides us the transform. So we get to the driver probe function and then we allocate and create the transform. And then we register that created transform back to the crypto core. And once the transform has been registered then the user can open this for example socket interface using AFALG type of socket. And just sending data over the socket then to the crypto driver which does the processing and then we get the results back. And here you see that I've sent a couple of actually two simultaneous or parallel packets to the driver. And they are kind of processed thoroughly and we get the results back here. And once we have done everything that we want with the data we can close the socket and then also if needed we can remove the whole driver. And then it will unregister the transforms and release of the memory that was allocated for this purpose. Here is a list of kernel APS for creating a new algorithm. So there's a few different types of labels for this. The first one here is for registering symmetric cipher for like AAS and trivialness. Then we have same for hash algorithms and third one is for AAD which is typically used for things like IPsec. There's plenty of others available also but these are basically the ones that I'll be focusing on this presentation. And these are like they are used for this very basic operations. Encrypting data, decrypting, creating hash results and then running IPsec tunnel. And once proper register function has been selected you just need to figure out how to fill the ALG container. Which is passed through all of these register functions. For hash operations we need to register these six APM calls. And the first one is init. So we initialize the hardware state hash and any driver internal data for the request. Update is basically the most important one so we are passing the data to the hash to this call. And then in the final we close the current hash and return the result for the user. So basically final can be the stage where you actually do all the processing if you have cached all the data from update calls somewhere. And then you just close this here. Digest is a combination of init update final but the critical basically requires that you need to implement that one. Then the last two are export and import. So this is basically you can save the current state of the hash operation and continue it later. And these two are typically the most difficult to implement because you need to fetch the hardware status somehow out of your actual data book. And store the status that is provided data buffer. And then you need to be able to import that back to the hardware once you need to do that. Then couple of notes about hashes. So both export and import must be implemented. That said they might be tricky on some hardware and if it is not possible to implement the export import from the hardware, it might be likely that you need to resolve the software folder only in cases where export and import are going to be used. Then we need to register the proper state size for the transform. So using two small size will ensure some really interesting problems. And I spent my own time debugging these kind of things. Because you end up in memory allocation problems if you use wrong state size here. And also one thing to notice that using two large size will get the algorithm also rejected by the crypto core. And the size is actually quite small. It's maybe a couple of kilobytes. So basically you cannot save too much data to this state. Then here's kind of optimization trick. So use software fallback for small payload sizes. Because setting up DMS, IRQs and so on can be pretty expensive per packet. And you can actually get pretty large performance boost in some use cases if you do this. And also one thing to notice that data will be sent over in multiple chunks. So you basically get repeated update calls to your driver and you need to be aware of that. And it might require actually quite complex buffering to do this kind of hash driver. Then for the Cypher AAD operations. So here we basically need to register the set key, encrypt and decrypt calls. So set key is pretty obviously we are setting the key for the Cypher. And encrypt and decrypt are used to process a chunk of data. And for these Cyphers and AADs the whole chunk of data is actually passed in a single call. So you don't need to care about buffering in this case that much. Additionally AAD needs to register set outsize. So this is the authentication data size for AAD. So with AAD we are both creating Cypher text and then we are also creating authentication data for the additional data that is passed with the calls. Also with Cypher and AADs you need to register proper state and request sizes. You will face really interesting memory handling problems if you don't do that. Cypher is typically easier to implement than has because the data is passed in a single chunk. So if you are starting to write some sort of crypto accelerator driver you should most likely start with something. Some Cypher algorithm like AES and try to get that working first and then you can improve your driver and get more things working. And also with small payloads use software fallback similar to as I proposed in the hashtag part. Then about the testing support. So Linux kernel actually has pretty nice setup of testing functionality available for crypto accelerator drivers. So this first is self-test that are done by the crypto core. And there's a couple of config options in the kernel you can just enable to get this done. And these are executed when the driver probes and registers the transforms that it is supported. And results for these are seen immediately in the board log if any failures are noticed. And the status is also visible from the proc file system in the crypto file. And there's one thing about this crypto test. And if you're writing your own driver is that it is quite easy when you are writing a new hardware driver to actually hang your device in a way that it is waiting for data from the hardware block. And it's not coming back because you have used wrong sizes for something and things like that. And in that case it might be useful to use this kind of hack in the kernel. I actually tried to upstream that this patch at some point but it was rejected because it's possible that in some cases you actually may want to wait out for very long time for the results from the crypto core. But if you are testing your own driver you can try this patch out and it will basically time out if your driver doesn't provide the results in reasonable amount of time. And then there's also this crypto test module which can be used to measure basically throughput of your driver and it will test your transform with different data sizes. And you can provide the number of seconds that are going to be executed by the test also. So for this you basically use this by probing the crypto test module and provide this couple of parameters, mode and seconds of execution time for the test. And mode is basically the use transform for the test. And you can check the source code for the crypto test module to actually see what these different numbers are. But there's a private reference for this 600 which is for AS and 423 for SHA. Then you can also do open assessment testing. So either using AF-ALG interface or dev crypto. This dev crypto is a kernel external module which you can install and then you can use this crypto operations similar to Unix crypto implementation. And with open assessment you can test for example the speed for certain operations and use the desired implementation for the algorithms either using this dev crypto or AF-ALG or just use the software implementation on the open assessment library itself. Then also one important testing. So it is using some sort of IPsec tunnel. I've been using strong swan myself. And once the tunnel is up you can use IP3 or some similar to on top to test throughput of your crypto operations with IPsec. Here's some driver optimization tips. So basically some of these should be pretty standard for anybody who has been dealing with device drivers before. So combine processing if possible. So small data chunks, multiple interrupts or multiple DMA transfers. Always try to combine those somehow if possible. So that will basically save plenty of time if you can avoid execution of one interrupt and setting up things for that. And also same for the DMA. Because with this crypto operations for example in IPsec we are processing some 1.5 kilobyte chunk of data basically the networking MQ size. And if you are transferring data with almost for example 1 gigabit per second then you get quite large number of blocks that you need to process. Then also parallelism is obviously one important thing. So that is quite obvious with the IPsec example. For example that you can queue the number of packets to be processed by the hardware accelerator at the same time. Then also I mentioned this before the software fallback usage. So with the kernel if you are opening this kind of crypto channel it will use the same driver for any data that goes through the same channel. And if you process usually this kind of 1.5 kilobyte chunks and then occasionally you get like 50 bytes of data to be processed. Or all that goes through your driver. So it can be really beneficial to use software fallback for this small data size system. Then also one thing to try to avoid is scheduling because basically switching the context from the kernel to potentially even use space or something similar is going to be expensive. So if you are finalizing one request you should check the queue whether you have more data to be processed and just process the data immediately. So that can also help improve things. Then basically last part of my presentation is about test results. So I've used couple of Texas Instruments platforms for testing things out. I have AM57XX EVN which is Cortex-A15 dual core SOC running at 1.5 gigahertz ampue speed. And it's on V7 architecture. And it has neon acceleration available. So these neon kernel crypto drivers can be used with this board. And it also has DI OMAP family crypto IPs in use. So these can be used for crypto acceleration. Then I have J721 EVN which is Cortex-A72 dual core running at 2 gigahertz. And this is RV8R6O. The CPU core has crypto extensions enabled so we can use the ARM standard CE drivers for the crypto operations. And then it also has this kind of TI S-H-U-L crypto accelerator block which provides a number of algorithms that we can use for that. So what I've done in the testing, I've basically tested both hardware accelerator and software mode crypto. With this crypto test module. And basically it's just using, probing the crypto test module with specific modes. I've used this 600 for AS and 423 for SSA. And it will provide you plenty of results but I've just captured 128 bit key results for this. I also slightly modified the crypto test module because normally it only executes data up to 8 kilobytes or something. So I modified it to run up to 64 kilobytes so that is going to show the benefits of hardware crypto acceleration better. And CPU load is also measured additionally in all tests. So looking at the results on the AM57X6. So this one is with SSA hashing speed. So looking at the numbers, this yellow and green curve are for the neon operations and red and blue are for hardware accelerator operations. On the right hand side we have the CPU load. So going up to 100% here. And left hand side we have the bandwidth for the, actually the throughput for the operation with the T-crypt. So it goes up to 200 megabits here. And on the bottom we have the block size from 16 bytes up to 64 kilobytes. So what we can see from this figure is that with the neon acceleration the CPU load is 100% all the time. It's kind of expected because we are using pure software implementation to run all the crypto operations. And for the bandwidth it actually starts pretty low. So it is kind of expensive to run these very small payloads for the operations. And it goes up quite steadily up to about 100 megabits or so. And it separates on there up from 2 kilobytes or so of block size. The hardware acceleration however shows kind of different behavior here. The bandwidth also starts really slow and it gradually gets higher and goes up to something like almost 200 megabits. But what is more important is the CPU load. So it starts basically at 100% here with small block sizes. So basically setting up all the DMS IQs and things like that are going to consume. All the available processing power we have. And then it starts to go down and it actually gets pretty low when you get these kind of decent size blocks here. It's maybe 5% CPU load or something like that in the end. IPsec is an interesting case. So for IPsec we get something like 1.5K. So you see that the CPU load is already getting lower in that setup. And the bandwidth of this hardware acceleration is the true line and the software line are getting closer. So you will see some benefit in the CPU loading of the system here. The next slide is about AES algorithm. So it's a cypher. And here we have a pretty similar figure in the previous one. The bandwidth and the CPU numbers are on the left-hand side. So basically it's 100 megabits here or 100% CPU loading. And again we have the blue, green and yellow lines for the software algorithms and red and blue for the hardware acceleration. So the Neon operations basically consume 100% CPU all the time. And it goes quite rapidly to 100 megabits per second throughput when the block size is increased and supports over there. And for the hardware accelerated we will see similar thing that happened in the previous slide. So CPU load starts from 100% and it starts to get down once the block size up is increasing. Here also you see that the blue line doesn't get that high. So it means that the hardware accelerated blocks itself is saturated on the performance. So it cannot provide any more performance here. Here's the results for the J7. This is again quite similar to what was seen in AM57, but the numbers are quite a bit different. So again CPU load is on the right-hand side for the CE operation, which is the software. It goes to 100% obviously all the time. And the throughput for the software operation gets almost to one gigabits per second here at the high end. The hardware accelerated block also so similar to the previous CPU load gradually gets lower when the block size increases. But the hardware is designed so that the maximum throughput for the SHA block is around 200 megabits. So it is getting saturated here quite a bit lower than what the software can provide. And here we have similar numbers for the AAS algorithm. So again software is 100% loaded and the throughput gets to somewhere like 2.4 gigabits per second or something like that. And with the hardware accelerator the CPU load starts getting lower, again 1.5 kilovite chunks. And the throughput is saturated somewhere like 300 megabits per second again. So I did talk about the software fallback implementation earlier, so you will see here that what is the reason to do that. So basically all the numbers that we have maybe up to 1 kilovite here block sizes are very low for the hardware accelerator compared to the software implementation. And still the CPU load for both is going to be about 100%. So basically if you use software fallback for this area you get similar performance as what we get with this CE driver directly. Yeah, that's actually the last slide in my presentation, so thanks everyone and I believe there's going to be Q&A session after this.


Good morning, traders. Welcome to the Traders Lab. I'm your host, Tom B. Happy Groundhog Day. Can I please get a screen and audio check? Can I get a screen and audio check in YouTube and the Bookmap Discard Trader Lab? Thank you. How are we doing in YouTube? Okay, great. Thank you. Good morning, everyone. Thanks for visiting Trader Lab today. I'm your host, Tom B. I stream live Monday through Friday, 11.30 to one piece in standard time. This streams about integrating Bookmap order flow tools with auction market theory using a volume profile in the Intraday developing timeframe. In addition, this is Groundhog Day. And this is to honor all traders who are curve fitting indicators. And I call it Trader Groundhog Day because most traders use indicators, which is basically a translation of the market output or an output derivative, whether it's oscillators, envelopes, stochastics, MACDs, doesn't matter. Pick one, pick them all. They're all an effort to translate market behavior. And what we typically do in the retail space is get a toolbox and try to select proper time frames, the right mix of tools or indicators to give us a sense of certainty. And I think what's pretty important and we're celebrating Groundhog Day because if you find yourself waking up continually going back to fix something and to adjust it, that is really curve fitting and also an indication of a potentially a defective process. And the model that I have embraced over many years now is gaming theory, whereas we're in a random environment and the outcome of any interaction is random, so we cannot predict what's going to happen with the next interaction with the market participants. And most of us because of our psychological wiring, and again this is just personal experience and also an opinion, we since we're in a random environment and but we need to be right because of our wiring and our fear of loss and all the things that go with losing. So we want to create more certainty. However, the model is the casinos, they have no certainty except how they play their games. They only play games that have a statistical or vetted edge. This is what separates in my opinion the potential opportunity for retail traders to actually create careers in the business versus staying on the gambling side of the table. And of course past performance is not indicative of future results, but it's very important I think that traders in the retail space get maybe a better understanding of where they are as far as a business model. The other thing is the gamblers walk out with cash. So we believe if we are gambling, in other words with the random inputs, we believe we're on the right track, we just have to make it better. Isn't that what you thought? That's what I thought and that's what I call Trader Groundhog Day. So welcome to Groundhog Day. General disclosure, all book map limited materials, information and presentations are for educational purposes only and should not be considered specific investment advice or recommendations. Risk disclosure, trading futures equities and digital currencies involves substantial risk of loss and it's not suitable for all investors past performance, it's not necessarily indicative of future results. Please remember this is not a trade calling room, this is for educational purposes only. In addition, I'm going to be going over trades that we are part of the process that is shared in the Trader Lab and if you find this interesting you're all welcome of course to visit the Trader Lab. The goal of the stream is to just follow structured trades. The idea of a structured trade so you understand is to really to have a trade plan. Now most of us when we come into the retail space think that it's just when the line crosses this or that or we get a Fibonacci retracement or we're going to get a Fibonacci extension or we're going to use an LA oil that that's what trading is and then it's a matter of do I get the right time frames and the rest of it. Of course, what else are you going to think? That's what most retail traders do so we tend to do what everyone else does. However, I think there's a lesson to be learned in Trader Groundhog Day and that is that most retail traders are not in the business. They don't stay in the business, the failure rate is really astronomical. Well, if they're all doing the same thing, maybe there's a message in that story and maybe we can learn from what most retail traders do and maybe not emulate what might be a failing process and the thing I found that is so difficult is to not accept the random nature of this business, the random nature of participant behavior and the random nature of market mechanics. That's really difficult for us because we think it's just the next turn of the screw or movement of the envelope or change the standard deviation or whatever it is, pick one, because it's all the same. Indicators are an attempt to translate market behavior and market mechanics. That's why we use them. That's why we have them and I'm not even going to say you can't use them. What I'm going to suggest though is is they need to be overlaid on a chassis and understanding of market mechanics and this is I want to show this to you.  This is called Trading Process Hierarchy and this is really what you're going to be seeing. This is what makes up process and trading is process. It is not indicators. It's process. How does the market work? Why does it do what it does? If you can understand how the market works, it's not about what it will do. It's about what it might do and how can you create a plan. All of this is done outside of trading hours, a plan that when specific conditions show up and it's not your indicator crossing over this or that, I mean maybe, but you know, let's call it conditions, conditional behaviors. Can you understand how the market works? That's what auction market theory is. Now, very simply auction market theory is just shopping. I know, shopping.  If you think of it that way, because what is the purpose of the market? It's to figure out what something's worth. What's too high? What's too low? What's a fair price? And the nature of the market is to do this process or behavior in all time frames and I don't think of time, I just think fractals. So if you're, when the market goes up, if it gets too high, it's going to run out of volume or buyers and then the market will go down to find the buyers. Well, it can go down for a couple of reasons. I mean a number of reasons. It can go down because it's too high. It could also go down because there's no more buyers too high and then it sells stops under our market and you know what happens when you light those up. It goes down. Those sell stops become sell lurch, market orders, right? And it can cast K down and maybe get too low. If it becomes too low or on sale and the participants, just like when you shop, if you go to store and the thing is a product you like is on sale, it's under retail or a fair price, it's on sale, you'll buy it. Well, if the sellers see the buyers coming for their product, they're going to raise the price. They're not going to leave it on sale. Who leaves something on sale? And then the sellers who are in that, which are buy stops, they become buyers too. So this rotational process or the auction takes place and it takes place in all fractals or time frames. Now the tool to use, maybe see this behavior at times, it's called volume profile and all the volume profile is, it shows you volume and price. It doesn't cross over, doesn't say buy, doesn't do anything. It just shows us where the volume is because as shoppers, we want to know what's too high, what's too low, and what's retail. And that is pretty important, right? So that's the tool. Then there's time frame as you think about it. What is time frame?  And the lower time frame, if you think of a Russian doll, by the way, the higher time frame might be your RTH or daily bar. As we go down in quote time frame, we might be getting from annual bars, if you will, or candles to intermediate time frame, then to intraday developing time frame. And then fractals were consolidations, auctions inside of the developing time frame. And I think of these as Russian dolls. So the big doll down to the little one, and they're all the same, aren't they? Russian dolls are all the same, but the little one might be where we trigger. And then we're inside of the higher ones. Now, this is the hardest part for traders, was for me. Context. Context is a changing thing. And when we try to use indicators, the problem that we have with indicators, at least I have with them is we're trying to get an indicator to operate consistently in a changing environment.  Or you ride the thing down in the morning or the first half hour, and then it goes into chop. Well, if you're using the same approach in a range trade, you get what's called chopped up. Has that ever happened to you?  This is what retail traders do. They don't understand that the market conditions changes in our day. It goes from directional to rotational, it can go from rotational back to direction or just stay rotation. It could do anything. That's part of the random nature. And you're constantly going to be trying to wonder why it doesn't work. That was what creates Trader Groundhog Day, changing conditions in the market and not having a plan for different conditions. And then of course, there's Bookmap. This is where the rubber meets the road. I call it the tip of the spear. And Bookmap is really an order flow tool and also allows us to get down to the microstructure for triggers and to see inside the behavior of the participants. That's sort of the lay of the land. This is what the Trader Lab is all about. So it's all of these pieces combined. And if you're interested in this, if you go out on YouTube and scour around, you'll find a Tombi webinar that is a pro-trader webinar. And you'll know it's the right one because it's got about 27,000 views. And that'll give you an overview of what this is, what this process is, plus circles, arrows, and you'll be able to see it. Plus, there's a lot of webinars that are up online that you can take a look at. Now I'm going to get into today, but I want to start with the 730 Central Time, the report. And this is important report, you know, NFP. Everybody jumps out the, that's the Alcapocco Clifta.  I'm in a very small community in the beach community. And the wind blows, or the monkeys jump on, you know, which by the way, I saw a lot of monkeys running around here yesterday. We had them, you know, troops of monkeys. It's not, it's very interesting to be sitting in the tree and just have a whole bunch of monkeys running around. They are noisy too. So if I drop out, I will try to reestablish connection in YouTube. It could take a few minutes. It may come up. So just be patient and discord as soon as things reset, I will come back in the discord and we'll get back in the game. So I just want you guys to be aware. And thanks again for visiting the trader lab. I truly appreciate it. One moment. Okay, so let's go take a look at what's going on here. This is notice here. Let me get over here. Notice as we approach 730 central time, which is NFP, how the algos turn off. So let's just watch. Now you have this sitting up here at 4975. This is yesterday's high. So and this yellow line is the eat. This is ETH. Okay, so this is the ETH volume point of control. Now remember I talked about auction and there's a price that's too high and the price that's too low and there's a retail price or fair price at the moment. And this is dynamic. It changes with the volume at the moment. This is retail. So if this is considered a fair price, this is where most of the volume is taking place in the ETH and this you can see it over here. This is the pretty close to, it's not all of it, but as of this time, this is the ETH volume. And it looks like a blob, doesn't it? Hold on, let me show it to open it up a little bit. What it is saying is, out here, as the volume dries up and the market goes higher, but less volume says that's too expensive. If the market comes down and rotates, it's going, wow, it's on sale. I'm going to buy two, throw them in the cart. And then where the high volume is, is retail. So what happens in rotations or consolidations is this is the process. I'm not paying that. Yeah, but it's on sale, retail. Now let me take you up to this one. I'm not paying that. Yeah, but it's on sale. Yeah, but it's too high. Yeah, but I like this price, retail. But what happens here? This price becomes too high. The sell stops under this consolidation, just think of it as a distribution of volume, but call it a consolidation. The guys who are wrong, whichever side it is, their sell stops become market orders. And if we fall out of this, it says that price is too high, just saying. So then we drop down and we start the process again. Does that make sense? This is auction market theory. Are you guys tracking? I got to check, make sure you have a pulse. So now let's go back to NFP. Now we know NFP is a big deal. It's probably one of the most, other than FOMC, it's the big enchilada. Don't forget I'm in Costa Rica, so I kind of think a little bit. Enchiladas aren't a big deal down here, by the way. Empanadas though are kind of popular. And Costa Rican food is a bit different. It's not like Mexican. So it's, you know, South American. So this all goes dark. This is what happens. Algos don't want to trade this. Do you want to trade it? So we're all here going, now what? Here's the report and it was stronger than we thought. So it does what I call the Alcapoco cliff dive. If you've ever been to Alcapoco, and I've been there a couple, a number of times, a number of years ago though, and you see these guys jump off the cliff, that's what these guys did, jump off the cliff. So now let's look. Now I'm going to show you a couple of things here. Let's just get this thing over here. First of all, this right here is a low volume area in an intermediate time frame. So it's interesting. You'll see the liquidity comes back in the book. So we want to be aware of this. But let's just look at this thing. This is the full session. VWAP is up in here in the overnight mid. Let's just keep going. Notice the liquidity. Now I'm going to show you along. And I just want to share it with you. It's not necessarily along anybody should take, unless it's part of a vetted trade plan. But I want you to see something. Now when I was sitting here in the ETH, I looked at this thing and I'm going, huh, that's a long liquidity in the book. Market is short, right? Everybody's selling. Oh, it stands at a planet. Okay. Delta coming down. Okay. Market pulse. This is a tool that is available in book map. Now you guys know I'm not a fan of indicators. But and the reason I'm not has nothing to do with the indicator. It has to do with how retail traders use them. And if retail traders could understand how the market works, they could use indicators. But most retail traders are using indicators and thinking that's what defines how the market works. So I'm just going to suggest maybe not just an opinion. So this is our liquidity. Market's coming down. Notice the liquidity in the book. Now here's what's happening. I'm going to show you this. Market is short. There's your CVD. Now I don't need CVD. There's a down leg. You don't either. But I'm going to just show you some of the tools in book map. And by the way, there's a lot of tools in book map. I'm a minimalist. So for me, less is more. But it does. And it's a matter of finding what resonates with you. It's like with any toolbox, there's things in here you're going to go, that's really great, but I don't need it. And there's other things in here you go, wow, that's really great. I'm going to figure out how to use it. And there's a lot of training of course and ongoing education in book map to help you with that. So this is showing me here, this is the volume pressure imbalance. So basically it's showing me that we are at an extreme of behavior. And this works like your oscillator, you know, okay. This is a showing me a stop sweep. So they're sweeping the book. All this is happening here. Heavy sell volume coming down. Now this is not something I typically go over in the trader lab. But you know, the trader lab, we have, it's a community of like minded traders. And our senior trader has about 54 years experience. I'm going on 44 years.  And there's not one way to trade. You see this, there's not a right way to trade. But I think for retail traders, there's probably more ways that don't work than do. And if you're, if you're experiencing Groundhog Day or Trader Groundhog Day, you're having that experience, there's a reason. So here's our liquidity. Here's our excess selling. Here I see a buyer. Here I've got excess and I've got my market short. I have the conditions for potential reversal. Now let's take a look. Now I'm not any good at picking the bottom of anything. I'm, that's not my thing. I gave up on that a long time ago. I don't know. Let somebody else be first in, you know, but let's look. Now I'm going to take you into microstructure. I'm just going to show this to you and you can decide whether or not it's something that's interesting to you. And I am going to get into real time. Don't worry. By real time, I mean RTH because there wasn't much to do in RTH. All we did in Trader Lab is get long. And you'll see where, and you'll see that the structured trades over 20, 20 point move that we took advantage of in the Trader Lab for those who have a better trade plan and an edge. But I wanted to show you this. So here's what's going on. Heavy sell volume. I see buy volume. I see an iceberg. I see a stop sweep. I see excess in my market pulse, which is up here. And so I know I'm potentially in an area. I see the watch, the liquidity coming up in the order book. All right. So now I want to see the behavior. Now I can't get in. I don't pick the bottom. It's just not my thing. I figure somebody else deserved the prize. I want to find a pullback to get long. So let's see if we get one. Liquidity. We pull back. You'll notice we take, we test this low. So I'm going, I don't know. Right here, you'll see volume. We break high. This is the first indication of a potential long. Right here, I'm going to open this up. I'm going to show you a microstructure. And I want to do this. So when we get into the RTH, you'll be able to recognize something. You remember I said too high, too low retail? Where's too low? Well, right here, you'll see volume there, that little node. That's like your retail price in the store. I'm not paying that. Yeah, but it's on sale. Okay. So there's my volume. Now what happens here? Is this price too low or is it too high? That's what we don't know. So right here, I break high. Okay. This retail price might underline be too low. My next thing I have to have happen is come back and check this. And if it's too low, it sets up a long. If I come back and check it and I don't reverse from it, then it says not ripe yet. Let's look. So right here, I'm looking for it to do this and this. What does it do? It goes lower. Okay. So that's a buy trigger that did, in other words, it's a buy trigger or a suspect and no good. So we come down, we come into this liquidity. So now I'm watching again. And I don't know. So let's just see what happens here. Here's my volume, break low, same volume, same issue. It has to clear this volume, which it didn't do here. What does it do here? It breaks high. What does it do now? It pulls back to the volume. This is a structured trigger. And don't forget, I have this. I have this. I had exhaustion here, excess of selling. So these guys might get caught. I get more selling here. I have not going on down here. And I see my buyer. So I have a potential trigger. Trader lab, you should screenshot this. Now watch two possibilities. Where's my outside edge? 34. Remember, too high, too low. Well, this is an outside edge, 34. So I need to clear this to go higher. So let's watch it. Notice the pullback here, potential long to 34 to get these stops out. I'm just showing you the trade. Okay, 34. Your stop could go under here. Or if you micromanage, your stop would be here and you'd get taken out.  So now let's watch RTH open. Now I'm going to show you, so that's before the RTH open. That's along in the trader lab, if it's part of your plan. Now I'm going to show you the RTH open. Let's assume you're asleep getting your coffee, which most of us might be. I don't know. Now let's go look at the RTH open. So we know, what do we know? You would know if you're in trader lab that we had buyers down here. You would know that this liquidity is still in the book. You know this is the ETH low. That's what you know. Other than that, you don't know. So let's go try to see where the first opportunity is to get long in the trader lab. Now I'm sharing structured trades. So these are just trades that you can, if you were in trader lab, you could vet and reverse engineer. And the thing about trading and most retail traders are waiting for an indicator or something across and then they do something. In trader lab, we know what we're going to do before the market opens. We don't know what we're going to do in the sense of how it manifests itself. But we anticipate the trades. Then when the conditions show up that match the qualifications for the trade, then we act accordingly and the outcome is random. By the way, where's our target? Let's come back. I haven't even gotten to the open yet. Where might we go? Where to go? Overnight volume point of control. I don't know where it is. Guys, what's the overnight volume point of control? Because that's going to be our target. Let me find it. This, this is the target for the longs right here. So we're opening here. So in the trader lab, you'd be looking to get long somewhere. We don't know yet. I'm going to show you to go here. That's the trade. That's why I don't have a lot to show you today. Now, there is more to show you. But you know, this is what having a trade plan is about. And it's not up to us as far as what the range is. But because we took this Alcapoco cliff dive, it sets up really a nice opportunity. And again, it's all random. I'm trying to get here so I can open it up so you could see it. Okay. Let me just move this up a little bit and I'll try to show you how we did this. Now remember 34, right? This was our obstacle. We hit this. That's that low volume node. We rotated down, held the liquidity, came up. And now on the open, if we get above here, it opens the door to sequentially move through these distributions or buying and selling structures or consolidations depending what term you want to use for. So this is the open RTH open right here. Let me just try to get this. So RTH open. This yellow line is called developing volume point of control. This resets at RTH open session volume profile. All it shows is price and volume. This resets at RTH open. It only shows me what is going to be on the screen from here on. So if I scroll in and out, I'll be able to see more minutiae and more micro. And right here, you can see there's a little high volume down here. There's high volume. So what this is saying at the moment is, don't forget we have a long, right? So but if you didn't take that, we're looking for a long here. So what we know is the high volume is here and we're leaving it. That might be saying if you're a shopper, remember, trading is shopping. This might be too low. And now you can't buy it here. Now I don't know. There's my buyers. So now I'm looking to see I'm looking for a trader lab structure trade. This is called VPOC migration. This is suggesting possibly this is too low. I'm going to label it. I call it a variable high volume. No, just follow processor. So what I'm doing is I'm just narrating the market. I don't have any indicators that I trade with. Now this is here and you'll see what this is all about. But I don't use these for trading, but they can be useful. And I do like to share them. The market pulse. Watch too low VPOC migration. Now I label this. What is it saying? Let's speak market, not indicator, market. Now remember, the outcome of any trade is random. We know that you, if you don't know it, you should know it because it's not predictable. You're not responsible for the outcome of the trade. You are responsible to follow a vetted structure trade plan and then understand that the business is based on statistics and randomness, just the way the same way the casinos operate. It's not about predicting.  That might not be a viable plan if you want to be a trader. By the way, we all have opinions, but they have no place in trading because what is our opinion worth in trading anyway? So too low. This is called VPOC migration. So this is along in the trader lab, right here or here. Your stop would go under here or under this right here, this outside. So it's a very tight stop and the goal in the trader lab is to get risk neutral. So let's go see what happens with this loan. Everybody takes stops, by the way. So let's follow the yellow brick road. Too low. We're shopping, remember? Too low, it moves it up. This is the new retail price. Buyers are still buying it. As the volume is increasing, the yellow line is moving.  Too low, price is going higher, too low. Where do we come back? We check it. Where do we come back? We check it. What's it saying? This is speaking. This is a language. It's saying too low, too low, too low. Now, at some point, it's going to be too high. And unfortunately for all of us, we don't know where that is, except here. What have you been seeing? Up, up. And we want to see what? Up. What do we see? And I have the book, but you know, here. Down. Is this too high? Right here. Let's look at the change in behavior. Too high. Look at the change. This is very key to understand auction market theory, because all we're doing is shopping for us in peace. Too low, retail. What do I need to see? That. What do I see? Opposite. And I break below this. This is your warning Will Robinson moment. This is now too high. It's the shopping experience. I come back to it. Is it really too high? Opposite of this, you see? We don't get above it. Hasta la vista. We'll see you later. Thanks for playing. We'll send you a parting gift. See the change? Is everybody tracking? I'm going through this because I want you to understand how to read and narrate the market. PMB, the 4917 was a target. Not for me, but this way. 4917. I'm getting a question about a high 4917 is a high volume price in a higher time frame here. Okay. Is this a target? Could have been. But for me, the trend is up. We had a big reversal yesterday through everybody under the bus. So I look at that and I'm saying is after we throw the week longs out, we did not take out yesterday's low. Let's look. Where's yesterday's low? I mean, here it is. Yesterday's low is down here. I opened in range. It could do anything, right? But I had my buyer in the ETH. So I'm long from the ETH. I mean, if I had my seller in the ETH, I'd be short. But, you know, so this is the first long and you'd get taken out of it. You'd be out of it here. So now let's label this. This is too high. So for me, I'm only on longs. And this is, I think we were, I think I posted this in TraderLab. I don't remember. Posted the targets, I know that. I can't remember because I don't remember. So let's look up here. Here's another little piece. Buy Delta. And again, I'm not an indicator person. This is market pulse. I know the market's long now and we're squeezing the shorts. I know we get new longs at the open, including TraderLab or me. And I know it can do anything. So I'm not concerned about any of this because I have no control. I know right here, I might get sellers somewhere. Don't know, right? So this is my market pulse and this is my CVD. So right here, I'm seeing divergence, if you will. And I'm seeing structurally that I'm no longer going up them. I flip the other side. And if I don't clear this, it's a short or you go into park. This is where a trade plan comes in. You would either sell it. So right here, the market gets too high, retail price too high. Market pulse is giving us indications potentially of excess. Look at this volume here. So I have my buyers. I have my volume and now I don't have my volume. My volume point of control, I break below it saying too high for just reading market mechanics. Come back and check it. Is this really too high?  This shifts down saying too high and off we go. So now we go down to somewhere and nobody knows as part of the joy. So now a couple possibilities. If you took the long in the TraderLab, you'd get taken out of your long. You would be risk neutral or if you didn't get risk neutral, you would take a stop or you would get short here. It's all subject to your trade plan. For me, I want to be on the buy side, but that doesn't mean anything because it's about your trade plan has nothing to do with mine. It's timeframe. So in other words, you could be long from the ETH, get out here, get short here, ride this down and thinking that that was just short covering. In other words, a response of buying to the gap, the lower open. It wasn't a gap, I'm sorry, to the lower open. However, for me, not so much. So I look at this and I'm gone, how do I get long? You're asking, how would we get long if you're in the TraderLab? Here's how you would do it. And again, this is one of the structured trades that are available in the TraderLab. So, okay, bring the monkeys back to Chicago. Yeah, I think I will. They probably wouldn't be crazy about it. So this is microstructure right there. That's a retail price in a fractal. I'm going to show you what it looks like. Just so you could see how, remember, Russian dolls. So let's just look at what it looks like. Now, we don't know. So you don't understand. When these behaviors take place, I can't predict anything. I know nothing. But only after the fact am I going to know, just like you, I can't predict, but I can read it. So this is where the chart volume profile comes in. So as this is coming down, and I don't know, but let's look at this. Let's look here. Too high, break low, test the volume. Now I'm in micro. I'm just showing you mechanics. This is retail, the yellow line. This is micro up here. Seller, uh-oh, maybe too high. I come back and check this. So you understand this is developing timeframe. This is also, but it's smaller timeframe, shorter. So I call that a fractal. It's not time-based. It's behavior. So chop-chop is an auction. Too low, too high, leave the store. But you like to shop here. You come back and check the volume. Too high, as the la vista. Now in the next developing timeframe, we come back to this volume. Is that too high? Yes. Leave the store. Now what? These are shorts, if that's in your plan. Now, down. So let's look at the microstructure. Too high, volume, seller, retrace. Too high, volume, seller, retrace. To the volume. Too high. This is why I don't need any indicators. Sellers. The volume is here. Here's the volume. Break. Too high. So going down, down, down. It's all wonderful, right? Okay. Going to zero. Now what happens here? There's the volume. You could see it right there. This is a little consolidation. That's all this is. And it's a rotation. There's the volume. So now I see that. And what do I want to see happen if I'm short? I want to see it not come back up past here. So if it rotates, I want it to get under here again and go down. So let's watch. What do I see? Too low. Look at the buyer. This might be too low. So let's, we don't know. Watch. Now this is still not along for me because we only might come back here and then continue down. What this is potentially is a trade management because this is a trigger. This is a long trigger. But if you think the trend is down at this point, you wouldn't get long, would you? But you might use a trigger for trade management. And I say might because it's subject to your trade plan. So let's watch. Remember, too low, right? Watch. So the volume is here and here. Here and there. Okay. I have my buyer. Now it's like, okay, now what? This is too low. Let me just get this back in here. So right here, we come across. This was too low, right? Down here was too low. I break. Now when I come back here, no clue. I come back here. If it comes here and rejects it, I'm taking a long to there. It doesn't get quite back far enough. So for me, nothing to do. But I see my buyer. I get my stops above the opening swing. This is important. I now pull back. So these guys are selling after the stops are taken. Now, where does it come? Here. Here. Notice the location. Hold on. I'm missing something here. One second. I just make sure everything is working. Okay. Sorry, guys. Had to check something. So this is a potential long or not yet. There's more opportunity. Let's look.  Maybe. Run into liquidity. This, it becomes a microstructure. There's the high volume. No way to know. And it becomes a short. Now it's not a short for me because I want to get long. So I see this and I'm going, oh, that's wonderful. Where is my locations? Here, here, and here. So let's watch. There. VPOC migration. Remember, we were coming down to VPOC migrations. Now it's the opposite. The long early was the same trade. It was migrating, migrating until it failed. What to do here? VPOC migration. What do we test this? This is a long in the trader lab. And where are we trying to go? Here. Let's look. Maybe. Just watch the trade. Where do we come? Let's look again. Long in the trader lab. You could be long here. You could be long here. Your stop is under this. Why? Too low. You can't buy it here anymore. Now, maybe, maybe the whole thing will fail. That's what protective stops are for, right? So let's watch. What happens here? See if you can follow the yellow brick road. So too low. VPOC migration. Trader lab long. VPOC migration. Trader lab long. Long, long, long, long, wherever it was over here somewhere, long. You get the idea, right? And now we're going for initially that and then that. Yesterday's high and there's targets above. Let me show you the targets above. I don't have much to show you today because that's all I got. And this, 75, I posted this in the lab. We had about 500 contracts or so sitting here. There you go, 600. And there's more targets above and market never has to go there. This. So 505, 50 even. Possible. Not a recommendation. That's all I've got in the sense of the trades so far. And I haven't seen this stuff, so I don't know what's going on here. Oh, there we are. That's a real time. Okay. Well, let's look. And if you have questions, please post them. I'll take a peek. I'm going to show you another trade. As long as we're here hanging out. Actually, I might have missed one here. I want to show you. So put your question, post your questions. And remember, if I drop out, it's the monkeys down here in Costa Rica, and it'll take me about three to five minutes to recycle. Let me just look. I don't think we had an IB continuation trade. Did we guys in TraderLab? I don't see it. Did we? I behind. It's here. Pullback. VWOP. Yeah. Okay. You know, what's interesting about this is this pullback to VWOP and the VPOC migration is also along because we have a VWOP to VPOP trade. This is called the volume point of control. It was retail in the ETA. So you could have used this, but this is VPOC migration. This is also along. So you have combination of things right here. Also, at 930 central time is something called the IB60. It's the first hour high, which is right there. We break out of the first hour high that we have something called the IB continuation trade. That's also along. So right here. Let me see if I can open it up so we can see if that was doable. Yes. So this is all migrating up. Everything's looking good, Louis. We break out of the first hour high, which is this yellow right under the full session VWOP.  This is along in the TraderLab. And you're still going for this. Okay. So this is an add if it's in your trade plan. Remember two lock configuration and you're still going for this.  The market tends has a tendency underlying tendency, not guaranteed to return and check these disruptions. Also, it was the overnight volume point of control, which was retail in the ETH. The thing to understand about the auction is the job of the auction is to take what's known participant behavior and put it together and figure out what's a fair price. When a new input comes into the market, Fed Speaker report, you know, something extraneous tweet, it can disrupt the perception of value that we NFP report disrupted the perception of value. But what we know is the market often in past performance, not necessarily addicted to results comes back to be sure. Is this really too high? It's the same concept of this. Is this really too low? Is this really too low? Is this really too low? Retail, retail. This is the same thing. It's just hanging out there, just like this is hanging out there. That's a target. Same thing. So, and yesterday's high is a target. So at this point, you could be done. Now, I also have 75. Why? They're hanging out there to liquidity. This is how order flow can help you. So what do you do if you're in trader lab? You take your trade off at overnight volume point in control because it's part of your plan. You trail a stop. You go or you go for yesterday's high or you're going for this. How do you get this, this and this? If you only have one lot runner, you're following a process of trade management or you're flat. Now, that's a great trade and that makes you weak, doesn't it? And it's only one. So what did we have here? We had two potential trades, I believe. Not much other than the ads. Do you guys see this? Does this make sense to you? Let's go take a look at this, by the way. We're going to look at something, right? Let's watch this right here. Let's just see if it rolls up from here or what it does. This is the primary target coming up. Okay. And now this, you could be done here or you're managing the trade you get taken out subject to the timeframe or fractal you want to manage. This is your consolidation, this thing. Too low, too high retail. If we fall out from here, it does the same thing here. And the thing is you don't know. I mean, this is the joy of the mystery. There's your retail. So when this was rotating up here, the stops, let me take you back so you could see it. I want you to see it. As the volume comes in, I can see it here. So there's your high volume right there. So chop, chop. If I fall out, then this is too high and then I can fall to wherever. Nobody knows where. Well, I have this and then I'm going to have this is a low volume area. So there's stops under here. So let's just watch it. I come outside. So now to get higher, I've got to clear this volume, which is there. And I've got to clear this volume, which is here. Let's watch. I get to that volume here to go higher. I got to clear it. So let's see what it does. See the behavior at the volume. This is how auction market theory might help you. We can't predict what'll happen. What we can do is we can understand what might happen. And there's a saying in the trader lab, you got to anticipate to participate. And that really means you really need to understand what might happen, not what will happen, because we can't predict. Remember, the model we use is gaming theory, casinos. Casinos, the dealer deals the cards, they're random and the gamblers play the cards randomly. Who knows? The difference between what we do and what the casinos do is the casinos, their games are like our setups. Their games are vetted. They know they have a statistical edge and they only play the games with the edge and they don't change the games. And in honor of today being Groundhog Day, Trader Groundhog Day are traders tuning and tweaking and curve fitting. That's the casinos don't do that. If somebody walks out with cash, the casinos don't change the game because it's not broken. Traders are constantly trying to fix something that might be broken. And what's broken is the process because they're not using anchored inputs. And I covered this in my primer webinar and you guys are all welcome to see it and see if I can find a link for it somewhere. I don't have it handy. Maybe I can find it here for you and you can watch this. I'm going to put it in the YouTube chat. And I think of all the things you're going to look at, you should be looking at this. Let me put it in here. And I suggest all you guys watch this. It's about an hour long. It's got about 27,000 views. It's a primer webinar and it'll give you insight as far as this process, the overview of the process and then circles arrow screenshots of the mechanics and also the business of trading. I'm not a vendor, you know, so there's no course. I've just been doing it longer than most of you. So I've had more opportunity to spend more time experiencing Trader Groundhog Day which is tweaking, tuning, curve fitting, more time frames, less time frames, different types of bars, you know, tick charts, range bars, candles, whatever, pick it, you know, measured moves, Fibonacci, Elliott wave, GAN. I don't even remember so much. But the thing about it is they're all derivative of the same process and as Traders since those processes are not context sensitive, that's where things break down for us because we think it's just indicator and it's not. It is much more than that. This is the hard part. This is the part that Traders are trying to pick a condition and then use their indicators and overlay indicators for that big trend move. Well, the market isn't trending most of the time. Most of the time, the market will have a move and then we'll go into rotational trade. In the Trader Lab, we have different trade plans for different conditions and the market changes condition during the day. So if you understand that, you would know that when the market's trending, you can operate from the inside out. In other words, counter rotations or opportunities to get in alignment with the trend. When the market stops trending and then gets rotational, that's a different trade. You're not operating on the inside. You're operating only on the outside back in. It's called mean reversion. If you find yourself always wondering why you're having a problem, besides the normal reasons, the psychology and the fear and trying to create certainty, which by the way doesn't exist in our business, in my opinion, that's why. You can learn these ideas in the Trader Lab. The Trader Lab is a community of like-minded traders. Basically, it's about understanding how the market works. I don't know what just happened here, but this might be a problem. Hold on. You're all welcome to learn more about this. I'm going to go back now to real time and let's narrate and see if we can recognize market structure. Still chugging along, right? Let's look. Well, kind of nice, don't you think? Our next target is this, not a recommendation, but that's based on the same concepts that I'm sharing with you in a shorter time frame, because the market is fractal. It operates. It's like those Russian dolls. We're operating inside a higher time frame. We can get down into subatomic level pretty much using this process. I can look here and I can recognize the same rotational behavior. This is a consolidation. Here's your high volume. Let's go over here before my data dropped out, but let's go take a look at this. This might be off a little bit because of the hole in the data, but I think you'll be able to see the concept. So, chop, chop, chop, chop. There's your volume. Is it too high or too low? I leave it. You can't buy an S&P here now at the moment. I leave it. Now, what does the market tend to do? It tends to come back and check areas. So, this is a return to this area. So, what do I know? I know in the micro, this is too high, chop, chop, chop, fell away, and I know what the trend being up. I'm most interested in these. I can't pick the high. I certainly might want to get long. I'm outside of yesterday's range, all right, and I have a target up above. Why wouldn't I think about it? Because if I know I don't know, then maybe I want to be looking at this volume here as a possible area to observe for continuation long. But what do I know about this, right? I hadn't seen this, but let's look at this. So, too low, too low, volume. We test this, too low, move away, volume. I move away, too low. What happens here? I break low. What do I test? Let's look at microstructure. This volume, it's too high. I break low. What do I test? I'm back to this volume. Where is it? This. There's my test. So, I come back. I can narrate this. Now, the other part of it is where do I interact? So, if I can narrate, I can go, well, this is too high. I can anticipate a counter rotation. Subject to my timeframe, again, and trade plan, I can be out, or I'm not taking a short counter trend, not my thing. If I see a counter trend trade, and I don't know where the high of the day is, you know, not my skill set, then I'm going to be looking to get long for continuation to a target, which is up at 50-ish there. So, that's my trade. Now, if I take stops, I take stops. I hope you don't think that we don't take stops because that's part of the joy. I wish I had this little data here. But basically, what you saw, the buyer, you see the pullback and attest to the volume over here. You see the buyer. You see the buyer. Let's try to open this up. I wish I didn't have the hole in the data. So, it's kind of hard for me to tell what happened over here. But you can kind of see the liquidity is following up. Okay. This is a potential long or not if it's in your trade plan. You're buying against this volume. There's your buyer. Your resistance is this. The way I tend to do this is if I get in here, I'm looking at what was too high.  That's typically the way I do it. Yeah, Costello. Yeah, the main target was the overnight VPOC because of what it represented, and that's where the disruption to the auction took place. But if you're running just a two-lot, you could be done there. If you get a counter-rotations and you get structured trades, you can go for continuation trades. That's pretty much us. Hope that answers your question. So, you could be done here, and I don't have a problem, but that's over a 20-point trade. That's a good day. Trying to go for more, you can. I mean, this is statistically a high probability. This is a high probability. And these are based on statistics. So, this right here, these are good targets. The fact that it went here, there's no way to know that. Let's go take a look at what's going on here. I don't have anything here. There's just nothing here for me, because I don't know where the high of the day is, but this looks like a fair amount of selling coming in. So, there's nothing here for me, and that doesn't mean it might not be for you. For me, I just take the trade, manage the trade, trade the targets, and whatever happens happens, and that's it onto the next trade. Okay, now let's watch. That's a real good selling. Are you guys tracking? Do you have any questions? I want to watch this behavior in here, and you want to watch this right here. This area, you want to watch for potential short, and it's not a trade recommendation. I'm not suggesting to get short either. I'm saying I'm looking for behavior this area. Let's watch it, see what happens. Nothing doing here. So, we got to watch this area right here. Let's just watch this. Very interesting right here. So, this has to clear this to go up. Now, I'm not in the short camp, but I want to see the behavior here. So, for me, there's no trade here. I'm observing this, but it is not a structured trade that is in the trader lab. So, let's observe it. So, for me, and this is not a recommendation, but for what I do in the trader lab, the trade is done. The long is done. I don't have a short. I have nothing. So, there's no structured trade here. There might be one, but at the moment there isn't. I want to see the behavior here, right here for potential. Now, I'm saying a potential short, but it's based on, it's not a structured trade, something else. We'll just take a look at it. Let's watch the potential behavior of the short, and it's not a recommendation. This is something I don't go over in trader lab. This is outside of the structured trades that I discuss, this entry here, but I thought I would just drop a little something in since it's trader groundhog day to day, that we are celebrating all the traders that are curve fitting and using indicators. Hoping that they understand that they are doing what gamblers do in the casinos and that the casinos don't do that. Gaming theory is what trading is. The problem we have, and I know my problem was you win. You would say, why is that a problem? Well, because you're always going to be trying to get better and get more wins, but what you're doing is you're always kind of behind the market because you're looking at the past to try to get to the future. And the thing about it is you can't do that unless you have an anchored input the same way the casinos have games that are anchored. That's that primer webinar that I put the link up in YouTube. And if you haven't watched it, invest an hour in your, if you're interested in a career in trading. I mean, I know we think we're traders, I get it, but we're gamblers. And you may say, well, the casinos are gambling establishments. Yeah, but there's two sides of the table. The gamblers sit on one and the house sits with the dealer on the other. And it's a random environment except the games that are played or the setups that are structured setups like we do in the trader lab, even though the outcome is random, they're anchored. That's differentiator and it's huge used to be an old saying in the computer world.  And the problem we have with random inputs is it's actually garbage. And the nature of it is because of randomness, randomness times randomness equals chaos. So this is don't forget, this is just a short rotation. And this could come back to here. So, you know, this is almost like a scalp. Not bad though, huh? Separate separate thing, not part of trader lab. I just thought I'd bring it up. Since we don't have it, I don't have any structure trades in here that are trader lab trades. And I don't consider that a problem considering that we got long at 30, whatever it was 3435. And, you know, this was the primary target. I mean, with a two lot, you could be running to this. I think that's a good day for a two lot. Do we have any questions? Any final questions? I only got a couple of minutes. Appreciate your patience with the technology. I do, I have to tell you, I really think Coaster gets a great place to visit. But infrastructure can be a little slippery. Yeah, Costello, he's asking about a book. Here's a great book. If you haven't read it, The Best Loser Woods by Tom Hulgaard. Yeah, I do recommend it. It'll give everybody a perspective on what retail traders, where retail traders are in the financial food chain. And I'm going to tell you, we're not at the top of it. We're at the bottom, in my opinion. And the unrealistic expectations that retail traders have. And a lot of that has to do with not understanding market mechanics, how the market works, why it does what it does, and not understanding this is gaming. Yeah, hi, Mark. Yeah, it's a great book, Costello, The Best Loser Wins. He's a European bank. I think he was on a bank desk. I can't remember anymore. But, you know, he talked about the fallacy of retail traders. And, you know, overnight, according to him and mostly the industry statistics, over 90% lose and are out of the business. And I want every retail trader that hears this to ask themselves, why is that happening? If you all have the same tools and you get the best toolbox and the biggest monitor and the fastest computer, why are retail traders failing at that rate? And then what are you doing that's different than the other retail traders that's walked in your shoes before you, who have failed? What are you doing differently? And I would suggest, and of course, past performance, not in the future results, that you ask yourself, are you doing anything different than them? Did they believe the same things you believe, right? And did they work really hard at trying to sort it out yet they didn't succeed? That's trade or groundhog day. And you might want to ponder that over the weekend and think about it. Think about what you're doing. And are you tweaking, tuning, adjusting, adding, subtracting? What are you doing? That's really what it's all about. Yeah, I'm sorry. Yes, I can't open it. I cannot open a gold chart. I don't watch gold. But the process here is the same. This is NQ. More volatility, same process.  I traded it for years, but ES has enough volatility. And for the trader lab, because you don't get the slippage, typically in ES, it's a better market because of its depth. You get into markets like gold or platinum. I don't know if anybody even trades it anymore. Palladium, you know, thin markets, you can have a problem. NQ is one of them all. So you could have a problem. There's no, there's no, nothing in the book. So the book gets swept and you get filled when they get around to it. So it was a joke down on the floor about the NQ. So that's just something to keep in mind. ES has is the most depth. So when something, when you get your stop hit, and of course, anything can happen in certain market conditions doesn't matter, you know, anything can happen. That's why in the risk disclosure, it says, you know, stops may not protect you and they may not. I traded through the 87 crash, the, I mean, traded through Desert Storm. I can't remember. I think the Mexican peso, I can't remember anymore, the hunt silver crisis. I've seen things that just make your jaw drop because it seems like it can't happen. You always have to assume it can. And there's outliers and they do happen. I traded through 911. I was actually long in the glowbacks when the planes went into the Twin Towers. There's a lot of stories I can tell you. What I need to tell you and always share with you is you got to manage risk and you can't assume anything in this business. That's what futures trading is. The link icon, thanks for visiting the trader lab. There's a pin at the top of the trader lab in the bookmap discard trader lab chat. And in there, you'll find all the resources, statistics, a library of webinars, some of the four hours long of real time narration. Now you can see in this why, why short is not on the plan from a structured trade. I'm not saying I have no judgment by the way. I just know that what I share in the trader lab might be useful for developing traders to learn how to create trade plans and to vet them and to find out where a statistical edge might lie and then to anticipate the trades before they show up. And then when they show up because everyone's done the work, then it's just a random distribution of outcomes. It's nothing more than that. So if you're in the trader lab, you would have a trade. Where was it? Test of yesterday's high. What's the next test? This. If we clear that, what's the next target? This. I have no short. I could just sit here and do nothing, but I don't have a short. So that's, and that's the levels based on auction market theory. It's a matter of kind of choosing your poison, you know. It's all time frame related. So if you want to sell this, you can sell this. You could sell this and buy this. I find it's easier for me mentally just to be a buyer on a day like today and let somebody else sell so I can buy. And everybody can have opportunity and risk. It's just a matter of how that works.  We had a selling rotation. Where did we come? There. What was that? Retail price in the ETH and yesterday's high. If this is still too low and we check it from above, what might be the next level to check? There and there. Not a trade recommendation. We'll see how it plays out. Thanks everybody for visiting the Trader Lab. I appreciate you putting up with the monkey swinging on the vine down here in Costa Rica. Thank you Bookmap Support for backing up and helping getting things rolling again. If you got something out of this, please give a thumb up in YouTube. It's helpful for the stream. If you're interested, there's a link in YouTube and also in the Bookmap Discord Trader Lab on the primer webinar. I will post it again. Maybe if I can get my hands on it, maybe not. Maybe not. You guys can take a look at that. You might find it useful. There's also a library of webinars on this process in many different configurations and timeframes and different conditions. Also, as far as conditions, when they transition from directional to rotational, you might want to know what that means and then what trade plan might be appropriate. I just posted a link in YouTube. Thanks again, everybody, for visiting the Trader Lab. Appreciate your support and you visiting today. Look forward to seeing you next week. And remember, it's Groundhog Day today. If you are a trader, celebrating Trader Groundhog Day might not be a good celebration. It might be a time to think about what you're doing. If you're waking up doing the same process, you might be trying to fix a random process versus how the casinos operate with anchored processes. Watch the primer webinar. It might give you a somewhat of an understanding of what this was all about. Thanks, everyone. Thanks for visiting again. Look forward to seeing you soon.