GPT: Trading Strategy in Python makes 805% (+ Monte Carlo simulation results) — Transcript
Full transcript
- 0:00Hey guys, it's so today I'm going to
- 0:01show you a swing trading strategy that
- 0:04not only produces good results in a back
- 0:06test, but it also has one of the best
- 0:08Monte Carlo simulations results that
- 0:10I've ever seen. As always, first I will
- 0:12show you the entry and exit rules of the
- 0:14strategy on Trading View. And then we
- 0:16will feed those rules into GPT to
- 0:19convert into Python code so we can run
- 0:21some actual back test on them. And
- 0:23before I continue, I got to say I am not
- 0:25a financial adviser. This is a tutorial
- 0:27and you should always do your own
- 0:29research before trading. So with that
- 0:30out of the way, let's get right into the
- 0:32video. Now firstly, we want to ensure
- 0:35this is a trending market. For that, the
- 0:37best indicator that I always use is the
- 0:39ADX. So let's add it to our chart.
- 0:42Now we need the threshold of this to be
- 0:4443. So let's add it here. So you see, I
- 0:48only want to take trades if the value of
- 0:50the ADX is above the threshold, like in
- 0:52here. Now, by the way, the time frame of
- 0:53the strategy is also the 4 hours. So,
- 0:56make sure you set your chart to this.
- 0:58Next, we want to make sure it is an
- 1:00uptrend or a downtrend and take a trade
- 1:02according to that. For that, we're going
- 1:04to simply use three moving average
- 1:06lines. So, let's look up EMA and add it
- 1:09three times to my chart. And then, we're
- 1:12going to change the periods. First,
- 1:14instead of nine, let's use 30. Next, I'm
- 1:18going to edit this to 46. And next I'm
- 1:23going to increase it to 80. Now also
- 1:27let's change the style of this to be
- 1:29more clear. So let's make this a little
- 1:31bit thicker. All right. So you see I
- 1:33want to take a trade when the order of
- 1:35lines is like this. I want the blue line
- 1:37which is the fastest email line to be
- 1:40above the one that is slow. And both of
- 1:42them must be above the slowest one which
- 1:44is also the thickest one here. Now again
- 1:46the periods of 30, 46 and 80. And we
- 1:50also want the ADX to be evolved with
- 1:51threshold. So this would have been a
- 1:53valid trade for example. So you could
- 1:55say this is a slow taking strategies
- 1:57kind of similar to the turtle strategy
- 2:00if you've heard about it. So we're not
- 2:02going to be early in the trend. But
- 2:04because this is a swing trading
- 2:05strategy, we don't really care about
- 2:07that because as long as we can catch a
- 2:09trend, that's good enough for us. So
- 2:11this would have also been a valid trade.
- 2:14So would have been this. So you see in
- 2:16this entire trend we would have taken
- 2:17two trades which is really good and
- 2:20that's it really that's all the interior
- 2:21rules that is to it and now let's talk
- 2:23about how to exit the trade. So first
- 2:25let's remove this. Now for that I'm
- 2:27going to use the ATR indicator which is
- 2:30one of my most favorites. So basically
- 2:32this will give us an average number of
- 2:35how much the price is changing on each
- 2:38candle. So for example, if we had opened
- 2:40the trade let's say here or here or
- 2:42whatever this value here which is by the
- 2:44way an absolute value. So in this point
- 2:47it would have been 939.1
- 2:50right? So let's zoom in a little bit. So
- 2:53we want to set the stop loss below let's
- 2:56say this value but not just by one let's
- 2:58say multiply it by a value such as I
- 3:00don't know like three or two. So that
- 3:02would have been for example in here and
- 3:04then take profit would have been let's
- 3:06say here right? So this is how we would
- 3:09have set it. So the ATR you want to
- 3:11multiply it by a certain number and then
- 3:14add or subtract it from our entry price.
- 3:16Now once you write the code it will
- 3:18become more clear for you if it's not
- 3:20already. Now because this strategy is
- 3:22not taking that many trades I want to
- 3:24actually risk a little bit more. So I'm
- 3:26okay with risking 5% for each trade and
- 3:29that is 5% of my capital. Right? So it
- 3:32doesn't matter how many percentage it is
- 3:34from our entry to our stop loss. Okay.
- 3:37So what we care about is 5% of our
- 3:39capital. And for example, if I were to
- 3:41open a long position here and I wanted
- 3:43to risk 5% of my capital because you see
- 3:46the distance between here until here is
- 3:49actually less than 5%. That means that
- 3:52we would have had to use leverage in
- 3:55order to accomplish that. So unlike what
- 3:56people think about leverage, which is
- 3:58you know you are always risking more and
- 4:00it's always risky and dangerous, that's
- 4:03not really the case. like sometimes it
- 4:04could actually be used in a limited way
- 4:08and that is really helpful. All right.
- 4:09So now that we have both the entry and
- 4:11exit rules of the strategy, we can feed
- 4:14those into GPT to give us some Python
- 4:17code so we can run some back test on it.
- 4:19Now to do that you have two options. The
- 4:20first one is to use the cloud version
- 4:21that I made myself. It is basically the
- 4:23same GPT with custom models such as
- 4:25cloth on it, GPD5 or whatever, but with
- 4:29some custom instructions that I fed it
- 4:31specifically for Algo trading in Python.
- 4:33Or if you want to self host this thing
- 4:34yourself to use your own API keys if you
- 4:37have some privacy concerns or whatever,
- 4:39you can check out my channel and watch
- 4:41this video where I show you how to do
- 4:43exactly that. So again, you don't have
- 4:46to use the cloud version that I'm going
- 4:47to do, but it's going to be easy for me.
- 4:50So that's the one that I'm going to
- 4:51stick with. Now, as for the model, I
- 4:53have picked GPT5 mini, which is also the
- 4:55cheapest one, and you can get started
- 4:57with it absolutely for free. So, that's
- 4:59the one I'm going to use. Let's paste in
- 5:02the prompt. All right. So, write a trend
- 5:03strategy with these rules. Go long when
- 5:06you have an uptrend and the ADX is above
- 5:0843. For the trend, use three EMAs. A 30
- 5:11period EMA is 46 period and 80. The
- 5:15trend is up when the 30 EMA is above the
- 5:1746, which is above 80. And the current
- 5:20price is above all of them. Enter at
- 5:22price market risk 5% of account per
- 5:24trade. Set the stop loss at the
- 5:26enterprise minus 1.8 times the ATR value
- 5:29for take profit. Use the enterprise plus
- 5:313.3 times the ATR value. So you see when
- 5:34I win, I'm going to win bigger than when
- 5:36I loot. So even if the win rate of the
- 5:39strategy is going to be like 40% or 45%,
- 5:42I'm still going to sit at a win. So I
- 5:45don't need to win all the time. So,
- 5:46that's one of the good things about a
- 5:48strategy where your wins are going to be
- 5:51bigger than your losses. And for short
- 5:53positions, do the opposite. That's it.
- 5:55Very simple. Let's hit enter. All right.
- 5:57So, it gave us the code. Let's copy the
- 5:59name of it. Triple EMA trend and go to
- 6:03Jess's dashboard and generate a new
- 6:05strategy. And I'm going to paste the
- 6:07name here. Now, here's the code. Now,
- 6:10you could edit the code right from
- 6:11within the editor of Jess's dashboard.
- 6:14But what would have been better is if I
- 6:16open it inside a better editor such as
- 6:19cursor or VS code which is completely
- 6:21free and open source. So let's open it
- 6:23there. And now we can read the code. All
- 6:26right. So you see this is the base
- 6:29strategy code that Jesse generated for
- 6:31us. So let's go back to Jess GPT and
- 6:34copy this whole thing and paste it here.
- 6:38Now let's give it a read. So it defined
- 6:40a new property for EMA30 and in it it is
- 6:43simply returning TA. EMA which is the
- 6:45correct syntax within Jesse framework
- 6:47for defining an indicator. It is passing
- 6:50the current candles by saying
- 6:51self.candles and the period of it is 30.
- 6:54Define another one for EMA 46 EMA 80 and
- 6:59then it defined the ATR simply saying
- 7:01TATR and then passing the current
- 7:03candle. So you see it is very easy to
- 7:05define indicators inside Jesse and then
- 7:08it defined a new property for the ADX
- 7:10and next we get to the entry rules of
- 7:13the strategy using the should long
- 7:14method which is basically asking should
- 7:16we go long right now. So in it we just
- 7:19define some inter rules. So it's saying
- 7:21if the EMA 30 is above 46 EMA 46 is
- 7:24above 80 the price is bigger than all of
- 7:26them. So I find this to be a little bit
- 7:29hideous and unnecessary, but I'm going
- 7:32to leave it as it is because it works
- 7:34and you know unless if the model makes a
- 7:36mistake, we don't really need to change
- 7:38it. And if the current ADX is also above
- 7:4143. So this is perfectly correct. And
- 7:44then for the shoot short, which is for
- 7:45taking the short positions, it's doing
- 7:48the exact opposite. So this is also
- 7:50correct except remember that the ADX
- 7:52must still be above 43. So this is
- 7:55perfectly correct. And then for the go
- 7:58long method which is where we define the
- 8:00position sizing right. So assuming that
- 8:03the inter rules are correct and now we
- 8:05want to go long what should be our
- 8:07position sizing what should be the entry
- 8:09price or the stop-loss price or things
- 8:11like that. So we're going to say the
- 8:14entry is the current price which is a
- 8:17market order in other words and Jesse is
- 8:19smart enough to detect this behind the
- 8:22scenes. All right. And then for this
- 8:23stop loss, we're seeing the entry minus
- 8:25the current ATR multiplied by 1.8. And
- 8:28then the quantity, we want to risk 5%.
- 8:30Right? Now, to do this, we're going to
- 8:32use the risk to quantity utility
- 8:34function of Jesse. And what it needs
- 8:36from us to calculate things is our
- 8:38current capital or available margin. So
- 8:41we pass self available margin and then
- 8:43the number five for the number of how
- 8:47much we want to risk the percentage and
- 8:49then the entry which we defined here the
- 8:52current price and then the stop which we
- 8:54defined here and then we also need to
- 8:56set the fees. It's not necessary but
- 8:58it's better to do it. And for that we're
- 9:01saying fee rate equals self.fe rate
- 9:03which is the fees we're going to pay in
- 9:05the current exchange. And then to submit
- 9:07the actual buy order, all we need to do
- 9:09is to say self.by equals quantity and
- 9:12then the entry. That's it. Very very
- 9:15simple. Now for a short position, we're
- 9:16doing the exact opposite. So basically
- 9:18for the subus, instead of subtracting
- 9:20the ATR, we are adding it. And also
- 9:22instead of self buy, we are using
- 9:25self.ell to submit a sell order for a
- 9:28short position, which of course makes
- 9:29sense. Now assuming that everything went
- 9:31fine and we are now sitting on a
- 9:33position now is the time to submit both
- 9:35the takerit and the stop loss. So we're
- 9:38saying if it's a long position and that
- 9:40is very simple in JC simply say if self
- 9:43is long then we want to calculate the
- 9:45stops and take profit prices. Now we
- 9:47didn't have to do it like this. We could
- 9:48have simply write it here but this model
- 9:50chose this and we're going to go with
- 9:52that. So the stop loss equals the
- 9:54current positions entry price which is
- 9:56the current price also minus the current
- 9:58ATR minus 1.8. Now by the way the
- 10:01current ATR is what we defined here. All
- 10:03right. Now the take profit is going to
- 10:06be similar except we are adding it by
- 10:093.3 times of the ATR. And now is the
- 10:12time to actually submit the orders. Now
- 10:14this is the syntax in Jesse. So for a
- 10:16stop loss we say self to the stop loss
- 10:17and then we pass the quantity which we
- 10:19are passing the quantity of the current
- 10:21position and then the stop loss. Now for
- 10:22take profit still we're doing the same
- 10:25thing but except instead of saying self
- 10:27stop loss we say self dot takeprofit and
- 10:30if it's a short position again very easy
- 10:32in Jesse simply say is short we do the
- 10:36opposite right so instead of subtracting
- 10:38and adding we are adding and subtracting
- 10:40that's it now it is also doing something
- 10:42extra that I didn't ask so it's saying
- 10:44it's using the update position method of
- 10:45Jesse which we use when let's say for
- 10:49some conditions we want to liquidate the
- 10:51current position we don't want to wait
- 10:53until the stop loss or the take profit
- 10:55price is hit but that is not what I
- 10:57wanted to do in this strategy so this is
- 10:59extra and I'm going to remove it is also
- 11:01defined the should cancel entry method
- 11:03and it's returning true this method is
- 11:06used when we are using a limit or a
- 11:08stop-loss order in Jesse which is really
- 11:10necessary right because let's say you
- 11:12submit your limit order but the next
- 11:14candle closes and still your price
- 11:16hasn't been hit so now you ask yourself
- 11:18should I update the previous order or
- 11:20should I just leave it as it is but
- 11:21Because in this strategy we are using a
- 11:23market order. We don't need this and I
- 11:26can just remove it. All right. So now
- 11:28that we have everything we are ready to
- 11:30run some back test. Now by the way the
- 11:32LLM model added an extra py here. So
- 11:35make sure to remove that if it happened
- 11:37for you because that will cause an
- 11:39error. So let's go to JC go to the back
- 11:41testing page. Change the symbol into BTC
- 11:43USDT. the time frame into four hours and
- 11:47the strategy name must be triple EMA
- 11:51trend. And for the duration, let's begin
- 11:54since 2021 up until 2022
- 11:58and the first month.
- 12:01Make sure the fast mode is on and so is
- 12:02the benchmark. All right, so let's run
- 12:04this. And while that is going, I'm going
- 12:05to open another tab and it starts since
- 12:082022 up until 2023.
- 12:12Run it. And then another one with 2023
- 12:16up until 2024.
- 12:19And then 2024 up until 2025.
- 12:24And lastly,
- 12:26starting 2025
- 12:28until this month, which is September. So
- 12:31let's run it and let's take a look. So
- 12:34in 2021, this is how our equity curve
- 12:37looked like, right? So we took 14
- 12:39trades. We ended with 78% profit. The
- 12:43max was -3%.
- 12:46The win rate was 71%. So that is really
- 12:48great for a strategy where the average
- 12:52win to loss ratio is 1.44. So this is
- 12:55really great. The average holding time
- 12:57is 265 hours. So that is definitely
- 13:00long. Now if you are a swing trader,
- 13:03this might be fine for you. But if you
- 13:04are a scalper, you're going to have a
- 13:06hard time holding a position for that
- 13:09long. So just consider this and the
- 13:12sharp is close to two. So I love this
- 13:14results at least for this year. The
- 13:16calmer ratio is also 5.63.
- 13:20That is really good.
- 13:22All right. So let's go to the next year
- 13:25for 2022 which was a bare market. And
- 13:28here's our results. So we ended with 67%
- 13:32and a max of minus3. And this is for
- 13:362023.
- 13:38This is this is for 2024 and this is for
- 13:412025. Now if I go to the benchmarking
- 13:43page of Jesse, we can see all the
- 13:45results next to each other which makes
- 13:47it really easy for us to compare the
- 13:50results. So here is the maxon. You see
- 13:52all the numbers here and then we can see
- 13:55the sharp and compare all of them
- 13:56together. Now by the way the maxon of
- 13:59the strategy is a bit lower than my risk
- 14:01tolerance. So we could even go and
- 14:04increase the quantity. So let's go to
- 14:06the go along method for example and we
- 14:09can multiply this quantity number by a
- 14:11certain num multiplier such as two or
- 14:141.5 or whatever you're comfortable with.
- 14:17So, in case you were wondering why
- 14:20aren't we beating the market? Actually,
- 14:21we are beating the market here a little
- 14:24bit and also here. But in here, we're
- 14:26not beating the ending P&L number that
- 14:29the market made for us, right? Like if
- 14:31we just held BTC, we would have made
- 14:33more. But with the strategy, we didn't
- 14:36make as much. But because the max number
- 14:38is actually really low, if we had
- 14:41multiplied the quantity or the size of
- 14:43our position by three, we would have
- 14:45definitely beaten the market, right? So
- 14:47in case you are wondering for that,
- 14:49well, this is the solution to that. But
- 14:51when you do that, you also increase your
- 14:53risk. So that means if the strategy
- 14:55wasn't doing fine, you would have lost
- 14:57more. So you need to be very careful
- 14:59with that. But anyway, so let's go back
- 15:00to the benchmarking page and we can see
- 15:04the start and ending dates to know which
- 15:07result this is. We can very quickly
- 15:10rerun one of the results if that's what
- 15:11you wanted to do. We can also rerun the
- 15:13entire back test if that's what you
- 15:16needed. Let's say I change a certain
- 15:19part of the code. So let's multiply this
- 15:21by 1.5 for example
- 15:24and also for the shorting part. And
- 15:27let's say I wanted to see how the
- 15:29results look now, right? So we just
- 15:31click on this. And now if I go to the
- 15:34result, this is how it looks like.
- 15:38So you see now we are almost beating the
- 15:40market. Now if I had multiplied by two,
- 15:43we would have definitely done that. And
- 15:45here we're also making more. And also in
- 15:48here. Now let's also run another back
- 15:50test. It's starting 2021 up until ending
- 15:54date.
- 15:55Actually, I think I have a little bit
- 15:58more data because we're not in the
- 16:00beginning of September anymore. So,
- 16:02let's run it like this. And by the way,
- 16:04if you didn't have data like me,
- 16:06actually in this case, you can just go
- 16:08to the import page and choose BTC.
- 16:14So, let's do that and change this into
- 16:18Binance Pial futures. Click on import
- 16:22and you can easily do that. And you see
- 16:24it will skip the candles that already
- 16:26exist and it will only try to fetch the
- 16:28new ones. So let's give it a moment to
- 16:31finish this. I want to quickly remind
- 16:33you guys about Apex which is my favorite
- 16:35deck allowing you to trade perpetuals
- 16:37without providing any KYC while keeping
- 16:39the custody of your funds. If you sign
- 16:41up via my link, you will get 25% trading
- 16:44fee discounts. And you will also be
- 16:45supporting my work. Now that we have the
- 16:47candles, if I go back to the back
- 16:49testing page and rerun this, hopefully
- 16:52it should go just fine this time. All
- 16:55right, so this is the result of the
- 16:58equity curve. If we started trading this
- 17:00since the beginning of 2021 up until
- 17:04just a few days ago, this would have
- 17:06been how much we made. So 1,425%
- 17:10in profit with a max of minus 27%. So
- 17:13this is really great. The win rate is
- 17:1654%. For a strategy with a profit factor
- 17:19of 1.4, this is really good. And then
- 17:22the average holding time is 118 hours.
- 17:25Again, be careful with this. You're
- 17:26going to need to be patient with it. And
- 17:29the sharp is 1.61, which is really
- 17:32amazing. All right, so the results are
- 17:34really good, but the main reason I
- 17:37wanted to show you this strategy is the
- 17:39result of its Monte Carlo simulation.
- 17:41Now, if you have been following me, you
- 17:43know that recently I released a tool to
- 17:46run Monteol simulations with Jesse,
- 17:48which is really helpful. So, let's run
- 17:50that. Let's go and copy the name of the
- 17:53strategy and then go to that script that
- 17:56I gave you guys. Again, watch the video
- 17:58if you haven't or check out our
- 18:00documentation. And then I'm going to
- 18:01paste the name of it here. So, the name
- 18:03of the strategy, the time frame is 4
- 18:06hours. The symbol is BTC and the
- 18:08exchange is binance per features and we
- 18:11don't have any data out so I don't need
- 18:13to enable this part. And for the number
- 18:15of simulations I have picked 200 and as
- 18:18for the beginning of it let's set it to
- 18:22turn 21
- 18:24up until
- 18:26so basically the same thing that we did
- 18:28for our back test and the trading fees
- 18:33and everything else is just fine. All
- 18:35right. So, let's go to the terminal and
- 18:36I will simply say Python test Monte
- 18:39Carlo, which is the name that I gave
- 18:41that the script for you. It could be
- 18:42anything. Let's run it. Now, this is
- 18:45going to have to run 200 back tests very
- 18:49fast, right? But I'm also using 12 CPU
- 18:52cores, so it should take approximately a
- 18:55few minutes. All right. So, by the way,
- 18:57I'm getting an interesting error. The
- 19:00multiprocessing that I'm using is
- 19:02actually running out of space because I
- 19:04don't have enough empty space on my SSD
- 19:08or in my RAM. So, let's stop this cuz
- 19:11this isn't going as fast as I need it to
- 19:13be. So, we have multiple options. We can
- 19:17lower the amount of candles that we're
- 19:19going to use, right? So, let's bring
- 19:22this down to 2022 2023 actually because
- 19:27I wanted to include one bull market and
- 19:30one bare market. And yeah, so this
- 19:33should be fine. Let's give it another
- 19:36try.
- 19:37By the way, you might also get some
- 19:39other errors like this. And that is fine
- 19:41because you see since in this simulation
- 19:45we are generating simulated data.
- 19:48Sometimes that data doesn't play nice.
- 19:51So for example, the prices could be
- 19:52really low or things like that and that
- 19:55makes sense, but we don't need all the
- 19:57back tests to actually go through for us
- 20:00to have a result that we can read,
- 20:02right? So let's just wait and see how
- 20:04this turns out. All right, so the result
- 20:07is two tables and two chart pictures
- 20:10that we're going to take a look at. Now
- 20:12let's begin with this one, which gives
- 20:14us the Monte Carlo of the trade. So what
- 20:17if we took the same number of trades but
- 20:19the order of them were different? So
- 20:21instead of like winning, winning and
- 20:22losing, what what if it was losing and
- 20:25then winning and winning, right? So how
- 20:26would have our equity curve changed
- 20:28then? So let's take a look at the chart.
- 20:31So you see this is how actually in many
- 20:34of the simulations we would have done
- 20:35better. But in some of them, but very
- 20:39few actually things would have been
- 20:40worse, right? But also notice that the
- 20:44ending number for all of the equity
- 20:46curves, the original and the simulations
- 20:48are the same because these are the same
- 20:51trades. We're just changing the order
- 20:52which will change the draw down which
- 20:54will also change some of other metrics
- 20:56such as the sharp ratio which is
- 20:57basically how much you're making
- 20:58compared to how much risk you're taking.
- 21:00So if I take a look at this, you see the
- 21:02max draw down of the original was minus
- 21:0420% for that period. But the median had
- 21:07a max draw down of 32%. The best 5% had
- 21:10a draw down of 17% and the worst had 84.
- 21:14Now you should never really read the
- 21:16worst because it's always like this. So
- 21:19I don't really think this strategy is
- 21:21going to take this draw down. And you
- 21:23see also the sharp is changing. Now
- 21:25let's take a look at this part which is
- 21:27the monte color for the candle. So
- 21:29basically not only we run the same back
- 21:31test on the original data, we also
- 21:33generate some new data based on the
- 21:35original candles. Now, this is a very
- 21:38complex but interesting topic. The
- 21:40method I'm using here is called moving
- 21:42block bootstrapping. So, we're basically
- 21:45using the real data. We're just changing
- 21:47the order of them. And you could also
- 21:49assume that this is a way to stress test
- 21:52the result of your strategy, right? So,
- 21:54let's take a look at this. So, this
- 21:57would have been the original back test
- 21:59and these would have been the
- 22:00simulations. So the ending number isn't
- 22:02really great, but if you take a look at
- 22:04here, many of the simulations were
- 22:06actually doing better. So it's
- 22:08definitely good enough. Now let's read
- 22:10the table and you see the max draw down
- 22:13was - 20% for the original. We already
- 22:15showed that earlier. The median had a
- 22:18max draw down of minus 28%. So this is
- 22:21what I really like because my risk
- 22:23tolerance allows me to take as much as
- 22:25minus 30% draw down. And if the median
- 22:29of the simulations is only minus 28%
- 22:33that means it's good enough. So even if
- 22:36I wasn't as lucky as the original back
- 22:38test the maxon would have still been
- 22:40acceptable for me. And in the best 5% it
- 22:42was actually minus 70%. So it was even
- 22:45better. And what I want to see is if the
- 22:47original back testing was worse than the
- 22:49best 5%. So I don't want it to be inside
- 22:52the best 5%. All right. Now for the
- 22:55sharp for the original it was 1.988
- 22:58but for the median it was 1.13 and you
- 23:01see the original is actually lower than
- 23:03the best 5%. Another way to read this is
- 23:06to forget about the original just read
- 23:08what you see for the median which is
- 23:101.13
- 23:11and the question is is that good enough
- 23:14for me to trade it? So what if I wasn't
- 23:16lucky forget the best 5% forget the
- 23:18original what if the median was
- 23:20happening? Not only that, even the worst
- 23:225% has a sharp of 0.04,
- 23:26which isn't great, but it's not
- 23:28negative. So, you see, even in the worst
- 23:305%, I wasn't ending with losing money.
- 23:33So, that means if I run this strategy
- 23:35long enough, it will hopefully generate
- 23:39me profit. Now, we never have 100% thing
- 23:43in trading. So, don't think that if
- 23:45you're going to run the strategy, you
- 23:46will definitely make money. There's no
- 23:48printing machine. There's no guarantee
- 23:50in trading, but I like the odds that I'm
- 23:52seeing here. And you can also read the
- 23:53other metrics if you like to. But
- 23:56overall, I'm happy with these results.
- 23:58Now, something interesting that you
- 23:59should know is that I actually released
- 24:01this strategy more than a year ago on my
- 24:04channel and on our website. But this is
- 24:07the premium version of it. It was called
- 24:10Trend Swing Trader V2. So if you want to
- 24:13see the result of it for other periods
- 24:16or time frames or symbols, you can do
- 24:18so. But one interesting fact is that
- 24:20back then when I release this, let's say
- 24:22you were wondering, does the result of
- 24:24it also work for fusion data? Well, now
- 24:27we have the result. If you were a
- 24:30premium user, you would have had access
- 24:32to the exact same thing that I just ran.
- 24:34And you would have seen that let's say
- 24:36in 2025
- 24:38the strategy well here it wasn't making
- 24:41much but actually I don't have the
- 24:43result of more of them. All right we do
- 24:45have it here. Let me open it. All right.
- 24:47So since the beginning of 2025 up until
- 24:50September still it was making money and
- 24:54it was also doing the same thing in
- 24:552024. So you see if you wanted to do
- 24:58some forward testing here it is. If you
- 25:01enjoyed the video, please consider
- 25:02giving a like and subscribe to the
- 25:04channel for more videos and strategies
- 25:06like this one. Thank you so much for
- 25:08watching. I'll see you in the next one.
- 25:10[Music]
- 25:13[Applause]
- 25:14[Music]
About this transcript
This page contains the full transcript of GPT: Trading Strategy in Python makes 805% (+ Monte Carlo simulation results) by Algo-trading with Saleh, generated from the public captions YouTube serves with the video. The transcript has 4,775 words across 637 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to translate the transcript into 100+ languages.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, translation to 100+ languages, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.