Spreads from 0.0 Pips <30ms Execution Speed No Deposit Fee Up to 1:1000 Leverage $100 min Deposit *The demo account will be deleted on the first Saturday of each month, regardless of whether there are any open orders or equities
Lightning-Fast Execution Speed with 24/7 Customer Support
Platform Overview > MetaTrader 4 > MetaTrader 5 > TMGM APP
Your browser does not support HTML5 video. Your browser does not support HTML5 video. Combining a Transparent Trading Environment with The Best Pricing Forex The Forex market is one of the largest and most liquid markets in the world, open 24 hours 5 days a week.
Trade CFDs of over 50+ currency pairs on the TMGM platform, backed by robust tools for the sharpest signals and latest insights.
With razor thin spreads from 0.0 pips, lightning-fast execution, and leverage of up to 1:1000, get started with a trusted broker like TMGM with deposits as low as $100.
EURUSD
EURUSD
Bid 1.09251
Ask 1.09251
Spread 0.0
USDJPY
USDJPY
Bid 147.329
Ask 147.329
Spread 0.0
GBPUSD
GBPUSD
Bid 1.27941
Ask 1.27941
Spread 0.0
AUDUSD
AUDUSD
Bid 0.66033
Ask 0.66033
Spread 0.0
USDCAD
USDCAD
Bid 1.34948
Ask 1.34951
Spread 0.3
EURCHF
EURCHF
Bid 0.95861
Ask 0.95867
Spread 0.6
${lastUpdatedText} ` const livePriceObserver = new IntersectionObserver(function(entries) { if (entries[0].isIntersecting) { // console.log('live price intersecting'); livePriceContainer.innerHTML = (livePriceHTML); // livePriceExplanationContainer.innerHTML = (livePriceExplanationHTML); startlivePriceScript() livePriceObserver.unobserve(livePriceContainer); } }, { // root: null, rootMargin: '100px', }); if (contentType !== 'CN') livePriceObserver.observe(livePriceContainer); if (contentType === 'CN') startlivePriceScript(); function startlivePriceScript() { if(contentType !== 'CN') document.getElementById('cat-nav').scrollLeft = -150 let socket = null const symbols = [ 'EURUSD', 'USDJPY', 'GBPUSD', 'AUDUSD', 'USDCAD', 'EURCHF', 'USDCHF', 'NZDUSD', 'US500', 'US30', 'GER30', 'GER40', 'UK100', 'JPN225', "AUS200", "EUSTX50", "FRA40", "GER40", "NAS100", "SGCSGD", "UK100", "US30", "US500", "HSCHKD", "HK50", "JPN225", 'XAUUSD', 'XAGUSD', 'XPTUSD', 'XBRUSD', 'XTIUSD', 'BTCUSD', 'BCHUSD', 'ETHUSD', 'XRPUSD', 'DOTUSD', 'AUDCAD', 'AUDCHF', 'AUDJPY', 'AUDNZD', 'CADCHF', 'CADJPY', 'CHFJPY', 'EURAUD', 'EURCAD', 'EURCHF', 'EURGBP', 'EURJPY', 'EURNZD', 'GBPAUD', 'GBPCAD', 'GBPCHF', 'GBPJPY', 'GBPNZD', 'NZDCAD', 'NZDCHF', 'NZDJPY', 'AUDSGD', 'EURSGD', 'GBPSGD', 'NZDSGD', 'USDSGD', 'SGDJPY', 'AUDZAR', 'CHFZAR', 'EURCZK', 'USDCZK', 'USDMXN', 'USDZAR', 'AUDCNH', 'EURCNH', 'EURHKD', 'EURNOK', 'EURSEK', 'EURTRY', 'GBPNOK', 'GBPSEK', 'NOKSEK', 'NZDSEK', 'USDCNH', 'USDDKK', 'USDHKD', 'USDNOK', 'USDRUB', 'USDSEK', 'USDTRY', 'CHFHUF', 'EURHUF', 'USDHUF', "BTCUSD", "BCHUSD", "ETHUSD", "LTCUSD", "XRPUSD", "BNBUSD", "DOTUSD", "EOSUSD", "LNKUSD", "UNIUSD", "XLMUSD", "XTZUSD", "DOGEUSD", "ADAUSD", "MATUSD", "SOLUSD", "AVXUSD", "CMPUSD", "GLMUSD", "KSMUSD", 'TSLA', 'AAPL', 'NIO', 'NVDA', 'BILI', 'AMD', 'META', 'AMZN', 'MSFT', 'NVAX', 'COIN', 'JD', ] const productSymbols = { forex: [ 'EURUSD', 'USDJPY', 'GBPUSD', 'AUDUSD', 'USDCAD', 'EURCHF', ], indices: [ 'US500', 'US30', 'GER30', 'UK100', 'JPN225', ], metals: [ 'XAUUSD', 'XAGUSD', 'XPTUSD', ], energies: [ 'XBRUSD', 'XTIUSD', ], cryptocurrencies: [ 'BTCUSD', 'ETHUSD', 'BNBUSD', 'DOGEUSD', 'DOTUSD', ], shares: [ 'TSLA', 'AAPL', 'NIO', 'NVDA', 'BILI', 'AMD', 'META', 'AMZN', 'MSFT', 'NVAX', 'COIN', 'JD', ], minor_forex: [ 'AUDCAD', 'AUDCHF', 'AUDJPY', 'AUDNZD', 'CADCHF', 'CADJPY', 'CHFJPY', 'EURAUD', 'EURCAD', 'EURCHF', 'EURGBP', 'EURJPY', 'EURNZD', 'GBPAUD', 'GBPCAD', 'GBPCHF', 'GBPJPY', 'GBPNZD', 'NZDCAD', 'NZDCHF', 'NZDJPY', ], exotic_forex: [ 'AUDSGD', 'EURSGD', 'GBPSGD', 'NZDSGD', 'USDSGD', 'SGDJPY', 'AUDZAR', 'CHFZAR', 'EURCZK', 'USDCZK', 'USDMXN', 'USDZAR', 'AUDCNH', 'EURCNH', 'EURHKD', 'EURNOK', 'EURSEK', 'EURTRY', 'GBPNOK', 'GBPSEK', 'NOKSEK', 'NZDSEK', 'USDCNH', 'USDDKK', 'USDHKD', 'USDNOK', 'USDRUB', 'USDSEK', 'USDTRY', 'CHFHUF', 'EURHUF', 'USDHUF', ], additional_crypto: [ "BTCUSD", "BCHUSD", "ETHUSD", "LTCUSD", "XRPUSD", "BNBUSD", "DOTUSD", "EOSUSD", "LNKUSD", "UNIUSD", "XLMUSD", "XTZUSD", "DOGEUSD", "ADAUSD", "MATUSD", "SOLUSD", "AVXUSD", "CMPUSD", "GLMUSD", "KSMUSD", ], additional_indices: [ "AUS200", "EUSTX50", "FRA40", "GER40", "NAS100", "SGCSGD", "UK100", "US30", "US500", "HSCHKD", "HK50", "JPN225", ] } /* Call websocket API to get current price data */ window.getProductPrice = function (productName, doneFunction) { $.ajax({ url: "https://" + livePriceWebsocketConfig.url + "/symbols/" + livePriceWebsocketConfig.serverId + "/" + productName, method: "get", headers: { "AUTH-TOKEN": livePriceWebsocketConfig.token, }, dataType: "json", cache: true, crossDomain: true, }).done(function (data) { if (data.bid_direction === 1 || data.bid_direction === 0) data.is_up = true; if (data.bid_direction === 2) data.is_up = false; doneFunction(data); }); }; window.getRealtimePrice = function (productNames, doneFunction) { if (productNames) { const url = "wss://" + livePriceWebsocketConfig.url + "/hubx/websocket?symbols=" + productNames + "&serverId=" + livePriceWebsocketConfig.server_id + "&token=" + livePriceWebsocketConfig.token const socketRes = connectWebsocket(url) socketRes.onmessage = (e) => { try { if (e.data.indexOf("symbol") > 0) { doneFunction(JSON.parse(e?.data)?.data); } } catch (error) { console.log(error); } }; } }; const connectWebsocket = (url) => { socket = new WebSocket(url) socket.onclose = ev => { socket.send(JSON.stringify({ "type": "4", "data": "reconnect" })); } socket.onopen = ev => { heartbeat() } return socket } const heartbeat = () => { if (!socket) return if (socket.readyState !== 1) return socket.send(JSON.stringify({ "type": "2", "data": "pong" })); setTimeout(heartbeat, 1000); } const priceData = {}; /* Home banner: Call websocket API for price check */ function _html(data) { priceData[data.symbol] = data; const element = $('#price-container-' + data.symbol); if(element !== undefined && element !== null) { const direction = data.bid_direction === 2 ? 'text-red-500' : 'text-green-500'; $('#bid-' + data.symbol).html(data.bid); $('#ask-' + data.symbol).html(data.ask); var spread = calculateSpread(data.bid, data.ask, data.digits); $('#spread-' + data.symbol).html(spread); $('#bid-' + data.symbol).removeClass('text-red-500'); $('#bid-' + data.symbol).removeClass('text-green-500'); $('#ask-' + data.symbol).removeClass('text-red-500'); $('#ask-' + data.symbol).removeClass('text-green-500'); $('#bid-' + data.symbol).addClass(direction); $('#ask-' + data.symbol).addClass(direction); $('#ask-' + data.symbol + '-mobile').addClass(direction); const arrowDown = livePriceAssets.arrowDown; const arrowUp = livePriceAssets.arrowUp; const arrow = data.bid_direction === 2 ? arrowDown : arrowUp; $('#arrow-' + data.symbol + '-mobile').attr('src', arrow); $('#arrow-' + data.symbol + '').attr('src', arrow); } } function generateContentForExplanation(symbol) { symbolContents = explanationContents; $('#live-price-title').html(symbolContents[symbol]['title']) $('#subtitle').html(symbolContents[symbol]['subtitle']) $('#live-price-description').html(symbolContents[symbol]['description']) $('#live-price-href').attr("href", symbolContents[symbol]['href']) } function showPrice(symbol) { const symbols = productSymbols[symbol]; let _html = `` if(contentType !== 'CN') _html = `
`; if (contentType === 'CN') _html = `
` symbols.map((v) => { _html += generateHTML(priceData[v], v); }) $("#nav-link-forex").removeClass("active clicked bg-[#22FFFF] !font-['AktivGrotesk'] border-0 !text-zinc-900").addClass('!text-white border !font-[500]'); $("#nav-link-indices").removeClass("active clicked bg-[#22FFFF] !font-['AktivGrotesk'] border-0 !text-zinc-900").addClass('!text-white border !font-[500]'); $("#nav-link-metals").removeClass("active clicked bg-[#22FFFF] !font-['AktivGrotesk'] border-0 !text-zinc-900").addClass('!text-white border !font-[500]'); $("#nav-link-energies").removeClass("active clicked bg-[#22FFFF] !font-['AktivGrotesk'] border-0 !text-zinc-900").addClass('!text-white border !font-[500]'); $("#nav-link-cryptocurrencies").removeClass("active clicked bg-[#22FFFF] !font-['AktivGrotesk'] border-0 !text-zinc-900").addClass('!text-white border !font-[500]'); $("#nav-link-" + symbol).addClass("active clicked bg-[#22FFFF] !font-['AktivGrotesk'] border-0 !text-zinc-900").addClass('!text-white border !font-[500]'); $("#tick-wrapper").html(_html); generateContentForExplanation(symbol); } document.getElementById('nav-link-forex').addEventListener('click', function() { console.log('forex') showPrice('forex'); }); document.getElementById('nav-link-indices').addEventListener('click', function() { showPrice('indices'); }); document.getElementById('nav-link-metals').addEventListener('click', function() { showPrice('metals'); }); document.getElementById('nav-link-energies').addEventListener('click', function() { showPrice('energies'); }); if(contentType !== 'CN') document.getElementById('nav-link-cryptocurrencies').addEventListener('click', function() { showPrice('cryptocurrencies'); }); function initPrice() { const symbols = productSymbols['forex']; var _html = ''; symbols.map((v) => { const param = priceData[v] === undefined ? { symbol: v, bid: 0, ask: 0, spread: 0, } : priceData[v]; _html += generateHTML(param, v); }) $("#tick-wrapper").html(_html); } function generateHTML(data, symbol) { var direction = 'text-green-500'; var spread = 0; const arrowDown = livePriceAssets.arrow_down; const arrowUp = livePriceAssets.arrow_up; var arrow = arrowDown; if(data !== undefined) { spread = calculateSpread(data.bid, data.ask, data.digits); direction = data.bid_direction === 2 ? 'text-red-500' : 'text-green-500'; arrow = data.bid_direction === 2 ? arrowDown : arrowUp; } else { data = { symbol: symbol, bid: 0, ask: 0, }; } let html = ``; if(contentType !== 'CN') html = `
` + data.symbol + `
` + data.symbol + `
Bid ` + data.bid + `
Ask ` + data.ask + `
Spread ` + spread + `
` if (contentType === 'CN') html = `
` + data.symbol + `
` + data.symbol + `
Bid ` + data.bid + `
Ask ` + data.ask + `
Spread ` + spread + `
` return html; } function calculateSpread (bid, ask, digits) { if(bid === undefined || ask === undefined || digits === undefined) { return 'NaN'; } var spread = Math.abs( (ask - bid) * Math.pow(10, digits - 1) ).toFixed(1) return spread; } /* Call websocket API for price check */ _socketApiUrls = []; _socketApiSymbols = []; _socketApiSymbolsStr = ''; function socketApiCaller(symbol) { const date = (new Date().getTime()); const hash = date + ''; const realHash = hash.substring(0, 8) + '0000'; const postData = { symbol: symbol, timestamp: date, hash: realHash + _socketApiSymbolsStr, } $.ajax({ url: "https://live-price.tmgm-global.live/api/price", method: "post", data: JSON.stringify(postData), dataType: "json", cache: true, contentType: "application/json", crossDomain: true, async: true, success: function (resp) { symbol.map(function (v) { const x = resp.data[v]; if(x !== undefined) { _html(resp.data[v]); } }); callSocket(); }, }); } function socketApi(obj) { var product = obj.split('.')[2]; var symbols = productSymbols[product]; symbols.map((symbol) => { _socketApiSymbols.push(symbol); _socketApiSymbolsStr = _socketApiSymbolsStr + symbol; }) } function callSocket() { const name = _socketApiSymbols.join(","); const url = "wss://" + livePriceWebsocketConfig.url + "/hubx/websocket?symbols=" + name + "&serverId=" + livePriceWebsocketConfig.server_id + "&token=" + livePriceWebsocketConfig.token; var socketRes = connectWebsocket(url) socketRes.onmessage = (e) => { if(e.data.indexOf('"symbol"') > 0) { var data = JSON.parse(e.data).data; _html(data); } }; } function setPrice() { socketApi('.arrow.forex') socketApi('.arrow.indices') socketApi('.arrow.metals') socketApi('.arrow.energies') socketApi('.arrow.cryptocurrencies') socketApi('.arrow.shares') socketApi('.arrow.minor_forex') socketApi('.arrow.exotic_forex') socketApi('.arrow.additional_crypto') socketApi('.arrow.additional_indices') socketApiCaller(_socketApiSymbols); } window.onload = function() { console.log("All resources finished loading"); setTimeout(setPrice, 1000); }; /* End: Call websocket API */ }})
Diversify your portfolio with access to over 12,000 products across 6 asset classes. Trade CFDs on Forex, Indices, Metals, Energies, Shares and Crypto.
Lightning-Fast Execution Speed with Razor-Thin Spreads Lightning-Fast Execution Speed with Razor-Thin Spreads You get the best trading conditions :
Partnerships with top-tier Liquidity Providers
Powered by OneZero Financial Technology
State of the art Equinix data centres in New York NY4
Instant Deposits. Fast Withdrawals. No Commission. Fund your account easily and securely through our wide range of payment options. Your funds are held securely in a Tier 1 Bank. We bank with :