Trading with Python: Simple Scalping Strategy

  Рет қаралды 107,328

CodeTrading

CodeTrading

Күн бұрын

Пікірлер: 276
@bravesirdonald
@bravesirdonald 5 ай бұрын
Great video! Concise and clear explanations. In my backtesting, I found this strategy only worked well in 2024. Running this strategy on previous years did not yield the same results. Market behaviour does change over the years.
@fidgetgadget3475
@fidgetgadget3475 5 ай бұрын
I suspect the big actors algorithmic trading impact the market properties
@CodeTradingCafe
@CodeTradingCafe 5 ай бұрын
The market tdoes change we can fit the parameters every month to solve this. But the biggest drawdown of this strategy is the short TP distance that can be covered by trading fees.
@vassiliscapsis5828
@vassiliscapsis5828 4 ай бұрын
@@CodeTradingCafe this is what I think and I put in my latest post
@cap00
@cap00 Жыл бұрын
Yes, test it out. Nothing gets done by thought 👌
@Doors_of_janua
@Doors_of_janua Жыл бұрын
Brother, THAT! Is one of the biggest insights anyone can have in their life! Gold
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Thank you will work something out.
@AwesomeMrT-007
@AwesomeMrT-007 8 ай бұрын
@@CodeTradingCafe Can you link the video of the paper trading?
@athanasrenti4535
@athanasrenti4535 Жыл бұрын
Another well-thought out video, concise and helpful! Many thanks!
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Glad you enjoyed it! Consider the challenging spread in live trading... I still have some ideas to try.
@FighterFred
@FighterFred 6 ай бұрын
Notice that if you want to use prop firms, their max open DD is 5%. To get that, lower the lot size. As to trading costs, EURUSD is the best. Many brokers have zero spread, and you can adopt a spread filter. As you're scalping, no swap required. For the equity curve, you need both the balance and equity as function of time.
@CodeTradingCafe
@CodeTradingCafe 6 ай бұрын
Hi, thanks a lot for your input, we can also decrease the margin it also helps. I noticed higher timeframes are easier to trade from this perspective.
@RalphTradesz
@RalphTradesz 3 ай бұрын
Hi! Did you try this on prop firms?
@cachecoder
@cachecoder Жыл бұрын
I think it would be interesting seeing it traded on a paper account. Throw it up a few different tickers, a few up trends, a few down trends, and a few that are just oscillating. Maybe even some ETF pairs. Cool little video.
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
I agree, I am getting more curious about it, I only need to test the RSI trend detection instead of EMA to see if I can improve the results further... at then end I will try it live for few weeks.
@mohammedkerdoud2595
@mohammedkerdoud2595 10 ай бұрын
great work, simple and effective, thank you for sharing those informations, keep going !!
@CodeTradingCafe
@CodeTradingCafe 10 ай бұрын
Glad you like them! More is coming.
@juanbernal8105
@juanbernal8105 Жыл бұрын
Excellent. I propose another idea of ​​regression to the mean. Consider VWAP and a channel some distance from the line. Only in high trading hours or with minimal volume does the price tend to return to the vwap trading point.
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Thank you, will try a combination of VWAP and volume.
@strathausen
@strathausen Жыл бұрын
Very cool, thanks! Going to give it a try this week.
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Hope you enjoy
@Maximus18.6
@Maximus18.6 Жыл бұрын
First thank you so much for such amasing and excellent video. I propose to implement the long position scalping strategy using MACD as a signal for potential entry position, then wait until EMA 21 crosses EMA 50, price has to be on top of EMA 200 and VWAP, price hitting support line with red candles with acceptable body and long whicks, high body green candles and high trading volume to make sure the price will bounce to up trend, as higher number of confluence we have, higher is the probability to enter a good position. Additionall, it will be interesting to add market sentiment analysis to connect our technical analysis with fundamental analysis., stop loss and take profit same conditions you shiwed on the video.
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Hi, thank you for your input. Sentiment analysis can be implemented but I don't think it will play on anything below daily timeframe.
@abdsh422
@abdsh422 Жыл бұрын
I think the calculation of the SL (Stop Loss) and TP (Take Profit) needs to be re-evaluated, as sometimes the TP/SL is less than 5 pips, which most brokers will not accept. With such low values, the probability of having a correct prediction increases, and the drawdown will be less, which might look impressive in backtesting. However, in reality, it may not meet expectations. Also, the ratio between the SL and the TP is low, ranging from 1.1 to 1.5. I believe this is bet low, especially when considering a 40% win rate. With that being said, the video is great.
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Hey, thank you for your comment. I think you are right regarding TP/SL in live trading, mostly also because of the spread it will interfere with the TP and SL values and so the ratio... therefore the results will be different then the optimization results we obtained using the method from the previous video. It requires more work to tune it live and observe the results, kind of a slow mission but very much needed.
@abdsh422
@abdsh422 Жыл бұрын
@@CodeTradingCafe Hey, please give me your opinion in the below result. i tested it on all the 3 years. SL*.6 : TP*1 Equity 5k for all the below tests. used only 10% on the Equity with leverage 1:100 Start 2019-09-30 04:05:00 End 2022-09-30 20:55:00 Duration 1096 days 16:50:00 Exposure Time [%] 20.582378 Equity Final [$] 34989.80489 Equity Peak [$] 36480.17059 Return [%] 599.796098 Buy & Hold Return [%] -10.327037 Return (Ann.) [%] 68.798446 Volatility (Ann.) [%] 37.190209 Sharpe Ratio 1.849907 Sortino Ratio 5.114766 Calmar Ratio 5.060745 Max. Drawdown [%] -13.594529 Avg. Drawdown [%] -0.939743 Max. Drawdown Duration 100 days 14:35:00 Avg. Drawdown Duration 1 days 15:07:00 # Trades 3662 Win Rate [%] 41.316221 Best Trade [%] 0.246082 Worst Trade [%] -0.082279 Avg. Trade [%] 0.005537 Max. Trade Duration 2 days 19:35:00 Avg. Trade Duration 0 days 01:19:00 Profit Factor 1.177688 Expectancy [%] 0.005562 SQN 4.255942 _strategy SignalStrategy _equity_curve ... _trades Size En... below is the same configuration but for the last 30k candle Start 2022-05-09 15:25:00 End 2022-09-30 20:50:00 Duration 144 days 05:25:00 Exposure Time [%] 12.983766 Equity Final [$] 7905.48107 Equity Peak [$] 8242.20614 Return [%] 58.109621 Buy & Hold Return [%] -6.960914 Return (Ann.) [%] 155.706664 Volatility (Ann.) [%] 67.332812 Sharpe Ratio 2.312493 Sortino Ratio 12.086181 Calmar Ratio 20.986106 Max. Drawdown [%] -7.419512 Avg. Drawdown [%] -0.98711 Max. Drawdown Duration 16 days 00:15:00 Avg. Drawdown Duration 1 days 00:47:00 # Trades 577 Win Rate [%] 42.980936 Best Trade [%] 0.106255 Worst Trade [%] -0.064893 Avg. Trade [%] 0.008212 Max. Trade Duration 2 days 03:10:00 Avg. Trade Duration 0 days 00:39:00 Profit Factor 1.245133 Expectancy [%] 0.008242 SQN 2.288319 _strategy SignalStrategy _equity_curve ... _trades Size Entr... dtype: object the last 8 months with the same config return pd.read_csv(join(dirname(__file__), filename), Start 2023-05-05 02:20:00 End 2024-01-06 00:55:00 Duration 245 days 22:35:00 Exposure Time [%] 22.142328 Equity Final [$] 6963.44187 Equity Peak [$] 7261.1544 Return [%] 39.268837 Buy & Hold Return [%] -0.743967 Return (Ann.) [%] 56.940544 Volatility (Ann.) [%] 38.461143 Sharpe Ratio 1.480469 Sortino Ratio 3.551477 Calmar Ratio 4.640423 Max. Drawdown [%] -12.27055 Avg. Drawdown [%] -0.878754 Max. Drawdown Duration 40 days 19:35:00 Avg. Drawdown Duration 1 days 19:21:00 # Trades 831 Win Rate [%] 40.433213 Best Trade [%] 0.099415 Worst Trade [%] -0.083899 Avg. Trade [%] 0.004222 Max. Trade Duration 2 days 10:30:00 Avg. Trade Duration 0 days 01:19:00 Profit Factor 1.128922 Expectancy [%] 0.004248 SQN 1.523104 _strategy SignalStrategy _equity_curve ... _trades Size Entr... I can get better results but it will be more of an overfitting. so I am trying to make sure that I am creating an adaptive strategy rather than over fitted one. (I tested it in a real account for the last 1.5 months and it is meeting the expectations) horizontal market is not the best situation for the strategy
@freshprincekd
@freshprincekd 11 ай бұрын
Great video, you made it so easy to follow along. Would love to see you try a mix of ichimoku and bollinger bands for a strat.
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Thank you, Never tried Ichimoku yet, it's a good idea.
@trantrunghieu5059
@trantrunghieu5059 11 ай бұрын
Have any tools or backtest library that we can backtest the strategy with the spreads? Examples add the spreads with 1 pips or 0.5 pips for the backtesting.
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Backtesting.py doesn't do it this way, we can however add a commission percentage and usually we include all trading costs there. But in my recent video I am testing this strategy live on the market so the spread is taken into account check this out: kzbin.info/www/bejne/mIvLpamse9JkbaM
@arinnfc
@arinnfc Жыл бұрын
on youtube NFC there is a discussion about scalping, and indeed the advantages of this trading style are very profitable
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Thank you for the heads up, if you have a youtube link for the video it would be good to see.
@sz8558
@sz8558 11 ай бұрын
A problem you will have scalping fx is that once you pop up on the brokers radar that will shut your account..they dont want scalpers...so line up a bunch of accounts so you have options when one account is shut down.
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Colleague of mine had a problem like this he was making good money until the broker froze his account for "suspicious trading", I guess it depends on the broker and the location of your trading, but yes we have expect anything especially if a bot is running non stop.
@abdulshaikh3465
@abdulshaikh3465 9 ай бұрын
❤❤❤❤ for sharing the code.
@CodeTradingCafe
@CodeTradingCafe 9 ай бұрын
Any time! Thank you for you support.
@LemonFX
@LemonFX Жыл бұрын
I would say that strategy would work best with trending instruments: indices, gold and USDJPY (and some other JPY pairs).
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
True, it works best in trends, but in ranging market it can dip in a drawdown.
@deniszhuravlev9874
@deniszhuravlev9874 11 ай бұрын
Interesting idea. I'd like to change BolingerBands on levels of support and resistance. Also you can try to add pyramiding function.
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
I agree for support resistance, it's worth a go, pyramiding is scary I would only try it for fun on a paper account.
@samilawsy7845
@samilawsy7845 10 ай бұрын
Thanks its work . But rsi i think work with 5 period to buy from lower under 50 or 30 .
@samilawsy7845
@samilawsy7845 10 ай бұрын
its work 👌
@CodeTradingCafe
@CodeTradingCafe 10 ай бұрын
Glad it's working, thank you for your support.
@veniciussoaresdasilva6614
@veniciussoaresdasilva6614 9 ай бұрын
I think only in live account we can prove any strategy!!! Thanks for share.
@CodeTradingCafe
@CodeTradingCafe 9 ай бұрын
Yes 100%, we did test it on a paper account using live data, the results are published in subsequent videos.
@lemiserablefranc-macon9997
@lemiserablefranc-macon9997 8 ай бұрын
Hi, thanks for your answer! What I tried suggest was publishing the code that was used in the demo account. Yesterday I got several errors when move to demo account. Thanks for share again. I work in my RL integration and I still looking for other ideias to integrate on my RL. Have a great day.
@serraanindhita
@serraanindhita 11 ай бұрын
useful content! thankyou i am still learning in the Nusantara fx community
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Happy this content is of help! thank you for your support.
@daithi007
@daithi007 Жыл бұрын
Interesting video, thank you for making it. 1/ I'd like to see it run against a paper account. 2/ I'd like to see the code for interacting with a brokerage like Interactive Brokers. 3/ I'd like to see all fees included too. Thanks!
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Thank you for your feedback, makes sense, I will see to try it live, I will be tuning it first for live trading and better results.
@ranitbose9609
@ranitbose9609 Жыл бұрын
why don't you do it?
@benmichaeloracion
@benmichaeloracion 11 ай бұрын
@@CodeTradingCafe looking forward to the subsequent videos related to this. I'm hoping you could do those things he mentioned.
@sheilanfc
@sheilanfc 11 ай бұрын
useful content! thankyou i am still learning in the Nusantara fx community class
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Welcome!
@rezasadeghi2520
@rezasadeghi2520 Жыл бұрын
would be very interesting to see, specially when spread is considered.
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Yes, the problem is that spread will mess up our ratios that we've already optimized in terms of SL and TP distances, this is highly challenging on low timeframes.
@JoseMariaAcuña-v7k
@JoseMariaAcuña-v7k 5 ай бұрын
HI hi!! nice to meet you! great video!. I have a cuestion. Where you get the information of the data file?
@CodeTradingCafe
@CodeTradingCafe 5 ай бұрын
Thank you, your broker, yfinance or dukascopy.
@JoseMariaAcuña-v7k
@JoseMariaAcuña-v7k 5 ай бұрын
@@CodeTradingCafe Sorry I have a problem with that, I have tried to use yfinance, I manage to export the historical data, but in the time part I get 00:00:00.0. So, I don´t have any data, and I don´t know why, if you dont mind, could you help me or guide me on that? Thanks
@timnguyen2551
@timnguyen2551 6 ай бұрын
hi, i love your videos ! Do you have the script to implement this strategy in Tradingview ? Thanks
@CodeTradingCafe
@CodeTradingCafe 6 ай бұрын
Thank you for your support, I am just on python no other coding languages for now :)
@King_A_limited
@King_A_limited 6 ай бұрын
It would be interesting to see it performance in live trading
@CodeTradingCafe
@CodeTradingCafe 6 ай бұрын
I deployed it here : kzbin.info/www/bejne/mIvLpamse9JkbaM and a quick recap of the results : kzbin.info/www/bejne/mKavf3mFq61-btE
@jaydy71
@jaydy71 8 ай бұрын
It's interesting to see how you could get a relatively simple rule-based strategy like this to actually work. Personally I was never successful with that, well at least not in a way that would also make back trading fees. But admittedly I wasn't as rigorous as you when I first tried something like this (and I didn't know much at all about trading, so that didn't help either). I only started to get profitable results when I started applying machine learning (and started to learn more about trading as I went along). I already had some years of experience with machine learning under my belt (but in very different domains), but I have to say even with that experience it took me a lot of experimentation to get it to work to an acceptable agree with trading. It's perhaps the most difficult and counter-intuitive problem I ever worked on. But that makes it so interesting too :)
@CodeTradingCafe
@CodeTradingCafe 8 ай бұрын
I totally agree (and I also say the same) it's probably the most challenging problem I have ever worked on (after modelling ions collisions using Born theory and monte-carlo sampling lol). For me simple conditions strategies worked much better than Machine Learning, and they are faster to implement.
@jaydy71
@jaydy71 8 ай бұрын
@@CodeTradingCafe That's very interesting, I should probably give rule-based strategies a second chance. Much easier to test :) My own work experiences in ML are in the fields of NLP and currently predictive maintenance of machinery. Doing a bit of hobby stuff on the side in the field of audio/DSP. Anyway, keep up the good work, I'm learning a lot on your channel!
@CodeTradingCafe
@CodeTradingCafe 7 ай бұрын
Nice! NLP is a good niche as well, now booming after GPT and Co. :)
@peterwestermann5265
@peterwestermann5265 3 ай бұрын
Oh man!!! Thank you very much for sharing, still a bit advances python for me but I am on it1
@CodeTradingCafe
@CodeTradingCafe 3 ай бұрын
Best of luck! and thank you for your comment!
@discordmember-f3g
@discordmember-f3g Жыл бұрын
Would be great to see it live on Interactive Broker paper account
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Thank you for your support, it has to be further optimized for live trading considering spread... will get back when it's ready.
@Theprofessor-iy5uo
@Theprofessor-iy5uo 9 ай бұрын
I love what you are doing sir... Anyone wanting to automate their strategy can inbox me too..
@CodeTradingCafe
@CodeTradingCafe 9 ай бұрын
Thank you for your support.
@tradingbotconale
@tradingbotconale 2 ай бұрын
Hi thank you for this precious contents. I envy the ability you have to explain. just a consideration, you buy/sell, placing a market order and you set sl and tp considering current price, this has sense using limit order but, in this case, I guess that is better to place market order and during the next candle set sl and tp using the trade averaged price...this avoid situation in which entry price is over tp or sl. anyway thank you very much.
@CodeTradingCafe
@CodeTradingCafe 2 ай бұрын
Thank you for your comment. I am trying to find a simple way to code this, do you think we can simply set a market order and the TP and SL values in relation to the entry price? as simple as that I guess it should work.
@notcool5498
@notcool5498 9 ай бұрын
Awesome content as always, keep up the great work! Also wanted to share some small optimization for the calculations part of the code: def vectorized_ema_signal(df, backcandles): df['EMA_fast < EMA_slow'] = 0 df['EMA_fast > EMA_slow'] = 0 df.loc[(df['EMA_fast'] < df['EMA_slow']), 'EMA_fast < EMA_slow'] = 1 df.loc[(df['EMA_fast'] > df['EMA_slow']), 'EMA_fast > EMA_slow'] = 1 df['PreEMASignal'] = 0 df.loc[(df['EMA_fast < EMA_slow'] == 0) & (df['EMA_fast > EMA_slow'] == 0), 'PreEMASignal'] = 3 df.loc[(df['EMA_fast < EMA_slow'] == 1) & (df['EMA_fast > EMA_slow'] == 0), 'PreEMASignal'] = 1 df.loc[(df['EMA_fast < EMA_slow'] == 0) & (df['EMA_fast > EMA_slow'] == 1), 'PreEMASignal'] = 2 df['BackcandleSequence'] = df['PreEMASignal'].rolling(backcandles, min_periods=1).sum() df['EMASignal'] = 0 df.loc[(df['BackcandleSequence'] == backcandles * 1), 'EMASignal'] = 1 df.loc[(df['BackcandleSequence'] == backcandles * 2), 'EMASignal'] = 2 df['EMASignal'] = df['EMASignal'].shift(1) df['EMASignal'].fillna(1, inplace = True) df.drop('EMA_fast < EMA_slow', axis=1, inplace=True) df.drop('EMA_fast > EMA_slow', axis=1, inplace=True) df.drop('PreEMASignal', axis=1, inplace=True) df.drop('BackcandleSequence', axis=1, inplace=True) def vectorized_total_signal(df): df['TotalSignal'] = 0 df.loc[(df['EMASignal'] == 2) & (df.close = df['BBU_12_2.5']), 'TotalSignal'] = 1 It might speed up the code a bit, and again much appreciate the content :)
@CodeTradingCafe
@CodeTradingCafe 9 ай бұрын
Thank you for sharing, and for your support as well.
@jroche1832
@jroche1832 11 ай бұрын
Do you have a version where you are trading stocks rather than currency pairs? 'mysize' does not work when applied to equities or does this only work on currency trading?
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Hi, it should work depending on the broker and the traded market, just need to know the allowed size fractions, and if you are trading an expensive asset make sure equity and leverage have enough money.
@lecerclecrypto
@lecerclecrypto 5 ай бұрын
I am not sure to understand but your average trade is around 0, that's means the fees or spread will cost you more and then the upward equity curve will be a negative curve in reality. Correct me if I missed something ?
@CodeTradingCafe
@CodeTradingCafe 5 ай бұрын
Depending on the fees amount per trade, but yes in general such scalping systems can be affected by fees because the take profit distances are usually short so not much is made per trade.
@przybjul
@przybjul 11 ай бұрын
Hey, when you generate signal, do you take into account that real trade should be open from the next candle?
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Yes it executes at the close of the current candle or the opening of the coming candle.
@russnagel1
@russnagel1 11 ай бұрын
Liked. Subscribed. I would love to learn how to run a strategy live in real time. Some way to get alerts would be great as well.
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Thank you for your support check this video on live signals from python: kzbin.info/www/bejne/j4qtZ5yIjbisbLs
@psychokarken
@psychokarken 11 ай бұрын
Very insightful your videos! Thank you !!! Maybe I very dumb question.. What would be the actual used case benefit of coding this in python.. rather than using trading view? I am fairly new to all of this.. thank you a lot :-)
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Hi, thank you for your support! Python mainly for 2 reasons, because I already code in Python it's my daytime job and you have access to Machine learning and advanced AI libraries like computer vision and neural networks... so you lack nothing working in python. But of course you can still do a lot using other codes and platforms.
@preetipics
@preetipics Жыл бұрын
thanks as always., This one looks really useful.
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Thank you for your support.
@PeterPankowski
@PeterPankowski 9 ай бұрын
Excellent stuff!🥰😍🤩
@CodeTradingCafe
@CodeTradingCafe 9 ай бұрын
Thank you! 🤗
@vassiliscapsis5828
@vassiliscapsis5828 7 ай бұрын
Hi Ziad. I have a question concerning the ATR. This is the ATR of the 5 min candles, not the daily ATR. Is that so?
@CodeTradingCafe
@CodeTradingCafe 7 ай бұрын
Hey, yes it's the 5 min ATR, I am still using one timeframe in this strategies.
@vassiliscapsis5828
@vassiliscapsis5828 4 ай бұрын
@@CodeTradingCafe hello again, reviewing everything again and again and trying to understand more about the details of the system. The ATR on the Eur/Usd and particularly on the 5min timeframe is extremely small, around 5 pips and the spread is around 1,5 pips so we should also consider it in the short term strategies. If am not mistaken brokers can provide both bid and ask prices and for scalping it would be better to use the proper value to buy or sell. I do not know if the backtest can handle this situation but a workaround would be to have both bid and ask price in the dataframe and then in "updated close" price to use the bid or ask if the signal is 2 or 1. For strategies on larger time frames 1 or 2 pips are not important. One more remark is that this strategy took 1671 trades in approx 100 days or almost 17 trades a day. One more reason to use some additional filters and prevent the system to take trades in hours with higher spreads (after US close, Asian session). Once again if the backtest cannot handle the from-to hours we could modify the total_signal accordingly.
@icometofightrocky
@icometofightrocky 11 ай бұрын
Very interesting video ! Question - was there a particular reason you used the BB value of 1.5 rather than 1 and a length of 15 rather than the standard 20 ?
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
The BB 1.5 is to increase the signal frequency, it's easier for the price to cross 1.5 than to cross 2, however 2 is more selective so maybe the win rate would be greater. for the length I usually compute it based on time so 5 min times 15 that't the time I want to consider for the signal, somehow answering the question, how much time/data should we consider for the signal?
@CptnYarface
@CptnYarface 6 ай бұрын
Great video! I'm also going through your Udemy courses as well. Love them! I do have a question on this video though. What is meant by "MySize=3000" and "Margin=1/30"? Are we assuming each trade is 3000 units (dollars, in this case) and the we're leveraging at 30:1?
@CodeTradingCafe
@CodeTradingCafe 6 ай бұрын
Hi thank you for your support. Yes size is 3000 units so it's 0.03 equivalent in MT4 and the leverage is 30:1.
@deekay2091
@deekay2091 Жыл бұрын
Very nice explanation. Do you build a dashboard of some sorts to track different signals and strategies over time? Any recommendation of a framework to use? I find using notebooks great for demos but am looking to build something to keep it all together.
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Hi, thank you for your support. I don't keep all signals in a log, only the most performing which are very few, so far support/resistance, rejection candles are the best predictors, and the most important is the time-frame I find daily time frame the most reliable but too slow, so too much waiting for an opportunity.
@bl286
@bl286 4 күн бұрын
Have you thought about adding dca logic
@CodeTradingCafe
@CodeTradingCafe 2 күн бұрын
Not yet... it's an idea
@williamlacerra1835
@williamlacerra1835 10 ай бұрын
Hi, very nice work, I'm testing it with other currency, but where i can find your backtesting package? To test it your full metrics?
@CodeTradingCafe
@CodeTradingCafe 10 ай бұрын
hi, you can install it from the notebook using the following command "!pip install backtesting"
@williamlacerra1835
@williamlacerra1835 10 ай бұрын
@@CodeTradingCafe thank you!
@williamlacerra1835
@williamlacerra1835 10 ай бұрын
Thank you for the help! I would like to suggest to you or maybe It's on the Channel already, a video on a multitimeframe analysis. I'm trying to dò something with multi timeframe signals. Did you have amy tips for me?
@CodeTradingCafe
@CodeTradingCafe 10 ай бұрын
Hi, it's easy on live trading, a bit more tricky on a csv dataset because you need to synchronize both timeframes data.
@leandrogoethals6599
@leandrogoethals6599 11 ай бұрын
Hey another great vid man keep it up! :) Is there a reason u always work with ohlc data in format(Gmt time,Open,High,Low,Close,Volume) instead of the ask/bid prices(Timestamp,Bid,Ask,Volume)? And why with GMT and not UTC?
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Thank you for your support. No particular reason I just have the data in this format and kept using it over time, but your idea about bid ask volume is good but might require more computation time since the data size in this case is much larger.
@leandrogoethals6599
@leandrogoethals6599 11 ай бұрын
@@CodeTradingCafe so iv gathered tick data from 1 jan 2020 till 1 jan 2024 and it took me 1 day with my internet(however i needed to do this only once) and yes i didn't pay for this i just did this per week since this was the free plans limit hihi :) However to compute the whole bid/ask with strategies it does take like 30mins on my i7-9850 4GHz overclocked then i made a script to read the csv and convert it to OHLC 5 mins candles, it is more inaccurate and sometimes late/early in the trades but only took 1-5 mins. So yeah i think we should do both first the quick testing on the candles then the long testing the ticks. Will u ever make a video with streaming api instead of restfull api live trading? Keep up the good vids :)
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Hi, good to know thank you for sharing. Regarding streaming API to be honest I am not intending to develop this now, mainly because the strategies I am using don't really need a stream API, my real trading style is even slower I am usually on the 4H and Daily timeframes I am very far from ticks and minutes data.
@corneliusluka3555
@corneliusluka3555 9 ай бұрын
Thanks you Sir, Is it candle close or high is the algorithm reading price movement?
@CodeTradingCafe
@CodeTradingCafe 9 ай бұрын
for now it's candle close, but you can modify it if needed.
@j1223aw
@j1223aw Жыл бұрын
Would love to see it on a thinkorswim paper account. Great Video Thanks
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Great suggestion! although it makes me nervous every time I test a strategy live.
@TheGamerTeo
@TheGamerTeo 11 ай бұрын
This is thoughtful, however the algorithm doesn't take into acount the spreads or transaction costs, these will cause a net loss.
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Hi, true, but I still expect it to keep some returns, I am testing it live now, check tomorrow's video I will show the live code and preliminary live results.
@linasadas
@linasadas 10 ай бұрын
Excuse me, WE only 44 proc? Did I understand you correctly? Profit was made only from money management?
@CodeTradingCafe
@CodeTradingCafe 10 ай бұрын
Money management is very simple in this video, there are better ways to do it.
@DanielContreras-decu
@DanielContreras-decu 11 ай бұрын
How can you put this python code to work in Metatrader 4, so that it opens and closes operations automatically?
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Hi, to make it work you need to translate it into mql5 language but you probably don't need to you can just run it straight from python, just needs a bit more coding lines, I will get the next video ready about live trading this strategy.
@darnelljohn7077
@darnelljohn7077 11 ай бұрын
have you ever tried implementing q learning algo?
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Hi, I am not aware of it, never tried it.
@Deathmaster-o6g
@Deathmaster-o6g 11 ай бұрын
Great work, Can we have a zoom call to discuss this? Thanks
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Thank you, unfortunately unable to live call lots of ideas and requests. ping me an idea in here and I will do my best to put it somewhere in a code.
@blockchain-builders
@blockchain-builders 11 ай бұрын
I had done similar strategy in pine and was performing great on SPX, Ive optimised it a bit more and now its making good return on 5 min SPX ( around ~120% with 9% DD using 50X leverage ) . I've included comission fee, slipage & margin , I may need to put swap fee as well ( pine doesn't take that input) . I went through your workbook and I guess there are many things to consider there, I be willing to work with you to improve it if you are interested.
@blockchain-builders
@blockchain-builders 11 ай бұрын
@@CodeTradingCafe, Great share, Thank you so much for walk through, ideas and code. I run your workbook but I didn't see 200% return on 3 months , I saw 45% return over 4 years ... please advise
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Hi, thank you for sharing your results, I think returns depend on different parameter and mostly also the margin, I don't know what were the exact numbers.
@sadikelouahabi398
@sadikelouahabi398 Жыл бұрын
Thank you very much. Could you please do it in on live trading paper account. Thanks again.
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Will do soon, needs a bit of tuning first.
@bhavyamehra6931
@bhavyamehra6931 Жыл бұрын
Lets try a live version. Should be good for some validation and further tuning
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
further tuning for sure. Thank you for your comment.
@aarondelarosa3146
@aarondelarosa3146 10 ай бұрын
Excellent. Can you share the database?
@CodeTradingCafe
@CodeTradingCafe 10 ай бұрын
Hi, thank you, the data is in a link from the description.
@aarondelarosa3146
@aarondelarosa3146 10 ай бұрын
How do you get database?@@CodeTradingCafe
@CodeTradingCafe
@CodeTradingCafe 10 ай бұрын
Dukascopy is my source for this file.
@bombasticiti
@bombasticiti Жыл бұрын
Might try it out ...
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Good luck!
@ShardulPrabhu
@ShardulPrabhu Жыл бұрын
Any way to use regression trend channels ?
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
In this particular one I didn't think of it, but I included regression channels in previous videos: kzbin.info/www/bejne/fqHUoaeZatKKjZo
@lorenslobo7403
@lorenslobo7403 11 ай бұрын
running it on a simulated live account would be a bomb ! also, I want to ask, can you do a video on RSI Divergence ? It will be interesting to see how you will implement the divergence (its quiet hard)
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Hi, I have tried divergence .. not that hard :) it was a while ago maybe we should revisit : kzbin.info/www/bejne/aZWYg4eqpJqZgbs
@lorenslobo7403
@lorenslobo7403 11 ай бұрын
You are a beast@@CodeTradingCafe
@WasimZayed
@WasimZayed 11 ай бұрын
I don`t know what you are using! but this Bollinger band you draw dose not look like any Bollinger I used before !
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Hi, it'a bit narrower I used 1.5 standard deviation instead of the usual 2
@wftrdshometoprofessionalfo142
@wftrdshometoprofessionalfo142 Жыл бұрын
Please try it on paper or live trading condition. Most appreciated
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Will do but have to apply some tuning for live trading first.
@jroche1832
@jroche1832 11 ай бұрын
Why wouldn't you trade anything above 10% for Max Drawdown [%]? Is there a period you would trade higher? I have a very profitable algo but its max drawdown is around 20%
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
I find it risky, 20% is a lot but that's just experience opinion there are always exceptions. But good to know that it's working for you maybe I will give some algos their chance now :)
@jroche1832
@jroche1832 11 ай бұрын
@@CodeTradingCafe Thanks for the note. It has a compound 177% return over 15 years with 72% win rate. Avg DD is 4% so I'm pretty happy with that. Paper trading it now
@jroche1832
@jroche1832 11 ай бұрын
@@CodeTradingCafe on another note, is there a way to use self._broker._cash to vary your investment amount over time for example 50% if below an EMA?
@jroche1832
@jroche1832 11 ай бұрын
I tried: if self.data.EMA[-1] > self.data.Close[-1]: self._broker._cash = self._broker._cash/2 but that under performs significant;y
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
If you meant to change the lot size depending on your equity, anything below 1 in backtesting is considered a percentage of the total equity, so lot size 0.5 is 50%, and any value above 1 is a fixed lot size for example 1000 is 0.01 lot. check it out.
@leadingworld
@leadingworld 11 ай бұрын
Is it back tested on specific assets? What assets do you think will be the best for this strategy?
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Good question, honestly I didn't test it on different assets but I should. For now I am testing it live... a glimpse on the results, every morning it's up by around +5% profit (which is huge) for some reason it drops down to +0.5% during New York session, trying to figure it out.
@jacoritter
@jacoritter 11 ай бұрын
Can u advise which EMAs u using
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
In this video It think 50 and 30 EMAs that's for slow and fast.
@PrayalankarSharma
@PrayalankarSharma Жыл бұрын
yes! we would like to see it on paper trade account.
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Hi, thank you for your support!
@man6299
@man6299 11 ай бұрын
How to apply this code to live trading? Please explain
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Hi, there's an example how to connect with a broker here: kzbin.info/www/bejne/jZTJfJSQgZmppqM But it requires some coding skills. Good luck!
@bigbeurs
@bigbeurs 9 ай бұрын
what are the setiings from the ema's?
@CodeTradingCafe
@CodeTradingCafe 9 ай бұрын
30 and 50 in lengths, but you can change these in the code if desired.
@YoYo21688
@YoYo21688 11 ай бұрын
How u get data from? Is it work for stock or future?
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Hi, yes it works but needs tuning, the data is from YFinance and Dukascopy, brokers also provide data.
@AZG324
@AZG324 11 ай бұрын
what broker were you using for API?
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
I used Oanda in the past, both Oanda and IB offer easy API
@Time_Well_Spent7
@Time_Well_Spent7 11 ай бұрын
from where u dowloaded csv which website ?
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Dukascopy has good data.
@Timeless_Stoic
@Timeless_Stoic Жыл бұрын
Please make it be live And please teach us how to code price action strategy or breakout strategy
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Hi, thank you for your comment. I have many videos on break out: kzbin.info/www/bejne/fnTPqXaMq8uLeq8 kzbin.info/www/bejne/fqHUoaeZatKKjZo kzbin.info/www/bejne/parYqpiPnsRqqNk
@MisterPDR
@MisterPDR Жыл бұрын
the problem is that the average trade does not stand slippage and commission. but give it a try!
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
True! it might need tuning again on live data considering at least the spread.
@MisterPDR
@MisterPDR Жыл бұрын
@@CodeTradingCafe why not increase the timeframe to increase average trade?
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
That's a good idea, I always traded 4H and Daily, I am just including 5 min as a variation for the YT channel, but daily timeframe is still my favorite.
@liakella
@liakella 11 ай бұрын
Thank you for explanation
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Glad it was helpful!
@1play2fun
@1play2fun 9 ай бұрын
Very interesting
@CodeTradingCafe
@CodeTradingCafe 9 ай бұрын
Glad you think so! Thank you for your support.
@borundas1625
@borundas1625 9 ай бұрын
sir how to do this in option trading
@CodeTradingCafe
@CodeTradingCafe 9 ай бұрын
At the moment I haven't developed any solutions for options, but you can try and modify the code if needed.
@muhireinnocent2371
@muhireinnocent2371 10 ай бұрын
when i EURUSD M5 data from Meta quotes and i run the code , without changing anything i get a return of 10% and maximum drawdown of -6% what's causing this difference . the data is from 2023/06/06 to 2024/02/29
@CodeTradingCafe
@CodeTradingCafe 10 ай бұрын
Hi, not sure, hard to guess, might be the data or the time slice you're testing, and maybe parameters in the code.
@akilahmedmd.1724
@akilahmedmd.1724 11 ай бұрын
will there be any spread problem ???
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Yes and no... yes because it will mess up our ratios of SL and TP by a bit, but this can be corrected I am testing it live now will take some time before publishing.
@dencp1962
@dencp1962 10 ай бұрын
Is this strategy viable with commissions?
@CodeTradingCafe
@CodeTradingCafe 10 ай бұрын
I am testing it live now, some weeks are good some are not we just have to wait couple of months I guess. kzbin.info/www/bejne/mIvLpamse9JkbaM
@JustThink-cg4px
@JustThink-cg4px 5 ай бұрын
Something wrong in that code because in the first rows the EMA direction is equal to zero, However the signal values is equal to 1 (sell signal) The signal should be 1 or 2 only if the ema direction is not equal zero
@CodeTradingCafe
@CodeTradingCafe 5 ай бұрын
Hi I verified this using : df[(df.TotalSignal !=0) & (df.EMASignal == 0)] and got no false signals. Did you modify anything in the code? check from your side if there is something you have missed.
@JustThink-cg4px
@JustThink-cg4px 5 ай бұрын
@@CodeTradingCafe thank you for your reply, will check in my side
@Larussiecestlavie
@Larussiecestlavie 11 ай бұрын
Life is good without trading fees 😅😅
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Well the strategy has to work without fees first, then we can add fees to see if it still works, if not we can adjust a thing or 2, fees are different depending on type of account and broker. But I am trying to test it live now.
@sanchaykasturey5334
@sanchaykasturey5334 11 ай бұрын
​@@CodeTradingCafe😂😂
@msmly
@msmly 4 ай бұрын
@@CodeTradingCafe Do you tested it?
@heenakowsar4538
@heenakowsar4538 10 ай бұрын
Hi how to istall this stratergy into live account ?
@CodeTradingCafe
@CodeTradingCafe 10 ай бұрын
Open oanda account, learn basic python install python, and link this code to your account, if you have never done coding before it's a month of evening hours side hustle. Good luck!
@heenakowsar4538
@heenakowsar4538 10 ай бұрын
I'm from india I cannot open account through this broker what to do now ?@@CodeTradingCafe
@heenakowsar4538
@heenakowsar4538 10 ай бұрын
Any other API supporting platforms for india which supports API ? please let me know i use exness @@CodeTradingCafe
@CodeTradingCafe
@CodeTradingCafe 10 ай бұрын
Hi, I know Interactive Brokers they have an API, and Binance as well.
@ndanielamaha5618
@ndanielamaha5618 11 ай бұрын
Would this work on crypto?
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Hi, yes it should work but of course you need to optimize few parameters first to get it working well.
@marcosunt1206
@marcosunt1206 11 ай бұрын
Is there a solution for the 2 weeks leading to that -16% drawdown ? Loving your video bro!! Thanks
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Thank you for your support. Not sure drawdown can be avoided in any form of trading, we just have to manage losses when it happens.
@Nachhitoo
@Nachhitoo Жыл бұрын
HOLA COMO PEGO EL BOT EN MI METATRAIDER PARA PODERR USARLO YO? GRASIAS
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Hi, this doesn't work in Metatrader only in Python.
@usunyu
@usunyu Жыл бұрын
Great content, looking forward how it perform on paper account
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Me too! I will need to tune it for spread and try to increase the profit.
@abdous-i8s
@abdous-i8s 4 ай бұрын
did you try any of those bots live yet?
@CodeTradingCafe
@CodeTradingCafe 4 ай бұрын
I did
@ShardulPrabhu
@ShardulPrabhu Жыл бұрын
We want it on live
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Thanks, we all do! it's challenging with the spread need to optimize it first.
@pradeepbirajdar7334
@pradeepbirajdar7334 Жыл бұрын
Live testing on paper trading
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
In progress... thank you
@amritwt
@amritwt Жыл бұрын
dope content, what does your portfolio/trading journal look like?
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Thank you! my portfolio not very impressive I trade slowly because I work during the day, so I have a very little number of trades per month, it's fun though.
@jackfrosterton2530
@jackfrosterton2530 11 ай бұрын
@@CodeTradingCafe "I trade slowly because I work during the day" Since you have an entire channel dedicated to automated trading, have you considered automated trading?
@fxsurgeon1
@fxsurgeon1 10 ай бұрын
Overfitted somehow, no trading costs included? Doesn't work on MT5, it's a losing strategy.
@CodeTradingCafe
@CodeTradingCafe 10 ай бұрын
it doesn't have to work on MT5, deployed it live just using python, running smooth and never needed MT.
@Nachhitoo
@Nachhitoo Жыл бұрын
THENKIU
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Thank you for your support
@autonate_ai
@autonate_ai Жыл бұрын
This is dope!
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Thank you !
@guillermoochoadeaspuru625
@guillermoochoadeaspuru625 10 ай бұрын
In my opinion, this backtest is not representative of the validity of the strategy. This is a trend-following stragegy, and you backtested it only over three months when the market was mostly trending downward. So, no surprise that if you test a trend-following strategy on a trending market, the strategy will come out as profitable. However, if you use this strategy live, you will pour money down the drain when the market goes sideways. It is not a good strategy, in my opinion.
@CodeTradingCafe
@CodeTradingCafe 10 ай бұрын
I guess like you said it works in some conditions, I need to find a way so it skips trading ranging market. At the end the market is either ranging or trending (or both 😅).
@dcchase8225
@dcchase8225 Жыл бұрын
Excellent
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Thank you so much for your support.
@poisonza
@poisonza Жыл бұрын
Slippage and commission ... 😢
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Yes sorry about this, but these are not the main issue, it's mainly how the spread messes up the SL TP ratios that we already optimized here, so the values should be modified considering the spread as well, I am testing this live now, I have to wait ... fine tune then test again, I will share it when it's done. (trading daily timeframe is much easier!)
@damventa
@damventa 11 ай бұрын
Live test
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
Next time... or the one after, the test takes time to run and see some results.
@pranjalchaubey
@pranjalchaubey 6 ай бұрын
Loss making strategy as soon as you enter exchange trading fee and slippage.
@CodeTradingCafe
@CodeTradingCafe 6 ай бұрын
Yes the curse of low timeframes is this, high trading frequency hence high fees... But if shows potential on lower timeframes maybe it's wprth scaling to higher TF.
@AkVertasium232
@AkVertasium232 Жыл бұрын
bro ur using 1/30 levrage the the roi is must good make strategy to trade 100 % capital
@abdsh422
@abdsh422 Жыл бұрын
Why100% part of being good is to control your risk reward 1/30 is good and will give a good return
@AkVertasium232
@AkVertasium232 Жыл бұрын
@@abdsh422 bro I didn't understand is he uses 1/30 th of capital per trade or taking 30×. On capital leverage to trade market just please explain me
@abdsh422
@abdsh422 Жыл бұрын
I believe I may have misunderstood your comment earlier. Regarding your question, a 1:30 leverage was utilized in the backtest (which is represented as 1/30 in the code). As for the 30000, it represents the lot size.
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
Hi, the lot size is 3000, if I trade with 100% capital returns will be very high but the risk as well.
@AkVertasium232
@AkVertasium232 Жыл бұрын
@@CodeTradingCafe thank you for making this content 🙏
@munivoltarc
@munivoltarc 11 ай бұрын
I don't understand why majority youtubers post moving averages or any other price lagging indicators in their code, every experienced traders know it is waste of time and money to use price lagging indicators, only scammers promote moving averages on internet to use to steal money from poor novice traders, use price action instead if you people are honest to teach your skill to viewers. Don't cheat them
@CodeTradingCafe
@CodeTradingCafe 11 ай бұрын
so price action is not a lagging indicator?
@ashishsuvarna3511
@ashishsuvarna3511 7 ай бұрын
@muni - why don't you suggest a good strategy then? I assume you might know the next price that will display on the chart before it's plot on the chart
@munivoltarc
@munivoltarc 7 ай бұрын
@@ashishsuvarna3511 if I would be right in forecasting the exact price, you would not comment me at all, friend don't ever take any ones comment personal or egoistic, think about that the benefit of the comment.
@munivoltarc
@munivoltarc 7 ай бұрын
@@CodeTradingCafe it is better than other indicators
@neuromencer0000
@neuromencer0000 7 ай бұрын
​@@munivoltarcI was watching this video, and read your comment with some expectations of suggesting some other indicators or better angle. What you basically want to say is moving everage is old and duping viewers, but you don't know what would be better strategy and anybody who ask your opinion is oversensitive. What a loser.
@anstotafarachibamu9889
@anstotafarachibamu9889 Жыл бұрын
Looks great but at this point it’s not realistic. Incorporate trading costs
@CodeTradingCafe
@CodeTradingCafe Жыл бұрын
True, but this is the way I test indicators checking just their potential. However for the full strategy it needs to be optimized with fees and spread on.
The Best Band 😅 #toshleh #viralshort
00:11
Toshleh
Рет қаралды 22 МЛН
Une nouvelle voiture pour Noël 🥹
00:28
Nicocapone
Рет қаралды 9 МЛН
GPT: KAMA Scalping Strategy in Python Makes 795%
21:00
Algo-trading with Saleh
Рет қаралды 26 М.
How Financial Firms Actually Make Money
22:40
QuantPy
Рет қаралды 376 М.
Scalping Is Hard (Until You See This)
26:58
SMB Capital
Рет қаралды 294 М.
Rayner Teo Bollinger Bands Strategy Backtest In Python High Return
23:29
How To Build A Trading Bot In Python
18:46
CodeTrading
Рет қаралды 864 М.