Finding Breakout Candidates with Python and Pandas

  Рет қаралды 71,618

Part Time Larry

Part Time Larry

Күн бұрын

Пікірлер: 118
@parttimelarry
@parttimelarry 4 жыл бұрын
Like the video? Support my content by signing up for Interactive Brokers using the link below: www.interactivebrokers.com/mkt/?src=ptlPY1&url=%2Fen%2Findex.php%3Ff%3D1338 Buy me a Coffee: buymeacoffee.com/parttimelarry Website: hackingthemarkets.com Twitter: twitter.com/PartTimeLarry Source Code: github.com/hackingthemarkets
@paulka427
@paulka427 2 жыл бұрын
I'm a couple months into my python journey, I have a lot to learn from your videos.
@mrigendraverma9631
@mrigendraverma9631 3 жыл бұрын
This kind of quality content is rare on the internet. Great work!
@DFCE82
@DFCE82 Жыл бұрын
Awesome Bro! You are Very talented! 💎💎💎Thanks for sharing this gold nugget with us!
@loafandjug321
@loafandjug321 4 жыл бұрын
Video request, make a video for finding stocks that have already had a breakout today and ALSO have an uptrend MACD that was recemtly triggered in the last day or two. Manually searching will return a small list of potential stocks each day, would be nice to automate. These type of stock picks tend to continue their uptrend for a few days. Edit, they also work better with an overall YTD uptrend, that weeds out one hit wonder stocks and pump and dump stocks.
@breakoutgaffe4027
@breakoutgaffe4027 2 жыл бұрын
Amazing stuff Larryoda 🙌
@Beachlife17
@Beachlife17 2 жыл бұрын
wow bro, nice work, and thank u very much! u rock!
@TennisRacket12
@TennisRacket12 3 жыл бұрын
You are a very good teacher! I also really like that you talk about some setup things, like cloning the code from github, and some follow-up actions, like checking the news, etc. I will be sure to check out more of your videos, thanks man!
@rverm1000
@rverm1000 4 жыл бұрын
i want to point there is a similar pattern with moving averages. ive seen repeatily when moving averages consolidate to within 1% of each other usually a breakout to the upside or downside occurs. not sure if it occurs on all time frames. i want create a program that will find the sum= highest moving average - next highest moving average- lowest moving average. if the sum
@rickymacharm9867
@rickymacharm9867 4 жыл бұрын
Wow...are we twins...I have been observing that for more than 5 years now...on all time frames in the forex markets...I use EMA(10, 25, 72, 200) nothing so special about the numbers except that 10/25 is my wedding anniversary
@akbarboghani1
@akbarboghani1 2 жыл бұрын
Great video. Thanks for sharing.
@nithinmohan3140
@nithinmohan3140 Жыл бұрын
Great content. Thanks
@flydr2
@flydr2 3 жыл бұрын
Thanks for all your videos... I'm learning a lot... I know it takes lots of time to make these... Just wanted to say: THANKS FOR THE HARD WORK
@sickegg2000
@sickegg2000 3 жыл бұрын
Great work! Helped me with more ideas !
@MrMercury07
@MrMercury07 4 жыл бұрын
You are a rockstar, brother.
@pavanjadhav8436
@pavanjadhav8436 4 жыл бұрын
Thank you for sharing such a great work with the fellow algotraders!
@ivanetinajero
@ivanetinajero 3 жыл бұрын
This video is gold. Thanks master.
@hardikmangukiya9953
@hardikmangukiya9953 Жыл бұрын
This is something I want to learn. Very impressive. I want to automate my stretegy so it's helpful .❤❤
@User66866
@User66866 3 жыл бұрын
Great video! Thank you for sharing, you are so proficient with Python!
@jitkadyan
@jitkadyan 4 жыл бұрын
Great Video Again Brother , Love U, Waiting for More
@keerthi8978
@keerthi8978 4 жыл бұрын
Hi Larry, Great Video and massive fan of yours. Small request, can you please do a stock scanner with "Cup with Handle" pattern
@margodigitalmarketing7955
@margodigitalmarketing7955 3 жыл бұрын
yea, would be great!
@trader1376
@trader1376 2 жыл бұрын
awesome, thanks for sharing
@tugrulhan
@tugrulhan 4 жыл бұрын
Excellent video, thanks Larry
@hkrish26
@hkrish26 3 жыл бұрын
thanks for the amazing and useful training.
@SebkTm
@SebkTm 3 жыл бұрын
Amazing, thanks you!
@AjeoDub
@AjeoDub 4 жыл бұрын
Excellent content 👏 very easy to follow 👌
@vanditdostonkadost
@vanditdostonkadost 4 жыл бұрын
You're so amazing man
@rickymacharm9867
@rickymacharm9867 4 жыл бұрын
You can say that again...and again...
@rickymacharm9867
@rickymacharm9867 4 жыл бұрын
This is a great KZbin channel...I am gonna be staying here for a while. I use breakouts too even though my criteria is different from yours. I hope you will be doing one on signalling indicator divergences soon...
@PavelSumik
@PavelSumik 4 жыл бұрын
fantastic videos Larry, thanx
@manju271989
@manju271989 Жыл бұрын
I do appreciate your efforts in determining the scrips eligible for the breakouts. However, There are some good conditions to watch out for. It does not solely depend on the prices. The correlation between volume and price action can give you better results. I hope that this is not used in analyzing live market feed with definite time frame because in that case, It could lead to wrong results. If there are free flow of live updates with in the span 10 sec or below 10 sec, it is advisable to map the OHLC to time interval and based on the previous timestamp, anchoring the previous timestamp data, calculating the values like,OBV,ADX,MACD, RSI and MFI of current OHLC. There may be several stocks who are solely speculation driven meaning that the price is increased on the particular day but the total volume delivered against the total volume traded is very less. One of the indispensable factor, the sentimental analysis towards the news recently occurred can lead to tanking or surging the stock. perhaps, that is starting point I guess. Having convoluted neural network to determine the sentimental analysis and combining with drawing support and resistance of the previous days or weeks can produce better results.
@amarbisla6210
@amarbisla6210 3 жыл бұрын
Thank you so much bro!
@3monsterbeast
@3monsterbeast 4 жыл бұрын
The walmart one was good.. it broke out about 14-15% at the end of August. Crazy!
@Asparuh.Emilov
@Asparuh.Emilov 4 жыл бұрын
I deffinetly like this one! Could be one of the best strategies out there. Because the concept is really simple yet very powerful as it is including the trend influence and the exact condiition that should be met for the entry decision. Thanks again for the great content!
@breakoutgaffe4027
@breakoutgaffe4027 2 жыл бұрын
did you ever read Way of the Turtle? that was their strat
@pressrepeat2000
@pressrepeat2000 3 жыл бұрын
Superb video. So clear. This is a great trading strategy with a huge success rate. In my experience stocks that are consolidating at lows (vs close to highs, like in your example) are even better as a “breakout from consolidation” trades, because you can catch them right before they soar and they have huge upside.
@tariqahmad6128
@tariqahmad6128 3 жыл бұрын
great content from great man
@maciekpaciarski9343
@maciekpaciarski9343 4 жыл бұрын
Great job . Maybe something in the next videos about using Dow's theory to determine whether a given company is in an upward or downward trend. Regards
@rverm1000
@rverm1000 4 жыл бұрын
fantastic. this will a good learning tool.
@co.n.g.studios5710
@co.n.g.studios5710 3 жыл бұрын
damnit, finally I found someone with the same strategy :D
@wweng63
@wweng63 4 жыл бұрын
Very nice video !
@margodigitalmarketing7955
@margodigitalmarketing7955 3 жыл бұрын
Thanks for the awesome videos, Larry! you are the only one on youtube who I do understand :D Can you please make a tutorial on how to update datasets & how to add crypto datasets instead of Stocks? Thank you!
@jamesfulford
@jamesfulford 2 жыл бұрын
Man, I thought that'd be a whole lot harder. Just looking at closes for a presupposed 15 candles, not too bad.
@alemazzuca
@alemazzuca 3 жыл бұрын
You should consider taking into account the highest prices instead of the closing prices. Because if the brakeout is reversed (that you will only realize at the end of the day) then the setup will not work.
@zhengyitang1610
@zhengyitang1610 3 жыл бұрын
Great! but why it raise keyerror 'Close'? Thanks.
@samehmouldi2289
@samehmouldi2289 3 жыл бұрын
Video request, please make a video for finding how was the indicators at the time of the breakout.
@bhaveshvarshney222
@bhaveshvarshney222 4 жыл бұрын
Man u r so amazing. You are wow simply
@philippe6724
@philippe6724 4 жыл бұрын
Amazing teacher!
@m_t_d2758
@m_t_d2758 10 ай бұрын
what is the name of the yellow book that you are using on the cover???
@jetsonearth4819
@jetsonearth4819 3 ай бұрын
legend!!!
@ventiladorbueno1846
@ventiladorbueno1846 2 жыл бұрын
Thanks
@zhoubinjason
@zhoubinjason 4 жыл бұрын
you are such a master!!
@krisSumudra
@krisSumudra 4 жыл бұрын
Hi Larry, can you please do a video on Trendlines identification and breakouts, Thanks.
@bluebull399
@bluebull399 Жыл бұрын
Hi Larry. Why do you exclude the last candle from the breakout calculation?
@yaboiiprettyeyez
@yaboiiprettyeyez 4 жыл бұрын
Larry! I was wondering if you could help me out.... I am trying to cross check TA-Lib candlestick methods with another method: is_consolidating(df:pandas, percentage=2)... Can you please show how to do this using the flask framework? I've added a dictionary key, values to be able to access through our stocks dictionary with jinja2 here...... if last > 0: stocks[symbol][current_pattern] = 'Bullish' >> stocks[symbol]['is_consolidating'] = is_consolidating(df=df, percentage=2.5) >> stocks[symbol]['is_breaking_out'] = is_breaking_out(df=df, percentage=2.5) elif last < 0: stocks[symbol][current_pattern] = 'Bearish' >> stocks[symbol]['is_consolidating'] = is_consolidating(df=df, percentage=2.5) >> stocks[symbol]['is_breaking_out'] = is_breaking_out(df=df, percentage=2.5) then in the index.html I access the True/ False values through: {{ stocks[stock]['is_consolidating'] }} and... {{ stocks[stock]['is_breaking_out'] }} but.......... these are only returning 'False' in the web app... and.... I would like to add my own functionality to the Stock Screener. I have the math ready to get high/low points for my fibonnacci ratio's and would be willing to share with your git repository if you could help me get passed this point!!! -100, Thanks
@3monsterbeast
@3monsterbeast 4 жыл бұрын
CPB also broke out soon after nearly 7%!
@ki5ngau
@ki5ngau 2 жыл бұрын
I understand the logic for the vid. During the vid, you commented some stocks are consolidating while other is already consolidated. How do you know that? Can you explain further? Thank you in advance.
@bishopwashington8640
@bishopwashington8640 2 жыл бұрын
Does anyone know where/what the previous video is called where he found candlestick data on SP500 holdings?
@tomchambers9787
@tomchambers9787 3 жыл бұрын
Great work Larry.... I am a pretty good python programmer, however just starting in the bot work.. do you have videos or know where i can find the basic details of using the DF to process the csv files and using the panda to work with data as you do.... Any videos real basic showing how to use the panda?
@yax75
@yax75 4 жыл бұрын
This almost seems like the TTM squeeze type of set up. Have you looked at building a screener for that?
@parttimelarry
@parttimelarry 4 жыл бұрын
Hi, another commenter below actually mentioned the TTM Squeeze Indicator. I was not familiar with it, but am studying now and want to see if I can code it and test it out.
@yax75
@yax75 4 жыл бұрын
@@parttimelarry That would be awesome, this is the strategy I use but find it quite manual to look for it. I am currently learning to code so I can automate it a bit more. really enjoy your videos
@parttimelarry
@parttimelarry 4 жыл бұрын
@@yax75 thanks, found the TradingView PineScript for this, going to see if I can translate it to Python. Excited to try this out.
@harshecka7189
@harshecka7189 Жыл бұрын
Hey larry . Can you suggest how to add NSE Stocks. I have tried but no chart shows .
@corevil
@corevil 8 ай бұрын
YOU CONTENT IS SO AMAZING!
@vigisbigtm
@vigisbigtm Жыл бұрын
What is the use of percentage in is_breaking_out function?
@teddyperera8531
@teddyperera8531 3 жыл бұрын
thanks for this very informative video. I have a question; How do you let the scrip run automatically rather than manually triggering every time?
@TheJayeshmotwani1
@TheJayeshmotwani1 3 жыл бұрын
Can someone reference the earlier video this guy made about how to get the stock price data in CSV s
@keerthi8978
@keerthi8978 4 жыл бұрын
Hi Larry, I am trying to calculate the Simple moving average for the stock "SMA_50 = df["Close"].rolling(window=50).mean()" and then wants to compare with the current close. The code should give me a list of stocks thats breaking a 50SMA, 100 SMA and 150 SMA. As a request can you do a video on Mark Minervini's Trend Template please ? Thanks in advance. Hi Larry, I have got it working now. Thanks again for your help.
@davidtorres-pl7mu
@davidtorres-pl7mu 4 жыл бұрын
Hi Part-Time Larry, I really appreciate your videos! You're amazing man!.. Literally, is there any chance to get this on TD Ameritrade? I am newbie here, sorry for the silly question. Would I need to only get Tradingview? Really appreciate your help and time. Looking forward to hearing form you. Thanks :)
@nilesh168
@nilesh168 2 жыл бұрын
hi Larry, Liked your videos and learning new things always. Not sure if below topic is already covered if yes pls point me to topic of video, I need help to print slope of line with output as degree or just +ve or -ve is fine. i am using np and mapplotlib data is like. chris_gayle = np.array([32.44, 67.55, 61.08, 59.00, 21.77, 40.91, 22.70, 22.22, 40.88, 40.83]) X = np.array([2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019]) i am able to plot and see slope but want to get in some variable in text format. I dont want to display graph. Thanks in advance
@Jordan-Tech
@Jordan-Tech 4 жыл бұрын
Amazing, tried to follow along but I got this error : if is_breaking_out(df): File "charlib.py", line 16, in is_breaking_out last_close = df[-1:]['Close'].values[0] IndexError: index 0 is out of bounds for axis 0 with size 0 anyone got an idea why ?
@howiehagen8324
@howiehagen8324 4 жыл бұрын
I added an if df.empty step to skip over the issue. There might be a better solution but it works for now. def is_breaking_out(df, percentage=2.5): if df.empty: pass else: last_close = df[-1:]['Close'].values[0] #print (last_close) if is_consolidating(df[:-1], percentage=percentage): recent_closes = df[-16:-1] if last_close > recent_closes['Close'].max(): return True return False
@jaysond04
@jaysond04 3 жыл бұрын
@@howiehagen8324 thanks so much!!!!!!
@soumya178
@soumya178 2 жыл бұрын
Hi Larry nice work advance thanks for such informative video . There is a problem updated version of vs code does not have ta-lib . Could you give some suggestions alternative of Ta-lib or how to install Ta-lib in recent version of vscode, it's hard to find out. Again advance thanks .
@uaskedforthis
@uaskedforthis 3 жыл бұрын
no module called yfinance error and there is certainly yfinance installed.Do you have a remedy?
@TheL337trance
@TheL337trance 3 жыл бұрын
Which video shows how to download the current datasets?
@luckyhithasri7860
@luckyhithasri7860 4 жыл бұрын
Bro it worked after adding empty check for dataframe , but surprise i couldn't find any result neither consolidation nor breakout :)
@jacvar2006
@jacvar2006 3 жыл бұрын
How to get this code converted in pine scripts for crypto. Thx in advance.
@chrisbearden1331
@chrisbearden1331 3 жыл бұрын
Hi Larry. Thank you very much for your videos. They have been quite useful in the trading world. I have a question for you. I belong to a professional trading group, that uses breakouts as one of our core strategies. And I would like to ask if I could have permission to modify and share your example code to use in our trading group. Thank you for your code once again. Very awesome!
@parttimelarry
@parttimelarry 3 жыл бұрын
Of course, that's why I share it. I want people to build new things with it
@chrisbearden1331
@chrisbearden1331 3 жыл бұрын
@@parttimelarry Wow! Thank you so much for your willingness to share and your fast reply. Love your work!
@Reaperaxe9
@Reaperaxe9 4 жыл бұрын
Hmm, I cloned down your repo and I keep running into data type mismatches with the pandas dfs and numpy arrays. specifically, df["Open"] seems to return a Series but the pattern_function expects a numpy array. is there a library mismatch? Thanks for the video!!
@gondalaprasad
@gondalaprasad 2 жыл бұрын
Hi, not able to find the source code. Can you please share the link.
@paulm9800
@paulm9800 2 жыл бұрын
Hi, would you build a scanner for me if I provided you the parameters? Glad to let you use the idea if you like the concept?
@parttimelarry
@parttimelarry 2 жыл бұрын
feel free to email parttimelarry@gmail.com
@sandeepsharma148
@sandeepsharma148 4 жыл бұрын
Awesome dude. !!! Can you please share the code?? I am not able to find in github.
@samyip8430
@samyip8430 2 жыл бұрын
Thanks Larry, this is a great tutorial. Btw wanna ask when I download multi stock data by yfinance, it will eventually stop before finishing. Does anyone know how to fix it?
@ragnarocking
@ragnarocking 3 жыл бұрын
What IDE are you using? Thanks
@parttimelarry
@parttimelarry 3 жыл бұрын
VS Code
@konjman2
@konjman2 3 жыл бұрын
Is possible to implement this to cryptocurrencies on 4h timeframe? What symbol do i need to write for Bitcoin ? I hope you will responde
@Skandawin78
@Skandawin78 3 жыл бұрын
Pls check your mic setings
@doyenshowroom6735
@doyenshowroom6735 4 жыл бұрын
How do I combine multiple .csv files?
@stayupdateg
@stayupdateg 2 жыл бұрын
How to get source code please🙏 help
@howiehagen8324
@howiehagen8324 4 жыл бұрын
Love the videos! Super easy to understand and get started. I am very experienced with programming and Visual Studio (specifically SQL server tools). Unfortunately I am new to Python and have no idea what to do with the code. Do you have a video or link you could provide on the basics of setting up the software and virtual environment? I now have VS2019 and cloned the repository. It gives me a message that some files in Repository.txt are not installed and when I try to install them I get several errors. Below are the last few lines of the error message: cl.exe /c /nologo /Ox /W3 /GL /DNDEBUG /MD -IC:\Users\hhagen633\Source\Repos\candlestick-screener\env\lib\site-packages umpy\core\include -Ic:\ta-lib\c\include -IC:\Users\hhagen633\Source\Repos\candlestick-screener\env\include "-IC:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\include" "-IC:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\include" "-IC:\Program Files (x86)\Windows Kits\10\include\10.0.10240.0\ucrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\shared" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\um" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\winrt" "-IC:\Program Files (x86)\Windows Kits\8.1\include\\cppwinrt" /Tctalib/_ta_lib.c /Fobuild\temp.win-amd64-3.7\Release\talib/_ta_lib.obj error: command 'cl.exe' failed: No such file or directory ---------------------------------------- ERROR: Command errored out with exit status 1: 'C:\Users\hhagen633\Source\Repos\candlestick-screener\env\Scripts\python.exe' -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'C:\\Users\\HHAGEN~1\\AppData\\Local\\Temp\\pip-install-pr70w88a\\TA-Lib\\setup.py'"'"'; __file__='"'"'C:\\Users\\HHAGEN~1\\AppData\\Local\\Temp\\pip-install-pr70w88a\\TA-Lib\\setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"' '"'"', '"'"' '"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record 'C:\Users\HHAGEN~1\AppData\Local\Temp\pip-record-_1mcqerg\install-record.txt' --single-version-externally-managed --compile --install-headers 'C:\Users\hhagen633\Source\Repos\candlestick-screener\env\include\site\python3.7\TA-Lib' Check the logs for full command output. WARNING: You are using pip version 20.1.1; however, version 20.2.2 is available. You should consider upgrading via the 'C:\Users\hhagen633\Source\Repos\candlestick-screener\env\Scripts\python.exe -m pip install --upgrade pip' command. ----- Failed to install '-r C:\Users\hhagen633\Source\Repos\candlestick-screener equirements.txt' ----- 'requirements.txt' failed to install.
@howiehagen8324
@howiehagen8324 4 жыл бұрын
I found that I was using VS2019, not VS Code. Also I had to install TA-Lib by first downloading a WHL file. It was a bit of a struggle but I have it working now :) I am getting an error on is_breaking_out though: last_close = df[-1:]['Close'].values[1] IndexError: index 1 is out of bounds for axis 0 with size 1 Any suggestions?
@parttimelarry
@parttimelarry 4 жыл бұрын
Hey, will check this out this weekend and post an update, I think some others said the same thing.
@howiehagen8324
@howiehagen8324 4 жыл бұрын
@@parttimelarry I fixed it :) After updating the daily datasets through 8/13 it seems like some of them became empty for some reason. I added an if df.empty step to skip over the issue. There might be a better solution but it works for now! My first Python debug...so proud :) def is_breaking_out(df, percentage=2.5): if df.empty: pass else: last_close = df[-1:]['Close'].values[0] #print (last_close) if is_consolidating(df[:-1], percentage=percentage): recent_closes = df[-16:-1] if last_close > recent_closes['Close'].max(): return True return False
@parttimelarry
@parttimelarry 4 жыл бұрын
Thanks for contributing, you went from new to Python to solving these issues pretty quickly :)
@vigisbigtm
@vigisbigtm Жыл бұрын
@@howiehagen8324 I get this same error. Did you solve it? Do you have completed code?
@jayakumarj459
@jayakumarj459 3 жыл бұрын
How to download those datasets?
@rutvijdabro7142
@rutvijdabro7142 4 жыл бұрын
Can you make a tutorial for fundamental analysis too??
@parttimelarry
@parttimelarry 4 жыл бұрын
I showed the basics of a screener that uses key statistics from yFinance in the FastAPI series. Should I dive into more specifics of topics like earnings growth? Let me know if there are any specifics.
@camillegroultstar
@camillegroultstar 3 жыл бұрын
Hi bro huge work you did amazing, so far its work for me but I didt not find how to get forex indice like for exemple usd/cad can you help me to fix this please thanks
@colinmaharaj
@colinmaharaj 2 жыл бұрын
how about using C++
@parttimelarry
@parttimelarry 2 жыл бұрын
Sure it can be written in language, but I'm not going to redo my tutorials in C++
@jameswang6714
@jameswang6714 4 жыл бұрын
Genius!
@sanjaymamidipaka3546
@sanjaymamidipaka3546 4 жыл бұрын
GOAT
@FirstNameLastName-fv4eu
@FirstNameLastName-fv4eu 3 жыл бұрын
ha ha ha ... who is this guy ?
Candlestick Pattern Recognition with Python and TA-Lib
24:11
Part Time Larry
Рет қаралды 116 М.
Tutorial: Build a Technical Screener Webapp in 100 Lines of Code
52:52
Part Time Larry
Рет қаралды 97 М.
Каха и дочка
00:28
К-Media
Рет қаралды 3,4 МЛН
It’s all not real
00:15
V.A. show / Магика
Рет қаралды 20 МЛН
Pandas TA Tutorial
27:00
Part Time Larry
Рет қаралды 46 М.
Alpaca Market Data API (Part 1) - Streaming with Python and Websockets
26:52
Data Analysis with Python for Excel Users - Full Course
3:57:46
freeCodeCamp.org
Рет қаралды 3,3 МЛН
Price Trend Channels Automated In Python
27:56
CodeTrading
Рет қаралды 35 М.
How to become the trader you wish you were | Futures Trader 71
1:29:41
Chat With Traders
Рет қаралды 148 М.
Interactive Brokers Web API [Part 1] - Docker Tutorial
28:54
Part Time Larry
Рет қаралды 11 М.
C Programming Tutorial for Beginners
3:46:13
freeCodeCamp.org
Рет қаралды 16 МЛН
How to Get a Developer Job - Even in This Economy [Full Course]
3:59:46
freeCodeCamp.org
Рет қаралды 3,3 МЛН
Каха и дочка
00:28
К-Media
Рет қаралды 3,4 МЛН