Join today
Strategies / Momentum / Awesome Oscillator EMA Cross

Awesome Oscillator EMA Cross

Buys when the Awesome Oscillator turns up from a trough and the close crosses above the 8-period EMA. Each trade has a 0.75% stop and a 1.5% target, so a winner pays twice what a loser costs. It only goes long and was run on charts from 1 minute to daily.

MomentumLong onlyIntradayUSD/JPY30 min
1.19Profit factor
816,190Net profit JPY
37.45%Win rate
769Trades
-165,200Max drawdown
1,061Avg trade

Best run of 34. USD/JPY, 30 min, spread 1, from run pf:2026-09-25-USDJPY-30m.tsv:1.

Entry rules, long

  1. Members only
  2. Close crosses above the 8-period EMA

Exit rules

  1. Stop loss at 0.75% from entry
  2. Members only

Test conditions

PeriodUp to 2026-09-25
InstrumentUSD/JPY, 30 minutes
Spread1 points
Contracts1
Starting capital1,000,000
CostsSpread only. Commissions and overnight financing are not included.
BarsUp to 200,000 bars, fewer where the instrument has less history
Last tested2026-09-25

Parameters

positionSize
Contracts per trade
1
signalPeriod
EMA that price must cross
8
aoFastPeriod
Fast average of the Awesome Oscillator
5
aoSlowPeriod
Slow average of the Awesome Oscillator
34
stopLossPct
Protective stop, percent of entry price
0.75
takeProfitPct
Profit target, percent of entry price
1.5

Every run

Markets and timeframes tested

MarketTimeframePFTradesWin %NetMax DD
USD/JPYBest run30 min1.19 76937.45816,190 JPY-165,200
USD/JPY1 hourn/a 99936.54822,560 JPY-247,990
USD/JPY10 minn/a 36237.29394,450 JPY-233,320
USD/JPY4 hoursn/a 48135.97297,270 JPY-147,760
USD/JPY15 minn/a 41635.58270,530 JPY-228,150
USD/JPY5 minn/a 19336.27176,290 JPY-162,780
EUR/USD4 hoursn/a 61136.5050,978 USD-24,314
EUR/USD3 minn/a 6744.7819,313 USD-7,010
Nikkei 2253 minn/a 66236.1017,055 USD-12,348
Nikkei 2255 minn/a 87235.7816,575 USD-14,062
EUR/USDDailyn/a 29335.4915,763 USD-12,410
Dow Jones5 minn/a 33436.539,166 EUR-5,676
Nasdaq 1005 minn/a 60836.517,732 EUR-4,672
DAX 4010 minn/a 79536.106,506 EUR-4,452
Nasdaq 10015 minn/a 1,41635.176,227 EUR-5,258
DAX 405 minn/a 46136.885,877 EUR-4,462
Dow Jones1 minn/a 7638.163,669 EUR-2,875
Nasdaq 1001 minn/a 17736.723,355 EUR-3,215
FTSE 1005 minn/a 29138.832,821 EUR-1,037
S&P 50030 minn/a 1,46536.722,068 EUR-764
S&P 50015 minn/a 1,05935.031,949 EUR-827
FTSE 1003 minn/a 19338.341,911 EUR-953
Gold5 minn/a 65837.691,721 EUR-1,234
FTSE 1004 hoursn/a 51335.281,720 EUR-1,483
Brent CrudeDailyn/a 10540.001,642 EUR-724
S&P 5001 hourn/a 1,23135.011,593 EUR-697
S&P 5005 minn/a 36837.231,532 EUR-1,106
FTSE 10010 minn/a 57534.781,381 EUR-1,357
Gold10 minn/a 87236.121,369 EUR-793
S&P 50010 minn/a 74435.221,230 EUR-933
Gold15 minn/a 1,02635.281,018 EUR-965
S&P 5002 minn/a 15937.74936 EUR-800
US Crude OilDailyn/a 26733.71862 EUR-485
Gold4 hoursn/a 53235.53862 EUR-336

Charts

Results by run

