/* 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); } }; } })();

Official MT5 version

Bitcoin Scalping EA MT5

Latest version

Bitcoin Scalping EA MT5 uses previous-day price action and momentum to trade BTCUSD through a daily entry cycle.

  • Configurable allowance of one, two or three trades per session.
  • Adjustable stop-loss and take-profit settings, plus optional trailing stop and breakeven.
  • No grid or martingale in the developer’s stated strategy.

Read the Bitcoin Scalping review · View the MT4 edition

Bitcoin Scalping MT5 Product LogoMT5Save 70%

Regular priceRegular price was $1,669.00

$399.96Crypto priceUSDT, USDC, BTC or ETH. Extra 20% off at checkout.Save 76%You save $1,269.04 with crypto

$499.95 with card

Visa, Mastercard, Apple Pay and Google Pay accepted.

Card payments add bank fees, sales taxes and other charges.

  • Latest version
  • Instant downloadYour file is provided immediately after payment. In very rare cases we manually review an order first, then send your download straight after. If you don’t receive your file, you can request a full refund.
  • Free future updatesAll updates are free. They’re provided on a best-availability basis: we get new versions as fast as we can, led by customer demand, but we don’t guarantee them immediately. If you need every update the moment it’s released, our service may not be the best fit for you.
  • 7-day money-backRefunds only cover an EA that fails to attach to your chart because of errors we can replicate. We don’t cover changing your mind or not liking the EA. All brokers are different, and results are never promised because markets are constantly changing.
  • Unlimited activationsUse it on as many MT5 accounts and computers as you want, live or demo. There are no restrictions on how you use it.

Source code (.mq5) available at checkout.

Orders over $300 include 3 months of PrismAlgo freeThe highly recommended cloud-connected EA for 28 FX pairs, Gold and Bitcoin. Added to your cart automatically. View PrismAlgo

Official versionsInstant downloadFuture updates includedExtra 20% off with cryptoReal people on support28,000+ tradersTrading since 2019Rated Excellent on Trustpilot

Product description

About Bitcoin Scalping EA MT5

Bitcoin Scalping MT5 by Lo Thi Mai Loan is a Bitcoin trading robot built around the previous day’s price behaviour and momentum. It aims to concentrate entries into a daily trading cycle rather than trade continuously through every price fluctuation.

Strategy and trade controls

The EA allows one, two or three trades per session. The listing also uses one-trade-per-day wording, so the practical trade count depends on the selected configuration; it should not be understood as a guaranteed single position each day.

Each trade has a stop loss. Stop-loss and take-profit distances are adjustable, with optional trailing-stop and breakeven controls. The developer describes the strategy as using neither grid nor martingale. These controls help define the trading approach but cannot guarantee a maximum realised loss during gaps or poor execution.

What you need to run it

  • Market: BTCUSD; use your broker’s correct Bitcoin symbol.
  • Chart: H1 is recommended by the developer, although the listing permits other chart periods.
  • Capital: the developer suggests $1,000. Suitable sizing also depends on contract size, minimum lot and tolerated risk.
  • Broker: IC Markets is named as an example. Check spreads, commission, execution and available trading sessions on your own account.
  • Trading hours: version 2.1 uses GMT+0 scheduling. The developer’s published default is 01:00–21:00 GMT, with broker-time adjustments needed for historical testing.

Read the evidence before choosing settings

Recent customer feedback is positive, and the developer publishes detailed trade-report screenshots. Those reports are not the same as an independently monitored whole-account signal. Our review separates customer statements, filtered performance reports and historical testing, including the relationship between frequent wins and larger losing trades.

Read the updated Bitcoin Scalping MT5 review or see the existing MT4 edition.

For gold trading from the same developer, explore Golden Blitz MT5. It is a different system, not a Bitcoin Scalping preset.

Official MQL5 product details · Release notes

Supplied version: latest version. Standalone MT5 file product. Future file updates are included when we receive them; this is not managed installation.

Every order

What’s included with Bitcoin Scalping

Download it, install it and keep it current: everything comes with your license.

  • Instant download

    Ready the moment checkout completes, and kept in your customer portal.

  • Installation guide

    Step-by-step PDF with screenshots.

  • Optimized presets

    Ready-to-use configuration files.

  • Future updates

    Included free when we receive them. You never pay twice, and every version stays in your account.

  • Unlimited activations

    Use it on as many terminals as you like: unlimited live and demo accounts, no activation keys.

  • Free remote installation

    Optional, if you need help: a one-time free install over AnyDesk, plus settings advice and custom presets for your account.

7-day money-back guarantee

If the EA fails to attach to your chart because of errors we can replicate, you get a full refund.

*Refunds don’t cover changing your mind or not liking the EA. All brokers are different, and results are never promised because markets are constantly changing.

Product FAQs

Bitcoin Scalping EA MT5 FAQs

Still deciding?

Real people on support, by Telegram or our contact form.

Which market and timeframe is Bitcoin Scalping MT5 designed for?

BTCUSD is the intended market. The developer recommends H1, while describing the engine as usable on other chart periods. Broker symbol names may differ.

Does it use grid or martingale?

The developer describes the EA as using neither grid nor martingale. It places a stop loss on each trade and offers adjustable exit controls. Losing trades and slippage remain possible.

How many trades can it open?

The listing describes a daily entry cycle with a configurable allowance of one, two or three trades per session. Its separate one-trade-per-day wording is inconsistent, so do not assume every configuration opens exactly one position.

What changed in version 2.1?

The January 2025 update moved trading time to GMT+0. The developer explains that historical tests need the session adjusted for the broker time offset; the published default window is 01:00 to 21:00 GMT.

Which broker conditions matter?

The developer names IC Markets and spreads below 2,000 points. Check your own BTCUSD contract size, point value, spread, commission and trading sessions; a point threshold is not a universal dollar cost.

Are the customer profit figures independently verified live signals?

They are customer reports and developer-published screenshots, including filtered trade reports. They are useful evidence to inspect, but they do not establish the complete account equity history or independently verified future performance.

The CheaperForex difference

Why 28,000+ traders choose CheaperForex

Trustpilot rating Excellent 4.6 out of 5 Based on 120 reviews on Trustpilot Read the reviews on Trustpilot (opens in a new tab)
“Bought 2 EAs from them. Requested update for new version and was sent within 24hrs. Great support. Recommended, 5 STARS.”
Aceman · Trustpilot review (opens in a new tab)
“Fantastic service as always. Have gotten a lot from them in the past and never been disappointed.”
Paul Michael Lawrence · Trustpilot review (opens in a new tab)
“They were friendly and helpful in setting up my expert advisor.”
Sarah Francis · Trustpilot review (opens in a new tab)
  • Instant accessNo group buys or waiting
  • 7-day refund policyRefunds only cover an EA that fails to attach to your chart because of errors we can replicate. We don’t cover changing your mind or not liking the EA. All brokers are different, and results are never promised because markets are constantly changing.For product errors
  • Remote installationOptional: we can install it for you
  • Flexible paymentsCards, Apple Pay, Crypto
Official EAs1,180+
Customers28,000+
Trading since2019

Ready when you are

Bitcoin Scalping EA MT5 for $399.96 with crypto

Regular price was $1,669.00 · $499.95 with card · instant download · future updates included

Bitcoin Scalping EA MT5$399.96with crypto$499.95 with card