Operational Signal Validation Experiment.
This is NOT a production strategy, NOT an approved strategy, and NOT a live deployable system.
The objective is to validate signal generation mechanics, backtest correctness, candlestick mapping
accuracy, and trade logging — not to evaluate profitability or edge.
Returns shown are 1× notional price returns with no leverage, lot sizing, or risk weighting.
Summary Metrics
1115
Total Trades
698
Long Trades
417
Short Trades
49.7%
Win Rate
-0.0017%
Expectancy (avg)
0.9421
Profit Factor
-2.58%
Max Drawdown
-1.84%
Net Return (additive)
Validation Criteria
Backtest runs and produces trades
Validation sample charts generated
Trade log complete (all required fields)
trend_rule_passed=True on all trades
touch_rule_passed=True on all trades
Visual inspection of sampled charts (human step)
Validation Result
✔ VALIDATION PASS
Operational signal validation experiment — this is NOT a strategy approval decision.
Trade log complete — all 18 required fields present.
56 validation chart(s) generated and embedded in report.
All trades: trend_rule_passed=True.
All trades: touch_rule_passed=True.
VISUAL INSPECTION REQUIRED — review sampled charts to confirm EMA20 touch, trend direction, and entry/exit timing are correct.
Strategy Logic
Indicators
EMA20 and EMA50 computed on close price using exponential weighting (span=20, span=50, adjust=False). No lookahead.
Long Trend
EMA20 > EMA50 AND close > EMA50 on the signal candle.
Short Trend
EMA20 < EMA50 AND close < EMA50 on the signal candle.
EMA20 Touch
candle_low ≤ EMA20 ≤ candle_high. The candle range touches or crosses the EMA20 line.
Entry
Open of the next M15 candle after the signal candle. No lookahead. Signal confirmed at close of signal candle.
Exit
Close of bar (entry_idx + 2) — exactly 3 completed M15 candles after entry bar. Time-based only. No stop loss, no take profit.
Position Rules
One position at a time. New signals ignored while trade is open. No overlapping positions.
Returns
1× notional: LONG = (exit − entry)/entry × 100. SHORT = (entry − exit)/entry × 100. No leverage or lot sizing.
Validation Sample Charts (56 sampled — 5% of 1115 trades)
These charts are the proof layer for signal validation.
For each sampled trade: verify that the EMA20 touch actually occurred on the signal candle,
the trend direction is correct, entry is on the next candle open, and exit is 3 bars later.
The yellow highlight = signal candle. Triangle = entry.
✕ = exit.
Trend is UP — fast EMA20 (158.599) is above slow EMA50 (158.574), and the candle closed at 158.594 (above EMA50). Uptrend confirmed. Signal candle range [158.566–158.635] includes EMA20 (158.599). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 158.59350. Hold 3 candles → exit at close 158.58550. LOSS (-0.0050%)
Trend is UP — fast EMA20 (158.140) is above slow EMA50 (158.070), and the candle closed at 158.206 (above EMA50). Uptrend confirmed. Signal candle range [158.122–158.206] includes EMA20 (158.140). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 158.20600. Hold 3 candles → exit at close 158.15400. LOSS (-0.0329%)
Trend is DOWN — fast EMA20 (158.058) is below slow EMA50 (158.063), and the candle closed at 158.014 (below EMA50). Downtrend confirmed. Signal candle range [157.997–158.094] includes EMA20 (158.058). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 158.01400. Hold 3 candles → exit at close 158.03750. LOSS (-0.0149%)
Trend is UP — fast EMA20 (158.084) is above slow EMA50 (158.043), and the candle closed at 158.169 (above EMA50). Uptrend confirmed. Signal candle range [158.070–158.216] includes EMA20 (158.084). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 158.16900. Hold 3 candles → exit at close 158.16250. LOSS (-0.0041%)
Trend is UP — fast EMA20 (158.304) is above slow EMA50 (158.212), and the candle closed at 158.338 (above EMA50). Uptrend confirmed. Signal candle range [158.286–158.355] includes EMA20 (158.304). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 158.33800. Hold 3 candles → exit at close 158.43750. WIN (+0.0628%)
Trend is DOWN — fast EMA20 (158.216) is below slow EMA50 (158.320), and the candle closed at 158.268 (below EMA50). Downtrend confirmed. Signal candle range [158.171–158.279] includes EMA20 (158.216). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 158.26800. Hold 3 candles → exit at close 158.32850. LOSS (-0.0382%)
Trend is DOWN — fast EMA20 (154.210) is below slow EMA50 (154.835), and the candle closed at 154.251 (below EMA50). Downtrend confirmed. Signal candle range [153.911–154.326] includes EMA20 (154.210). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 154.25150. Hold 3 candles → exit at close 153.83600. WIN (+0.2694%)
Trend is UP — fast EMA20 (154.028) is above slow EMA50 (153.815), and the candle closed at 154.042 (above EMA50). Uptrend confirmed. Signal candle range [154.003–154.173] includes EMA20 (154.028). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 154.04200. Hold 3 candles → exit at close 153.85900. LOSS (-0.1188%)
Trend is UP — fast EMA20 (155.550) is above slow EMA50 (155.437), and the candle closed at 155.515 (above EMA50). Uptrend confirmed. Signal candle range [155.475–155.553] includes EMA20 (155.550). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 155.51500. Hold 3 candles → exit at close 155.51800. WIN (+0.0019%)
Trend is UP — fast EMA20 (155.515) is above slow EMA50 (155.456), and the candle closed at 155.538 (above EMA50). Uptrend confirmed. Signal candle range [155.484–155.547] includes EMA20 (155.515). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 155.53850. Hold 3 candles → exit at close 155.42100. LOSS (-0.0755%)
Trend is UP — fast EMA20 (156.239) is above slow EMA50 (156.073), and the candle closed at 156.341 (above EMA50). Uptrend confirmed. Signal candle range [156.237–156.345] includes EMA20 (156.239). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 156.34150. Hold 3 candles → exit at close 156.44850. WIN (+0.0684%)
Trend is UP — fast EMA20 (156.870) is above slow EMA50 (156.785), and the candle closed at 156.884 (above EMA50). Uptrend confirmed. Signal candle range [156.824–156.919] includes EMA20 (156.870). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 156.88400. Hold 3 candles → exit at close 156.80600. LOSS (-0.0497%)
Trend is UP — fast EMA20 (156.845) is above slow EMA50 (156.796), and the candle closed at 156.814 (above EMA50). Uptrend confirmed. Signal candle range [156.814–156.854] includes EMA20 (156.845). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 156.81400. Hold 3 candles → exit at close 156.85750. WIN (+0.0277%)
Trend is DOWN — fast EMA20 (156.888) is below slow EMA50 (156.925), and the candle closed at 156.916 (below EMA50). Downtrend confirmed. Signal candle range [156.845–156.946] includes EMA20 (156.888). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 156.91600. Hold 3 candles → exit at close 156.84800. WIN (+0.0433%)
Trend is DOWN — fast EMA20 (156.768) is below slow EMA50 (156.838), and the candle closed at 156.698 (below EMA50). Downtrend confirmed. Signal candle range [156.692–156.774] includes EMA20 (156.768). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 156.69850. Hold 3 candles → exit at close 156.68350. WIN (+0.0096%)
Trend is UP — fast EMA20 (156.909) is above slow EMA50 (156.860), and the candle closed at 156.922 (above EMA50). Uptrend confirmed. Signal candle range [156.907–156.981] includes EMA20 (156.909). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 156.92150. Hold 3 candles → exit at close 157.04600. WIN (+0.0793%)
Trend is DOWN — fast EMA20 (155.887) is below slow EMA50 (156.095), and the candle closed at 155.878 (below EMA50). Downtrend confirmed. Signal candle range [155.798–155.888] includes EMA20 (155.887). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 155.87800. Hold 3 candles → exit at close 155.89400. LOSS (-0.0103%)
Trend is DOWN — fast EMA20 (152.746) is below slow EMA50 (152.963), and the candle closed at 152.722 (below EMA50). Downtrend confirmed. Signal candle range [152.536–152.750] includes EMA20 (152.746). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 152.72200. Hold 3 candles → exit at close 153.08700. LOSS (-0.2390%)
Trend is DOWN — fast EMA20 (153.035) is below slow EMA50 (153.174), and the candle closed at 153.085 (below EMA50). Downtrend confirmed. Signal candle range [152.988–153.114] includes EMA20 (153.035). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 153.08500. Hold 3 candles → exit at close 152.88000. WIN (+0.1339%)
Trend is UP — fast EMA20 (155.187) is above slow EMA50 (155.113), and the candle closed at 155.212 (above EMA50). Uptrend confirmed. Signal candle range [155.176–155.268] includes EMA20 (155.187). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 155.21200. Hold 3 candles → exit at close 155.04000. LOSS (-0.1108%)
Trend is DOWN — fast EMA20 (155.063) is below slow EMA50 (155.118), and the candle closed at 155.046 (below EMA50). Downtrend confirmed. Signal candle range [155.008–155.089] includes EMA20 (155.063). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 155.04550. Hold 3 candles → exit at close 154.97850. WIN (+0.0432%)
Trend is UP — fast EMA20 (154.810) is above slow EMA50 (154.709), and the candle closed at 154.810 (above EMA50). Uptrend confirmed. Signal candle range [154.793–154.955] includes EMA20 (154.810). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 154.81050. Hold 3 candles → exit at close 154.62400. LOSS (-0.1205%)
Trend is UP — fast EMA20 (157.435) is above slow EMA50 (157.209), and the candle closed at 157.459 (above EMA50). Uptrend confirmed. Signal candle range [157.343–157.465] includes EMA20 (157.435). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 157.45900. Hold 3 candles → exit at close 157.26400. LOSS (-0.1238%)
Trend is UP — fast EMA20 (157.667) is above slow EMA50 (157.516), and the candle closed at 157.621 (above EMA50). Uptrend confirmed. Signal candle range [157.596–157.760] includes EMA20 (157.667). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 157.62150. Hold 3 candles → exit at close 157.64200. WIN (+0.0130%)
Trend is DOWN — fast EMA20 (157.236) is below slow EMA50 (157.348), and the candle closed at 157.198 (below EMA50). Downtrend confirmed. Signal candle range [157.125–157.243] includes EMA20 (157.236). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 157.19850. Hold 3 candles → exit at close 157.29950. LOSS (-0.0643%)
Trend is DOWN — fast EMA20 (156.834) is below slow EMA50 (156.981), and the candle closed at 156.852 (below EMA50). Downtrend confirmed. Signal candle range [156.782–156.935] includes EMA20 (156.834). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 156.85250. Hold 3 candles → exit at close 156.97400. LOSS (-0.0775%)
Trend is UP — fast EMA20 (157.604) is above slow EMA50 (157.433), and the candle closed at 157.696 (above EMA50). Uptrend confirmed. Signal candle range [157.587–157.720] includes EMA20 (157.604). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 157.69600. Hold 3 candles → exit at close 157.80500. WIN (+0.0691%)
Trend is UP — fast EMA20 (157.539) is above slow EMA50 (157.528), and the candle closed at 157.538 (above EMA50). Uptrend confirmed. Signal candle range [157.478–157.548] includes EMA20 (157.539). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 157.53800. Hold 3 candles → exit at close 157.50300. LOSS (-0.0222%)
Trend is UP — fast EMA20 (157.850) is above slow EMA50 (157.767), and the candle closed at 157.806 (above EMA50). Uptrend confirmed. Signal candle range [157.798–158.013] includes EMA20 (157.850). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 157.80600. Hold 3 candles → exit at close 157.76800. LOSS (-0.0241%)
Trend is UP — fast EMA20 (158.589) is above slow EMA50 (158.425), and the candle closed at 158.624 (above EMA50). Uptrend confirmed. Signal candle range [158.539–158.660] includes EMA20 (158.589). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 158.62400. Hold 3 candles → exit at close 158.46100. LOSS (-0.1028%)
Trend is DOWN — fast EMA20 (158.260) is below slow EMA50 (158.322), and the candle closed at 157.868 (below EMA50). Downtrend confirmed. Signal candle range [157.841–158.367] includes EMA20 (158.260). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 157.86750. Hold 3 candles → exit at close 157.80250. WIN (+0.0412%)
Trend is UP — fast EMA20 (159.029) is above slow EMA50 (158.928), and the candle closed at 159.061 (above EMA50). Uptrend confirmed. Signal candle range [158.974–159.128] includes EMA20 (159.029). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 159.06150. Hold 3 candles → exit at close 159.11500. WIN (+0.0336%)
Trend is DOWN — fast EMA20 (159.001) is below slow EMA50 (159.092), and the candle closed at 159.034 (below EMA50). Downtrend confirmed. Signal candle range [158.865–159.072] includes EMA20 (159.001). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 159.03350. Hold 3 candles → exit at close 159.03450. LOSS (-0.0006%)
Trend is DOWN — fast EMA20 (159.007) is below slow EMA50 (159.044), and the candle closed at 159.032 (below EMA50). Downtrend confirmed. Signal candle range [159.005–159.059] includes EMA20 (159.007). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 159.03250. Hold 3 candles → exit at close 159.00150. WIN (+0.0195%)
Trend is UP — fast EMA20 (159.671) is above slow EMA50 (159.616), and the candle closed at 159.657 (above EMA50). Uptrend confirmed. Signal candle range [159.591–159.671] includes EMA20 (159.671). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 159.65750. Hold 3 candles → exit at close 159.68950. WIN (+0.0200%)
Trend is DOWN — fast EMA20 (157.877) is below slow EMA50 (158.142), and the candle closed at 157.851 (below EMA50). Downtrend confirmed. Signal candle range [157.805–157.964] includes EMA20 (157.877). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 157.85100. Hold 3 candles → exit at close 157.78900. WIN (+0.0393%)
Trend is DOWN — fast EMA20 (158.436) is below slow EMA50 (158.661), and the candle closed at 158.440 (below EMA50). Downtrend confirmed. Signal candle range [158.393–158.462] includes EMA20 (158.436). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 158.42800. Hold 3 candles → exit at close 158.41000. WIN (+0.0114%)
Trend is UP — fast EMA20 (158.648) is above slow EMA50 (158.626), and the candle closed at 158.660 (above EMA50). Uptrend confirmed. Signal candle range [158.618–158.732] includes EMA20 (158.648). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 158.66000. Hold 3 candles → exit at close 158.77050. WIN (+0.0696%)
Trend is UP — fast EMA20 (159.621) is above slow EMA50 (159.437), and the candle closed at 159.632 (above EMA50). Uptrend confirmed. Signal candle range [159.564–159.652] includes EMA20 (159.621). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 159.63250. Hold 3 candles → exit at close 159.64250. WIN (+0.0063%)
Trend is UP — fast EMA20 (159.600) is above slow EMA50 (159.568), and the candle closed at 159.624 (above EMA50). Uptrend confirmed. Signal candle range [159.538–159.632] includes EMA20 (159.600). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 159.62400. Hold 3 candles → exit at close 159.61800. LOSS (-0.0038%)
Trend is DOWN — fast EMA20 (159.581) is below slow EMA50 (159.584), and the candle closed at 159.556 (below EMA50). Downtrend confirmed. Signal candle range [159.542–159.590] includes EMA20 (159.581). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 159.55600. Hold 3 candles → exit at close 159.54200. WIN (+0.0088%)
Trend is DOWN — fast EMA20 (159.679) is below slow EMA50 (159.713), and the candle closed at 159.655 (below EMA50). Downtrend confirmed. Signal candle range [159.617–159.749] includes EMA20 (159.679). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 159.65500. Hold 3 candles → exit at close 159.78500. LOSS (-0.0814%)
Trend is DOWN — fast EMA20 (158.357) is below slow EMA50 (158.715), and the candle closed at 158.216 (below EMA50). Downtrend confirmed. Signal candle range [158.166–158.368] includes EMA20 (158.357). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 158.21600. Hold 3 candles → exit at close 158.26650. LOSS (-0.0319%)
Trend is DOWN — fast EMA20 (158.323) is below slow EMA50 (158.504), and the candle closed at 158.213 (below EMA50). Downtrend confirmed. Signal candle range [158.075–158.326] includes EMA20 (158.323). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 158.21250. Hold 3 candles → exit at close 158.01200. WIN (+0.1267%)
Trend is UP — fast EMA20 (158.719) is above slow EMA50 (158.636), and the candle closed at 158.756 (above EMA50). Uptrend confirmed. Signal candle range [158.716–158.772] includes EMA20 (158.719). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 158.75550. Hold 3 candles → exit at close 158.88350. WIN (+0.0806%)
Trend is UP — fast EMA20 (159.211) is above slow EMA50 (159.126), and the candle closed at 159.269 (above EMA50). Uptrend confirmed. Signal candle range [159.204–159.376] includes EMA20 (159.211). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 159.26900. Hold 3 candles → exit at close 159.22100. LOSS (-0.0301%)
Trend is UP — fast EMA20 (159.697) is above slow EMA50 (159.646), and the candle closed at 159.701 (above EMA50). Uptrend confirmed. Signal candle range [159.697–159.741] includes EMA20 (159.697). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 159.70100. Hold 3 candles → exit at close 159.68650. LOSS (-0.0091%)
Trend is UP — fast EMA20 (159.748) is above slow EMA50 (159.694), and the candle closed at 159.733 (above EMA50). Uptrend confirmed. Signal candle range [159.703–159.784] includes EMA20 (159.748). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 159.73300. Hold 3 candles → exit at close 159.59550. LOSS (-0.0861%)
Trend is UP — fast EMA20 (159.364) is above slow EMA50 (159.250), and the candle closed at 159.584 (above EMA50). Uptrend confirmed. Signal candle range [159.241–159.638] includes EMA20 (159.364). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 159.58400. Hold 3 candles → exit at close 159.33900. LOSS (-0.1535%)
Trend is UP — fast EMA20 (159.326) is above slow EMA50 (159.313), and the candle closed at 159.357 (above EMA50). Uptrend confirmed. Signal candle range [159.296–159.375] includes EMA20 (159.326). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 159.35750. Hold 3 candles → exit at close 159.38350. WIN (+0.0163%)
Trend is UP — fast EMA20 (159.344) is above slow EMA50 (159.324), and the candle closed at 159.328 (above EMA50). Uptrend confirmed. Signal candle range [159.326–159.357] includes EMA20 (159.344). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 159.32850. Hold 3 candles → exit at close 159.29950. LOSS (-0.0182%)
Trend is UP — fast EMA20 (159.594) is above slow EMA50 (159.514), and the candle closed at 159.588 (above EMA50). Uptrend confirmed. Signal candle range [159.572–159.677] includes EMA20 (159.594). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 159.58800. Hold 3 candles → exit at close 159.51600. LOSS (-0.0451%)
Trend is UP — fast EMA20 (159.590) is above slow EMA50 (159.569), and the candle closed at 159.578 (above EMA50). Uptrend confirmed. Signal candle range [159.565–159.599] includes EMA20 (159.590). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 159.57800. Hold 3 candles → exit at close 159.57350. LOSS (-0.0028%)
Trend is UP — fast EMA20 (160.338) is above slow EMA50 (160.202), and the candle closed at 160.295 (above EMA50). Uptrend confirmed. Signal candle range [160.292–160.347] includes EMA20 (160.338). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 160.29500. Hold 3 candles → exit at close 160.20100. LOSS (-0.0586%)
Trend is UP — fast EMA20 (157.557) is above slow EMA50 (157.494), and the candle closed at 157.574 (above EMA50). Uptrend confirmed. Signal candle range [157.514–157.579] includes EMA20 (157.557). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 157.57400. Hold 3 candles → exit at close 157.55250. LOSS (-0.0136%)
Trend is UP — fast EMA20 (159.116) is above slow EMA50 (159.074), and the candle closed at 159.119 (above EMA50). Uptrend confirmed. Signal candle range [159.095–159.148] includes EMA20 (159.116). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 159.11950. Hold 3 candles → exit at close 158.81700. LOSS (-0.1901%)
Consecutive Run Sequences — LONG (10 trades in longest run)
Every trade below is from the longest unbroken LONG run found in the dataset.
All fired in an uptrend. Use this section to eyeball: does the EMA20 touch look clean on every
single one? Is the entry candle always the one after the yellow highlight? Is the
exit always 3 candles later? Seeing 5–10 in a row makes pattern-recognition much easier.
Trend is UP — fast EMA20 (157.074) is above slow EMA50 (156.962), and the candle closed at 157.046 (above EMA50). Uptrend confirmed. Signal candle range [157.037–157.111] includes EMA20 (157.074). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 157.04600. Hold 3 candles → exit at close 157.08400. WIN (+0.0242%)
Trend is UP — fast EMA20 (157.063) is above slow EMA50 (156.970), and the candle closed at 157.084 (above EMA50). Uptrend confirmed. Signal candle range [156.992–157.085] includes EMA20 (157.063). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 157.08400. Hold 3 candles → exit at close 157.12200. WIN (+0.0242%)
Trend is UP — fast EMA20 (157.069) is above slow EMA50 (156.990), and the candle closed at 157.044 (above EMA50). Uptrend confirmed. Signal candle range [157.017–157.088] includes EMA20 (157.069). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 157.04400. Hold 3 candles → exit at close 157.09400. WIN (+0.0318%)
Trend is UP — fast EMA20 (157.089) is above slow EMA50 (157.023), and the candle closed at 157.108 (above EMA50). Uptrend confirmed. Signal candle range [157.085–157.131] includes EMA20 (157.089). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 157.10800. Hold 3 candles → exit at close 157.09550. LOSS (-0.0080%)
Trend is UP — fast EMA20 (157.096) is above slow EMA50 (157.033), and the candle closed at 157.095 (above EMA50). Uptrend confirmed. Signal candle range [157.087–157.132] includes EMA20 (157.096). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 157.09550. Hold 3 candles → exit at close 157.12900. WIN (+0.0213%)
Trend is UP — fast EMA20 (157.101) is above slow EMA50 (157.045), and the candle closed at 157.091 (above EMA50). Uptrend confirmed. Signal candle range [157.064–157.141] includes EMA20 (157.101). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 157.09100. Hold 3 candles → exit at close 157.07800. LOSS (-0.0083%)
Trend is UP — fast EMA20 (157.100) is above slow EMA50 (157.051), and the candle closed at 157.078 (above EMA50). Uptrend confirmed. Signal candle range [157.072–157.129] includes EMA20 (157.100). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 157.07800. Hold 3 candles → exit at close 157.03600. LOSS (-0.0267%)
Trend is UP — fast EMA20 (157.056) is above slow EMA50 (157.045), and the candle closed at 157.046 (above EMA50). Uptrend confirmed. Signal candle range [157.025–157.075] includes EMA20 (157.056). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 157.04600. Hold 3 candles → exit at close 157.13600. WIN (+0.0573%)
Trend is UP — fast EMA20 (157.099) is above slow EMA50 (157.070), and the candle closed at 157.123 (above EMA50). Uptrend confirmed. Signal candle range [157.094–157.125] includes EMA20 (157.099). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 157.12250. Hold 3 candles → exit at close 157.20650. WIN (+0.0535%)
Trend is UP — fast EMA20 (157.179) is above slow EMA50 (157.123), and the candle closed at 157.178 (above EMA50). Uptrend confirmed. Signal candle range [157.173–157.232] includes EMA20 (157.179). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go LONG at open of next candle: 157.19900. Hold 3 candles → exit at close 157.14800. LOSS (-0.0324%)
Consecutive Run Sequences — SHORT (10 trades in longest run)
Every trade below is from the longest unbroken SHORT run found in the dataset.
All fired in a downtrend. Check: EMA20 touch from below, downward trend confirmed,
entry on next candle open, exit 3 bars later. Same pattern, opposite direction.
Trend is DOWN — fast EMA20 (156.916) is below slow EMA50 (156.996), and the candle closed at 156.821 (below EMA50). Downtrend confirmed. Signal candle range [156.772–156.940] includes EMA20 (156.916). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 156.82050. Hold 3 candles → exit at close 156.86200. LOSS (-0.0265%)
Trend is DOWN — fast EMA20 (156.894) is below slow EMA50 (156.974), and the candle closed at 156.831 (below EMA50). Downtrend confirmed. Signal candle range [156.769–156.906] includes EMA20 (156.894). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 156.83100. Hold 3 candles → exit at close 156.67300. WIN (+0.1007%)
Trend is DOWN — fast EMA20 (156.602) is below slow EMA50 (156.772), and the candle closed at 156.599 (below EMA50). Downtrend confirmed. Signal candle range [156.406–156.686] includes EMA20 (156.602). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 156.59900. Hold 3 candles → exit at close 156.69400. LOSS (-0.0607%)
Trend is DOWN — fast EMA20 (156.622) is below slow EMA50 (156.756), and the candle closed at 156.594 (below EMA50). Downtrend confirmed. Signal candle range [156.562–156.740] includes EMA20 (156.622). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 156.59400. Hold 3 candles → exit at close 156.58950. WIN (+0.0029%)
Trend is DOWN — fast EMA20 (156.602) is below slow EMA50 (156.732), and the candle closed at 156.589 (below EMA50). Downtrend confirmed. Signal candle range [156.475–156.613] includes EMA20 (156.602). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 156.58950. Hold 3 candles → exit at close 156.63600. LOSS (-0.0297%)
Trend is DOWN — fast EMA20 (156.611) is below slow EMA50 (156.721), and the candle closed at 156.636 (below EMA50). Downtrend confirmed. Signal candle range [156.577–156.655] includes EMA20 (156.611). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 156.63600. Hold 3 candles → exit at close 156.60800. WIN (+0.0179%)
Trend is DOWN — fast EMA20 (156.626) is below slow EMA50 (156.715), and the candle closed at 156.608 (below EMA50). Downtrend confirmed. Signal candle range [156.589–156.751] includes EMA20 (156.626). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 156.60800. Hold 3 candles → exit at close 156.46950. WIN (+0.0884%)
Trend is DOWN — fast EMA20 (156.024) is below slow EMA50 (156.315), and the candle closed at 156.042 (below EMA50). Downtrend confirmed. Signal candle range [155.874–156.043] includes EMA20 (156.024). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 156.04200. Hold 3 candles → exit at close 155.99300. WIN (+0.0314%)
Trend is DOWN — fast EMA20 (156.032) is below slow EMA50 (156.286), and the candle closed at 155.993 (below EMA50). Downtrend confirmed. Signal candle range [155.976–156.114] includes EMA20 (156.032). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 155.99300. Hold 3 candles → exit at close 155.96450. WIN (+0.0183%)
Trend is DOWN — fast EMA20 (156.027) is below slow EMA50 (156.255), and the candle closed at 155.964 (below EMA50). Downtrend confirmed. Signal candle range [155.956–156.041] includes EMA20 (156.027). Rule: candle_low ≤ EMA20 ≤ candle_high → PASS. → Go SHORT at open of next candle: 155.96450. Hold 3 candles → exit at close 155.95250. WIN (+0.0077%)
Trade Log (first 60 rows of 1115)
Full log saved to: outputs/research/m15_ema20_touch_signal_validation/trade_log.csv