This is a scalping system I built and tested over the last week called RAINE (after Lt. Aldo Raine). Thought might be useful to discuss how I went about putting this together from concept to code. And also a bit about how it works.
Above are the results of out of sample test. It's pretty decent but I'm pissed off it was one month shy of a green year.

It's a momentum trend scalper that aims to capture a piece of an intraday move.
Here's the custom backtester output, note how it picks out suitable and variable targets.
Development steps
First was just to go through some of the amazing free work available on TradingView/Pinescript. Apply indicators to chart, look at some markets, mess with the settings, mess with timeframe. See if any look ripe for picking out decent moves. Eyeball it basically.
Pinescript & TV are superb tools for testing and analysis. Don't let galaxybrain-larpers on twitter tell you otherwise.

The system comprises these parts;

1. Signal generator
2. Signal filter
3. Trade Setup
4. Risk management
5. Execution (not included in discussion here)
Signal generator
Pair of components; 200 IQ @ISilico 's Hull Suite which is awesome. And another oscillator I found. The oscillator attempts to pick out the base of a momentum trend, good but noisy. So I smooth with Hull Suite confluence first. I rewrote both in NodeJS:
Signal filter

Simple stuff. e.g. If Sig Gen says go long: make sure the oscillator is trending up, make sure Hull has flipped 'green' already, make sure we're trading above daily open. Don't open a trade at stupid hours ...
Trade Setup (for longs):

Stop: Use a recent low (set a minimum stop range though)
Entry: 1min bar close
Target: take ATR(24) of hourly bars (last day of range activity) target = entry + HOURLY_ATR(24) *.95
Risk management

1% per trade

Make sure we haven't lost too many trades today.

Make sure we haven't won a trade already today.

Long term; disable system if drawdown exceeds -30%
Backtesting

I wrote a tick based processor by aggregating trade history into 1min bins and storing the intrabar ticks along side the OHLCV.

You really need to do this if you've got a stop *and* a target otherwise how do you know which comes first intrabar?
One more thing, I just use sensible/defaults with parameters (e.g. Hull Suite is on 55)

Don't get cuck yourself searching for magic numbers.

any Qs, fire away. Get coding! Your dreams are possible etc.
also, results do include fees and slippage before anyone asks 😂
You can follow @azidynamics.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled:

By continuing to use the site, you are consenting to the use of cookies as explained in our Cookie Policy to improve your experience.