Silly Scalping EA

Hi Guys,

I’ve been playing around with various scalping and average down strategies.
Recently I’ve came up with below rules:

  • If body of the candle is larger than ATR MULTI (1x on default) on H1, Open 0.01 lot (or something small) in the opposite direction with 3 pips Take Profit. So, if you have a large bearish candle you go bullish.
  • If on next candle you are still open -> add 0.01 lot to the position
  • Close whole position if it hits a small target gain on position (ie. 1 unit of your account currency). So, if your first trade won’t fire you average down and wait until sum of unrealized gain/loss on all lots is = 1 USD/EUR/PLN/GBP/CZK or whatever you trade in.

Open for any ideas to push it further

Below for H1 GBPUSD.

Can share EA if anyone interested.


So 25% profit over 1900 trades, eh? It looks very smooth to me. Two questions:

1 Over what time period was this backtesting done?
2 What did you use for PIPs slippage between buy and sell? 3 PIPs take profit if highly affected by buy/sell spread and by slippage.

Free or not free? I wouldn’t taking a look.

Hi Mondeoman, Thanks for following up! Unfortunately I’ve had a issue with data and it’s more like a 10%-15%

  1. Backtest was for Jan 2020 up to Jun 2021
  2. This is a tricky one - I have tested with slippage between 0.2 pip - 10 pip and results are almost the same. Maybe need better tick data?
    Planning to do some forward testing soon.

@Thebeezneez of course it is free
Attached you will find expert with source code. Please use it only for testing, as it has not been tested live yet. (25.3 KB)

You rock @wilczasty. Thanks for sharing!

I would not describe that as “unfortunately”, I would use the words of Jocko Willink when confronted with a new challenge “that is good”. If you do not engage others for a second opinion, or ask others to critique your work you will never get any better. I am convinced that winning in this game is purely associated with having a strategy and a plan, (even automating that plan is a great conceptual idea hence my support of EAs) and having an attitude of continuous improvement. Personally, I have experience with process automation in other fields, and experience has taught me that I doubt I would ever let an EA run without human circuit breaker intervention - I hope I prove myself wrong on the future, and if I do, you will NEVER know. LOL.

HI Wilczasty,

Thanks for the EA! Some questions/remarks:

  • I would add a maximum number of open orders to avoid having too many trades against us.
  • What kind of strategy is it? Do you bet on a pullback after having a sudden big increase in volatility? Is it a common scalping strategy?


Hi Sam,

Since the attachement I’ve made multiple other versions by now :slight_smile: Looking for what will feel like a good thing to run as forward for few weeks.

I would not say this is a “kind” of strategy. I’m creating literally dozens of simple EAs and looking for some edge. This was just one of the ideas. Idea is, that if you have large move (here a candle), there is a quite a big chance, that market will reverse just a bit and this is what I want to scalp.

If it won’t give me these few pips, I go with averaging down waiting for a pullback. The bet here is that averaged down price will be picked up with next significant pullback before running out of free margin :slight_smile:

So far I’ve been averaging with each candle. It worked fine, but there are cases where market goes sideways and the averaging slows down. So now I am checking the averaging down using a grid with ATR*something as step size. This way free margin is used to open only with prices which pulls the average down. Next idea is to not wait for whole position to be in profit, but close intermediate grid trades, if in profit and reopen, if market comes back to the same level. It won’t change the overall averaged down price but may give some profits. In extremely good scenario multiple intermediate profits can “buy out” whole losing position. Hope this makes sense :wink:

Having a fixed limit of open positions I consider deadly, as whole profitability depends on ability to open positions until you profit :slight_smile: This is a bit gambling, but you can set it up in a way, that going broker is VERY not likely (but with still non zero chance).


Thanks for the detailed explanation :slight_smile:!

Your idea to average down based on a grid size depending on the ATR makes sense. The challenge will be to find the right constant to multiply the ATR by it (and also find the right ATR parameter).