Net profit against max drawdown

Net profitMax drawdown
0-250K-125K500K1.0MUSD/JPY · 1 hourUSD/JPY · 30 minUSD/JPY · 10 minUSD/JPY · 4 hoursUSD/JPY · 15 minUSD/JPY · 5 minEUR/USD · 4 hoursEUR/USD · 3 minNikkei 225 · 3 minNikkei 225 · 5 minEUR/USD · DailyDow Jones · 5 minNasdaq 100 · 5 minDAX 40 · 10 minNasdaq 100 · 15 minDAX 40 · 5 min

The code

ProBuilder, rewritten to house standard

Every file in the library uses the same header, the same section order and the same variable names. The numbers above were produced by the original version before the rewrite, and the rewrite has not yet been compiled in ProRealTime.

// ============================================================
// Awesome Oscillator EMA Cross
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Momentum
// Direction: Long only
// Timeframe tested: 30 minutes
// ============================================================

// --- Settings ---
DEFPARAM CumulateOrders = false

// --- Parameters ---
positionSize = 1          // contracts per trade
signalPeriod = 8          // EMA that price must cross
aoFastPeriod = 5          // fast average of the Awesome Oscillator
aoSlowPeriod = 34         // slow average of the Awesome Oscillator
stopLossPct = 0.75        // protective stop, percent of entry price
takeProfitPct = 1.5       // profit target, percent of entry price

// --- Indicators ---
signalMA = ExponentialAverage[signalPeriod](close)
aoValue = Average[aoFastPeriod](MedianPrice) - Average[aoSlowPeriod](MedianPrice)

12 more lines: the entry and exit rules.

Read this first

Known weaknesses

  • Only 37.45% of trades won in the best run, so long strings of stopped-out trades are part of normal operation.
  • Profit factor on the best run is 1.19, a thin edge, and the max drawdown of JPY 165,200 sits against JPY 816,190 of net profit.
  • Only the USD/JPY 30 minute run has a recorded profit factor. Every row in the markets table comes from a parameter sweep where profit factor was not recorded.
  • Away from USD/JPY the gains are small, for example EUR 861.8 on Gold 4 hours over 532 trades, and commissions were not included.

Indicators used

Awesome OscillatorEMA

How to load it

  1. Copy the code with the copy button above the code block.
  2. In ProRealTime, open a chart of the instrument and timeframe you want to test, then open ProOrder > New trading system and choose "Create with programming".
  3. Paste the code, give the system a name and save it.
  4. Click "Backtest", set your own spread and position size, and run it before you consider trading it live.

Questions

About this strategy

Can the Awesome Oscillator EMA Cross run live in ProOrder?

Yes, it is a complete automated system with fixed stop and target. The code was rewritten after these tests and has not been compile-checked, so run it through ProBacktest first.

Where did it do best?

USD/JPY carried the results, with JPY 816,190 net over 769 trades on 30 minutes. EUR/USD, Nikkei 225, the stock indices, Gold and oil were also positive but with far smaller totals.

How much risk comes with 1 contract?

At the default positionSize of 1 the best run had a max drawdown of JPY 165,200. Check your own contract value and size down if that swing is too large for your account.

Why the 30 minute chart?

It gave the best recorded result. The 1 hour USD/JPY sweep made a similar JPY 822,560 but with a deeper drawdown of JPY 247,990.

Related

Strategies like this one

Monday Dip Buy

Uses the same indicator.

n/a PF · 146 trades

Supertrend Counter Trend

Best run on the same market, USD/JPY.

3.47 PF · 1,444 trades

Oscillator Mean Reversion

A similar profit factor.

1.18 PF · 627 trades

See how momentum systems like this sit inside a full portfolio. Join the ProRealAlgos waitlist.

The ProRealAlgos community gets the full rules, the complete code and the automated portfolio.

Past backtest results do not guarantee future results. This is not financial advice. Curated and maintained by ProRealAlgos. ProRealTime™ is a trademark of ProRealTime SAS. prorealalgos.comStatsDocs