Join waitlist
Strategies / Trend / Ichimoku EMA Trend Filter Long

Ichimoku EMA Trend Filter Long

The system buys 1 contract during an Ichimoku uptrend in which the close is above EMA(50), which is above EMA(200). It sells when the SSL channel turns down, which ends the trend.

TrendLong onlyIntradayUSD/JPY30 min
1.22Profit factor
464,480Net profit USD
37.97%Win rate
1,317Trades
-97,060Max drawdown
353Avg trade

Best run of 37. USD/JPY, 30 min, spread 1, from run pf:2026-10-05-USDJPY-30m.tsv:3.

Entry rules, long

  1. The flag also needs the prior close above both spans from 59 bars earlier, and an upward SSL channel.
  2. The close must be above EMA(50), and EMA(50) must be above EMA(200).
  3. A buy also requires the 13-period EMA of (close minus prior close) times volume above 0, with open and close below the upper SSL line.
  4. The SSL channel follows SMA(10) of highs and lows plus or minus ATR(14), flipping direction when the close breaks out of it.

Exit rules

  1. No stop loss or profit target is set.

Test conditions

PeriodUp to 2026-10-05
InstrumentUSD/JPY, 30 minutes
Spread1 points
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-10-05

Every run

Markets and timeframes tested

MarketTimeframePFTradesWin %NetMax DD
USD/JPYBest run30 min1.22 1,31737.97464,480 USD-97,060
USD/JPYDailyn/a 3844.74489,110 USD-139,500
USD/JPY4 hoursn/a 25739.30358,280 USD-210,890
EUR/USD4 hoursn/a 29138.1434,000 USD-18,419
Silver4 hoursn/a 19837.8821,218 USD-9,178
Nikkei 2251 hourn/a 47237.7115,276 USD-7,399
EUR/USDDailyn/a 2560.0014,798 USD-7,817
Nikkei 2253 minn/a 1,32436.7813,387 USD-4,878
Nasdaq 100Dailyn/a 3953.8512,224 EUR-2,568
Nikkei 22515 minn/a 1,37734.1310,526 USD-9,690
Nikkei 22510 minn/a 1,38135.5510,435 USD-6,581
Nikkei 22530 minn/a 92333.5910,421 USD-8,754
Dow Jones1 hourn/a 30138.877,207 EUR-4,995
Dow Jones30 minn/a 57837.376,987 EUR-5,218
Nikkei 2254 hoursn/a 15134.446,915 USD-5,466
Dow Jones15 minn/a 1,07235.736,319 EUR-3,174
Nasdaq 10010 minn/a 1,37436.545,740 EUR-2,623
Nasdaq 1005 minn/a 1,39035.475,736 EUR-1,708
DAX 404 hoursn/a 13141.225,718 EUR-2,604
DAX 4030 minn/a 90535.695,549 EUR-2,483
Nasdaq 10030 minn/a 1,00136.865,082 EUR-2,725
Nasdaq 10015 minn/a 1,42536.914,963 EUR-2,891
Nasdaq 1001 hourn/a 50937.924,813 EUR-4,215
Nasdaq 1004 hoursn/a 17442.534,654 EUR-2,845
DAX 401 hourn/a 46436.853,368 EUR-1,850
DAX 4015 minn/a 1,40236.803,323 EUR-2,491
GoldDailyn/a 3348.481,701 EUR-809
Gold1 hourn/a 81038.021,673 EUR-707
Gold4 hoursn/a 24240.081,422 EUR-468
S&P 500Dailyn/a 4047.501,386 EUR-451
Gold15 minn/a 1,26633.411,327 EUR-556
S&P 5001 hourn/a 51337.821,269 EUR-499
Gold30 minn/a 1,29533.901,108 EUR-675
S&P 50030 minn/a 99535.981,045 EUR-839
S&P 50015 minn/a 1,42436.87884 EUR-515
S&P 5004 hoursn/a 16942.60818 EUR-582
Gold10 minn/a 1,30932.62683 EUR-523

Charts

Results by run

Top 10 of 37 runs. The full list is in the table above.

Net profitMax drawdown

The code

ProBuilder code, as tested

// ==============================================================
// Ichimoku EMA Trend Filter Long
// ProRealAlgos Strategy Library  |  prorealalgos.com
// Type: Trend
// Direction: Long only
// Timeframe tested: 30 minutes
// ==============================================================

DEFPARAM CumulateOrders = false

ONCE hlv = 0
ONCE trending = 0

tenkan = (highest[20](high) + lowest[20](low)) / 2
kijun = (highest[60](high) + lowest[60](low)) / 2
leada = (tenkan + kijun) / 2
leadb = (highest[120](high) + lowest[120](low)) / 2

emafifty = ExponentialAverage[50](close)
ematwohundred = ExponentialAverage[200](close)
efi = ExponentialAverage[13]((close - close[1]) * volume)

myAtr = AverageTrueRange[14](close)
smahigh = Average[10](high) + myAtr
smalow = Average[10](low) - myAtr

38 more lines: the entry and exit rules.

Setup

How to load it

  1. Copy the code with the copy button on 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.

Indicators used

IchimokuEMASMAATRVolume
Read this firstKnown weaknesses2 points
  • Results include the spread only. Commissions and overnight financing are not included.
  • The code is published as it was backtested and has not been compiled again since.

Questions

About this strategy

Can I run Ichimoku EMA Trend Filter Long in ProOrder?

Yes. The code is ProBuilder and runs as an automated ProOrder system. Backtest it on your own account with your own spread and position size before trading it live.

Which markets was it tested on?

It was tested on 37 market and timeframe combinations. The best run was USD/JPY, 30 minutes, with a profit factor of 1.22 over 1,317 trades.

How large was the drawdown?

The best run had a maximum drawdown of 97,060 USD at the tested position size, against a net result of 464,480 USD.

Does it trade long, short or both?

It only takes long trades.

Related

Strategies like this one

Trend Surfer

Uses the same indicator.

1.04 PF · 10,813 trades

EMA 8 21 RSI Filtered Bracket

Best run on the same market, USD/JPY.

1.09 PF · 6,194 trades

EMA 20/50 Cross

Also a trend strategy.

1.22 PF · 1,288 trades

Want strategies that are already part of a live 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