Also, taking advantage of up and down and cashing in profits at different grid levels seems to be a good idea. This makes me think of the grid trend multiplier of Expert4x (not sure if you know it).

I just have the feeling that having too many parameters to optimize coud lead to some kind of overfitting. I like your EA since there is not too much parameters too optimize and in the same time it seems to be promising.

I have developed a lot of complicated EAs and now, I’m trying to simplify my approach :slight_smile:.

I know Expert4x, but somehow I don’t like it’s marketing on the web :slight_smile:

I don’t agree that number of parameters directly lead to overfitting.

For backtesting I look at set of parameters which gives positive result for multiple different pairs, timeframes, testing period.
Regardless of how many parameters you have, if you can find set of values (of 3, 5, 100 different parameters) which works in multiple conditions - you just optimize.

In the contrary, if you take multiple parameters and find their values to work only for H1 EUR USD in March 2018 - that’s overfitting. I like to turn on showing also losing results in MT4. If I see, that given parameter gives great results with one value and fails with others - it is just “lucky noise”. What I am looking for, are parameters which give slopes of profitability. Which means, that in fact there is stronger correlation between parameter and strategy profitability.
If strategy backtest says to me “if you use MA 10 you will get 30% gain, but if you use MA 11 you will lose half of your account” - that’s a garbage strategy :smiley:

Some parameters need to be adjusted for each different timeframe. For example (I don’t have logical explanation why) some moving average periods just work better on H1 than on D1 or M15. HLHB strategy from this site is an example - if you try to backtest the same MAs on other timeframes, it fails miserably in many combinations of timeframes/pairs.

I totally agree with what you call the “slopes of profitability”. I like the optimization chart in MT4 to find the areas where the profit remains good even by modyfying some parameters a bit, hopefully reducing the impact of over-optimization.

To find a good grid size, are you going to optimize x and y in the following formula : ATR(x) * y where x is the period of the ATR and y a step size in pips?


ATR period (x here) is not that important. ATR gives a good indication of what is considered “natural” range now. Ie. for filtering out too small candle formations in current volatility context.
Grid can be open for 10, 40, 100 candles and ATR from that much candles ago is not that relevant.
So ATR should only reflect very rough range for given pair - eg. ATR(21) or ATR(50) and is not part of optimization at all.

y would not be in pips, but as integer multiplier of this general ATR.
Aim here is to optimize the grid to make it close before large portion of free margin is used.
If my balance allows me to open 50 trades with 0.01 lot, I would look historically (few years back) to find a grid size, which will open no more than 30 trades at the same time. To have some free margin buffer.

Thank you for your reply :slight_smile:

What were the settings used for this Backtest. I’ll go ahead and forward test it for couple months.

Some good reading here. Appreciate the transparency on the EA @wilczasty. Not overhyping it and telling it as it is. Kudos and looks an interesting project you have.

1 Like (762.6 KB)

@cashisking86 - thanks for kudos.
@TheSpiffingGerman - Attached you will find most up to date expert with testing report and *.set for settings used (Feb 2018 - Today, M15, max 20 open positions, ~27% gain)

If you guys have any ideas on this strategy - pls let me know. Have fun!

New to scalping trading. I am a long term trader in general. Do know that scalping needs some faster execution of orders and decision making.

Auto trading enabled, icon smiley loaded for few hours but nothing happened.

Have you checked the settings and confirmed manually, that trade should trigger during these few hours?
If ran on M15 chart you have 4 candles per hour and only 16 candles after 4 hours. Trade triggers on large candle (based on range to ATR ratio). It is likely you have had no large enough candles during this period.

Just to make it clear - it is not a product and will not be supported in any way :slight_smile:

Goal of this post is to initiate discussion and verify, if:

  • This system can be profitable in long term
  • We can make it better

I am posting exact versions I am using for backtest and digging for you to play around, backtest, forward test, optimize settings etc. If something is not working for you - feel free to open the code and debug.

Hi wilczasty,

Have you still continue working on this EA. By any chance, are you willing to share the source code of your last version?