/* Only complements native navigation; native search and Woo actions stay unchanged. */ (()=>{ const key='cfHeaderDraft40435'; window[key]?.dispose?.(); const abort=new AbortController(),media=matchMedia('(max-width:1024px)'); const header=()=>document.querySelector('.elementor-40435.elementor-location-header'); const toggle=()=>header()?.querySelector('.cf-header-nav .elementor-menu-toggle'); const expanded=t=>t&&(t.getAttribute('aria-expanded')==='true'||t.classList.contains('elementor-active')); const close=focus=>{const t=toggle();if(expanded(t)){t.click();if(focus)t.focus();}}; document.addEventListener('keydown',event=>{ if(event.key==='Escape'&&expanded(toggle())){close(true);event.preventDefault();} },{signal:abort.signal}); document.addEventListener('pointerdown',event=>{ const nav=header()?.querySelector('.cf-header-nav'); if(media.matches&&expanded(toggle())&&nav&&!nav.contains(event.target))close(false); },{signal:abort.signal}); const change=()=>close(false);media.addEventListener('change',change); const disposeCart=cfEnhanceDraftCart(header()); window[key]={dispose(){abort.abort();media.removeEventListener('change',change);disposeCart();}}; /* Proposal only. Call inside the draft header's existing behaviour IIFE: * const disposeCart = cfEnhanceDraftCart(header()); * Include disposeCart() in that IIFE's existing dispose method. * Native cart toggling, fragments and checkout links remain untouched. */ function cfEnhanceDraftCart(header) { if (!header || header.getAttribute('data-elementor-id') === '353') return () => {}; const abort = new AbortController(), owned = new Map(); let wasOpen = false, closing = false, frame = 0; const refs = () => { const widget = header.querySelector('.cf-header-cart'); return {widget, pane:widget?.querySelector('.elementor-menu-cart__main'), trigger:widget?.querySelector('.elementor-menu-cart__toggle_button'), close:widget?.querySelector('.elementor-menu-cart__close-button, .elementor-menu-cart__close-button-custom')}; }; const open = r => !!r.widget?.classList.contains('elementor-menu-cart--shown'); const attribute = (el, name, value) => { if (!el || el.getAttribute(name) === value) return; if (!owned.has(el)) owned.set(el, new Map()); const values = owned.get(el), old = values.has(name) ? values.get(name).old : el.getAttribute(name); values.set(name, {old, value}); el.setAttribute(name, value); }; const prepare = r => { if (!r.pane) return; if (!r.pane.id) attribute(r.pane, 'id', 'cf-cart-dialog-' + header.getAttribute('data-elementor-id')); attribute(r.pane, 'role', 'dialog'); attribute(r.pane, 'aria-modal', 'true'); if (!r.pane.hasAttribute('aria-label') && !r.pane.hasAttribute('aria-labelledby')) attribute(r.pane, 'aria-label', 'Shopping cart'); attribute(r.pane, 'tabindex', '-1'); attribute(r.trigger, 'aria-haspopup', 'dialog'); attribute(r.trigger, 'aria-controls', r.pane.id); if (r.close) { if (!r.close.matches('button, input[type="button"]')) attribute(r.close, 'role', 'button'); attribute(r.close, 'tabindex', '0'); if (!r.close.hasAttribute('aria-label') && !r.close.hasAttribute('aria-labelledby')) attribute(r.close, 'aria-label', 'Close shopping cart'); } }; const focusable = pane => [...pane.querySelectorAll('a[href],button,input,select,textarea,summary,[tabindex],[contenteditable="true"]')] .filter(el => el.tabIndex >= 0 && !el.matches(':disabled') && !el.closest('[hidden],[inert],[aria-hidden="true"]') && el.getClientRects().length && getComputedStyle(el).visibility === 'visible'); const focusInside = () => { const r = refs(); if (!open(r) || closing || !r.pane) return; (focusable(r.pane)[0] || r.pane).focus({preventScroll:true}); }; const returnFocus = () => { const t = refs().trigger; if (t?.isConnected) t.focus(); }; const sync = () => { const r = refs(); prepare(r); const now = open(r); if (now && !wasOpen) { closing = false; cancelAnimationFrame(frame); frame = requestAnimationFrame(focusInside); } else if (!now && wasOpen) { closing = true; cancelAnimationFrame(frame); returnFocus(); closing = false; } else if (now && r.pane && !r.pane.contains(document.activeElement) && !closing) { cancelAnimationFrame(frame); frame = requestAnimationFrame(focusInside); } wasOpen = now; }; const closeNative = () => { const r = refs(); if (!open(r)) return; closing = true; returnFocus(); // Invoke the existing handler; never change its internal isCartOpen state. (r.close || r.trigger)?.click(); if (open(refs())) { closing = false; focusInside(); } }; document.addEventListener('keydown', event => { const r = refs(); if (!open(r) || !r.pane) return; if (event.key === 'Escape') { event.preventDefault(); event.stopPropagation(); closeNative(); return; } if ((event.key === 'Enter' || event.key === ' ') && r.close?.contains(event.target) && !r.close.matches('button, input[type="button"]')) { event.preventDefault(); closeNative(); return; } if (event.key !== 'Tab') return; const list = focusable(r.pane), first = list[0], last = list[list.length - 1], current = document.activeElement; if (!first) { event.preventDefault(); r.pane.focus({preventScroll:true}); } else if (!r.pane.contains(current) || (event.shiftKey && (current === first || current === r.pane))) { event.preventDefault(); (event.shiftKey ? last : first).focus({preventScroll:true}); } else if (!event.shiftKey && current === last) { event.preventDefault(); first.focus({preventScroll:true}); } }, {capture:true, signal:abort.signal}); // Move focus before native click handlers apply aria-hidden to the pane. document.addEventListener('click', event => { const r = refs(); if (!open(r) || !r.pane) return; if (r.close?.contains(event.target) || !r.pane.contains(event.target)) { closing = true; returnFocus(); queueMicrotask(() => { if (open(refs())) { closing = false; focusInside(); } }); } }, {capture:true, signal:abort.signal}); document.addEventListener('focusin', event => { const r = refs(); if (!closing && open(r) && r.pane && !r.pane.contains(event.target)) focusInside(); }, {capture:true, signal:abort.signal}); const observer = new MutationObserver(sync); observer.observe(header, {subtree:true, childList:true, attributes:true, attributeFilter:['class','aria-hidden']}); sync(); return () => { observer.disconnect(); abort.abort(); cancelAnimationFrame(frame); for (const [el, attrs] of owned) for (const [name, {old, value}] of attrs) { if (el.getAttribute(name) !== value) continue; if (old === null) el.removeAttribute(name); else el.setAttribute(name, old); } }; } })();

Umbra Vault AI EA MT5 Review: Gold Strategy, Signal and Risk

Umbra Vault AI EA MT5 trades XAUUSD momentum with protective stops, partial exits and trailing management. Its practical appeal is a focused gold strategy with a visible status panel. Our assessment is that the management features are worth examining, but the available evidence needs careful separation: a short MT4 signal history, two developer test profiles and a current naming mismatch.

Ready to Buy Umbra Vault AI EA MT5?

$159.96 with crypto · $199.95 by card

Official version · Instant download · Future updates included · 7-day money-back guarantee

Get Umbra Vault AI EA MT5 at CheaperForex

Umbra Vault AI EA MT5 purple and gold vault emblem
CheaperForex promotional cover retaining the source emblem. The MQL5 listing also uses the name KineticEdge Vault.

Evidence checked 25 September 2026. We reviewed Valentina Zhuchkova’s public listing, gallery, linked signal and buyer feedback. We have not run the EA ourselves or reproduced the backtests. This article evaluates the available evidence rather than presenting the developer’s promotional wording as an independent test.

Umbra Vault or KineticEdge Vault?

The market page remains titled Umbra Vault AI EA, but the main description and original images call it KineticEdge Vault EA. These references occupy the same product listing, not two separately verified products. We use the market title for the offer and flag the alternate name so buyers can recognise the pictured panel and reports.

There is no public release-note tab establishing the history of that wording change. It would therefore be premature to describe it as a separately proven upgrade. Similarly, the letters AI in the title are not evidence of a particular neural architecture or paid external AI integration; the visible material primarily describes momentum, volatility and trade-management behaviour.

What the strategy is trying to capture

The stated approach waits for volatility compression and an imbalance to develop into a directional gold move. Session and volatility filters limit when entries qualify. This is a different proposition from an EA that promises a fixed number of daily trades: quiet periods can be consistent with the design.

The developer states that grid, martingale and averaging are excluded. Every position is described as having a stop, with partial profit capture and dynamic trailing after entry. These are useful mechanisms to inspect in a demo test; they do not establish the cash risk of a preset without seeing its order size, stop distance and handling of execution costs.

Umbra Vault KineticEdge on-chart control panel
Original developer illustration of the on-chart panel, retrieved 25 September 2026. The pictured chart is XAUUSD H1; this is not our trading terminal.

The original illustration shows a KineticEdge panel on an XAUUSD H1 chart. We have not inferred an unconditional H1 deployment requirement from that image: the only public comment asks which timeframe to use, and no answer was visible at this check. Use the actual setup instructions for the supplied file rather than guessing from a promotional illustration. No public manual or downloadable SET file was linked in the inspected overview or comment.

The signal is an MT4 account, not an MT5 test

The linked Umbra account appears under MetaTrader 4 on MQL5. It was labelled real on Weltrade-Live with 1:500 leverage. This is useful developer-linked evidence, but it is not proof of the native MT5 file’s execution on the same settings.

Umbra Vault signal captured 25 September 2026
Genuine MQL5 capture, 25 September 2026. This developer-linked account is in the MetaTrader 4 signal section, not a verified native MT5 record.

At our check it showed 75.59% growth and $377.97 profit from a $500 initial deposit, with balance and equity both $877.97. There were no additional deposits or withdrawals shown. The record contained 23 trades, of which 18 were profitable and five lost money. That is a small sample; MQL5 explicitly warned that the deal count was insufficient to assess trading quality.

The account displayed ten weeks of history, while its monitoring start was 9 August 2026. These are different measures of history, and should not be merged into a claim of ten weeks continuously monitored. Its last trade was approximately two days before our check.

The most useful risk comparison is 0.10% relative balance drawdown versus 10.95% relative equity drawdown. Tiny realised losses did not mean the account avoided floating losses. The reported profit factor of 194.83 is especially sensitive to the small gross loss total of $1.95; a single materially larger loss could change it sharply. We would want a longer sequence of trades and losing periods before treating that ratio as representative.

Backtests: the profile label does not define the risk

The first report is labelled Risk 3 and shows a curve from 2020 into June 2026. It records 1,400 trades and 14.12% relative equity drawdown. The second, Risk 5, covers a shorter chart period from January 2025 into July 2026, with 440 trades and 73.42% relative equity drawdown.

Umbra Vault Risk 3 developer backtest
Developer-supplied Risk 3 historical simulation, with a chart spanning 2020–June 2026. Retrieved 25 September 2026; not independently reproduced.
Umbra Vault Risk 5 developer backtest
Developer-supplied Risk 5 simulation, with a chart spanning January 2025–July 2026. Retrieved 25 September 2026. The report shows 73.42% relative equity drawdown.

The Risk 5 image calls the configuration balanced, but a recorded equity fall of more than seventy percent is substantial. The smaller maximal-equity-drawdown percentage printed elsewhere in that report is not a substitute for its relative-drawdown field: those fields describe different measurements. Selecting whichever looks lowest would obscure the exposure.

There is also a reconciliation problem in the displayed statistics. In the Risk 5 image, gross losses are 130,735.02, while the report lists ten losing trades and an average loss of 207.29. Those displayed values do not reconcile arithmetically. We cannot resolve the discrepancy from a screenshot, so we do not treat the reports’ large profits or claimed verification as independently validated. An original tester export with its complete settings and trade list would be needed to investigate it properly.

The two tests differ in both dates and profile. They are not a controlled comparison proving that one risk setting is superior. A useful buyer test would hold the data range, broker specifications and costs constant, then compare volumes, floating drawdowns and losing sequences under each intended configuration.

What the first customer says

The single visible buyer review, posted by cyberhiga on 19 September, described a smooth experience and a preference for the observed smaller losses and larger gains. That is positive early feedback, but it does not provide enough information about account settings or duration to establish repeatability.

Umbra Vault reviews captured 25 September 2026
Genuine MQL5 buyer-review capture, 25 September 2026. A customer opinion, not a CheaperForex verified-purchase rating or independently verified result.

We keep this customer opinion separate from the signal statistics and from CheaperForex verified-purchase ratings. Its praise does not resolve the report discrepancy or establish that an MT4 signal and MT5 software will perform identically.

Compare the author’s other products

The seller’s name is a useful way to find related software, but each product needs its own assessment. Existing CheaperForex options include:

A strong-looking account for a sister product is not evidence for Umbra. Compare the actual market, input controls, platform and dated record for the file you intend to use.

How to get Umbra Vault AI EA MT5

Get Umbra Vault AI EA MT5 at CheaperForex for the current standalone offer and setup help. The MQL5 marketplace listing is the developer reference for its current specifications and direct-purchase offer.

Before live use, confirm the chart instructions, permitted account mode and how the chosen risk value translates into order volume. Check an attached stop and a managed exit on demo, and retain the terminal journal if you need installation help. Our clearest reason to consider Umbra is the combination of selective gold entries and visible trade management; the main evidence limitation is that the current public material does not yet establish a long, independently verified MT5 record.

Verify it yourself

Get Umbra Vault AI EA MT5 at CheaperForex