1<!DOCTYPE html><html lang="en"> <head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>About NinjaTrader</title> <link rel="canonical" href="https://ninjatrader.com/about-ninjatrader/"> <meta property="og:type" content="website"> <meta property="og:title" content="About NinjaTrader"> <meta property="og:description" content> <meta property="og:image" itemprop="image" content="https://ninjatrader.com/assets/dist/images/favicons/apple-touch-icon.png"> <meta property="og:site_name" content="NinjaTrader"> <meta property="og:url" content="https://ninjatrader.com/about-ninjatrader/"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:site" content="@NinjaTrader"> <meta name="twitter:title" content="About NinjaTrader"> <meta name="twitter:description" content> <meta name="twitter:image" content="https://ninjatrader.com/assets/dist/images/favicons/apple-touch-icon.png"> <meta name="twitter:image:alt" content="@NinjaTrader"> <link rel="apple-touch-icon" sizes="180x180" href="/assets/dist/images/favicons/apple-touch-icon.png"><link rel="icon" type="image/png" sizes="32x32" href="/assets/dist/images/favicons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/assets/dist/images/favicons/favicon-16x16.png"><link rel="manifest" href="/assets/dist/images/favicons/site.webmanifest"><link rel="mask-icon" href="/assets/dist/images/favicons/safari-pinned-tab.svg" color="#ff4200"><meta name="msapplication-TileColor" content="#da532c"><meta name="theme-color" content="#ffffff"><link rel="preconnect" href="https://fonts.googleapis.com"><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin><link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap">
1<script type="text/javascript">window.dataLayer = window.dataLayer || []; 2function gtag(){dataLayer.push(arguments);} 3gtag('consent', 'default', { 4 'analytics_storage': 'denied', 5 'ad_storage': 'denied', 6 'ad_user_data': 'denied', 7 'ad_personalization': 'denied', 8 'wait_for_update': 500 9});</script>
9<script type="text/javascript">(function () { 10 var hosts = ["ninjatrader.com","www.ninjatrader.com","nt-temp.ninjatrader.com","prop.ninjatrader.com","connect.ninjatrader.com","connect-temp.ninjatrader.com"]; 11 if (hosts.indexOf(location.hostname.toLowerCase()) === -1) return; 12 var s = document.createElement('script'); 13 s.type = 'text/javascript'; 14 s.charset = 'UTF-8'; 15 s.src = 'https://cdn.cookielaw.org/scripttemplates/otSDKStub.js'; 16 s.setAttribute('data-domain-script', '019bbcec-5a61-77ca-ac17-4d8a0c83a1c4'); 17 document.head.appendChild(s); 18})();</script>
18<script type="text/javascript">function OptanonWrapper() { 19 window.dataLayer = window.dataLayer || []; 20 window.dataLayer.push({ 21 'event': 'OneTrustGroupsUpdated', 22 'OnetrustActiveGroups': window.OnetrustActiveGroups || '' 23 }); 24}</script>
24<script>
vendor: 398 bytes, lines 24-30
24(function (w, d, s, l, i) { 25 w[l] = w[l] || []; w[l].push({ 'gtm.start': new Date().getTime(), event: 'gtm.js' }); 26 var f = d.getElementsByTagName(s)[0], 27 j = d.createElement(s), dl = l != 'dataLayer' ? '&l=' + l : ''; 28 j.async = true; j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl; 29 f.parentNode.insertBefore(j, f); 30})(window, document, 'script', 'dataLayer', '
30GTM-5H2422D
vendor: 3 bytes, line 30
30');
30</script>
30<link rel="stylesheet" href="/vendor/slick.css"><link rel="stylesheet" href="/assets/dist/css/main.css">
30<script id="__ada" data-handle="ninjatrader-eap" src="https://static.ada.support/embed2.js"></script>
30<script src="https://cdn.optimizely.com/js/24396460556.js"></script>
30<style>.hero-slider-wrapper .slider-button{display:-ms-flexbox;display:flex}.margin-table__as-of{color:#6b7280;white-space:nowrap;margin:0;font-size:.875rem} 31</style></head> <body> <!--08.18.26 cutover --> <div class="site-container"> <header id="site-header" class="site-header site-header sticky-header sticky-header-desktop sticky-header-mobile" role="banner"> <a class="visually-hidden focusable" href="#site-main">Skip to Main Content</a> <div class="header-container container"> <div class="header-container__top"> <a href="/" class="header-logo"> <img class="header-logo__icon" src="/media/getmedia/790ee587-3856-4caa-829d-1c219ebb1d4e/NinjaTrader-Payward-logo-white-alt.svg" alt="NinjaTrader by Payward"> </a> <div class="header-container__col2"> <div class="js-culture-selector culture-selector"> <button class="culture-select-btn" aria-label="NT.Expand.Culture.Select"> <svg class="culture-select__icon culture-select__globe"> <use xlink:href="/assets/dist/images/svg-legend.svg#globe2"></use> </svg> </button> </div> <div class="cultureModal-overlay" id="cultureModal"> <div class="cultureModal"> <div class="cultureModal-header"> <p class="cultureModal-title">Change language and country/region</p> <button class="close-button" id="cultureModal-close"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none"> <path d="M1.66675 0.833328L15.0001 14.1667M1.66675 14.1667L15.0001 0.833328" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> </svg> </button> </div> <div class="cultureModal-body"> <div class="cultureModal-countrySelector cultureModal-selector"> <div class="cultureModal-dropdown"> <label>Country</label> <button id="cultureModal-countryDropdown" class="cultureModal-dropdown-toggle"> <span id="countrySelection">United States</span> <span class="dropdown-arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="17" viewBox="0 0 16 17" fill="none"> <path d="M7.99996 10.6667C7.93426 10.667 7.86917 10.6542 7.8085 10.629C7.74782 10.6038 7.69279 10.5667 7.64662 10.52L4.31329 7.18666C4.24681 7.0894 4.21681 6.97178 4.22858 6.85455C4.24035 6.73733 4.29314 6.62802 4.37763 6.54592C4.46213 6.46382 4.5729 6.41419 4.69042 6.40578C4.80793 6.39738 4.92464 6.43075 5.01996 6.5L7.99996 9.46L10.98 6.5C11.0739 6.43907 11.1856 6.41145 11.2972 6.42158C11.4087 6.4317 11.5136 6.47898 11.5951 6.55583C11.6765 6.63269 11.7298 6.73466 11.7464 6.84542C11.763 6.95618 11.742 7.0693 11.6866 7.16666L8.35329 10.5C8.30885 10.5504 8.25458 10.5911 8.19382 10.6198C8.13307 10.6485 8.0671 10.6644 7.99996 10.6667Z" fill="black"></path> </svg> </span> </button> <ul id="countryMenu" class="cultureModal-dropdown-menu"></ul> </div> </div> <div class="cultureModal-languageSelector cultureModal-selector"> <div class="cultures-modal" hidden> <a href="/" hreflang="en-US"> English </a><a href="/fr-fr/" hreflang="fr-FR"> French </a><a href="/de-de/" hreflang="de-DE"> German </a><a href="/it-it/" hreflang="it-IT"> Italian </a><a href="/pt-pt/" hreflang="pt-PT"> Portuguese </a><a href="/ru-ru/" hreflang="ru-RU"> Russian </a><a href="/es-es/" hreflang="es-ES"> Spanish </a> </div> <div class="cultureModal-dropdown"> <label>Language</label> <button id="cultureModal-languageDropdown" class="cultureModal-dropdown-toggle"> <span id="languageSelection">English</span> <span class="dropdown-arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="17" viewBox="0 0 16 17" fill="none"> <path d="M7.99996 10.6667C7.93426 10.667 7.86917 10.6542 7.8085 10.629C7.74782 10.6038 7.69279 10.5667 7.64662 10.52L4.31329 7.18666C4.24681 7.0894 4.21681 6.97178 4.22858 6.85455C4.24035 6.73733 4.29314 6.62802 4.37763 6.54592C4.46213 6.46382 4.5729 6.41419 4.69042 6.40578C4.80793 6.39738 4.92464 6.43075 5.01996 6.5L7.99996 9.46L10.98 6.5C11.0739 6.43907 11.1856 6.41145 11.2972 6.42158C11.4087 6.4317 11.5136 6.47898 11.5951 6.55583C11.6765 6.63269 11.7298 6.73466 11.7464 6.84542C11.763 6.95618 11.742 7.0693 11.6866 7.16666L8.35329 10.5C8.30885 10.5504 8.25458 10.5911 8.19382 10.6198C8.13307 10.6485 8.0671 10.6644 7.99996 10.6667Z" fill="black"></path> </svg> </span> </button> <ul id="languageMenu" class="cultureModal-dropdown-menu"></ul> </div> </div> </div> <div class="cultureModal-footer"> <button id="cultureModal-continue">Continue</button> </div> </div> </div> <a href="https://account.ninjatrader.com/welcome?locale=en" class="header-container__login">Log In</a> <a href="https://account.ninjatrader.com/register?locale=en" class="header-container__cta">Open account</a> </div> <button class="header-mobile-btn hamburger" data-expander="header-nav" data-expander-css data-expander-nofocus aria-label="NT.Expand.Mobile.Menu"> <svg class="header-menu--open"> <use xlink:href="/assets/dist/images/svg-legend.svg#mobile-menu-icon"></use> </svg> <div class="header-menu-close"> <svg class="header-menu--close"> <use xlink:href="/assets/dist/images/svg-legend.svg#cross2"></use> </svg> </div> </button> </div> <div class="header-container__bottom"> <div id="header-nav" class="header-bottom"> <div class="header-bottom__top"> <nav id="main-navigation" class="main-navigation" role="navigation" aria-label="Site Navigation"> <ul> <li> <a href="/single-stock-futures/" target="_self" data-top-nav> <span>Single Stock Futures</span> </a> </li><li data-expander data-expander-css data-expander-nofocus> <button type="button" data-expander-toggle data-top-nav="toggle-Futures"> <span>Futures</span> <svg class="nav-direction nav-down"> <use xlink:href="/assets/dist/images/svg-legend.svg#chev-down2"></use> </svg> <svg class="nav-direction nav-up"> <use xlink:href="/assets/dist/images/svg-legend.svg#chev-up2"></use> </svg> </button> <ul data-expander-target> <li> <a href="/futures/" target="_self" data-top-nav> <span>Intro to futures</span> </a> </li><li> <a href="/futures/futures-contracts/" target="_self" data-top-nav> <span>Futures contracts</span> </a> </li><li> <a href="/futures/why-trade-futures/" target="_self" data-top-nav> <span>Why trade futures?</span> </a> </li><li> <a href="/futures/futures-trading-basics/" target="_self" data-top-nav> <span>Futures trading basics</span> </a> </li><li> <a href="/futures/futures-trading-basics/futures-trading-plan/" target="_self" data-top-nav> <span>Futures trading plan</span> </a> </li><li> <a href="/futures/futures-trading-basics/risk-management/" target="_self" data-top-nav> <span>Futures risk management</span> </a> </li><li> <a href="/futures/why-trade-futures/futures-vs-stocks/" target="_self" data-top-nav> <span>Compare to stocks</span> </a> </li> </ul> </li><li data-expander data-expander-css data-expander-nofocus> <button type="button" data-expander-toggle data-top-nav="toggle-Platforms"> <span>Platforms</span> <svg class="nav-direction nav-down"> <use xlink:href="/assets/dist/images/svg-legend.svg#chev-down2"></use> </svg> <svg class="nav-direction nav-up"> <use xlink:href="/assets/dist/images/svg-legend.svg#chev-up2"></use> </svg> </button> <ul data-expander-target> <li> <a href="/trading-platform/" target="_self" data-top-nav> <span>Platform overview</span> </a> </li><li> <a href="/learn/platform-training/" target="_self" data-top-nav> <span>Platform training</span> </a> </li><li> <a href="/trading-platform/free-trading-charts/" target="_self" data-top-nav> <span>Free trading charts</span> </a> </li><li> <a href="/trading-platform/trading-simulator/" target="_self" data-top-nav> <span>
31Trading simulator</span> </a> </li><li> <a href="/trading-platform/mobile-trading/" target="_self" data-top-nav> <span>Mobile app</span> </a> </li><li> <a href="/trading-platform/customize/" target="_self" data-top-nav> <span>Customization</span> </a> </li><li> <a href="/trading-platform/customize/market-data-brokerage-options/" target="_self" data-top-nav> <span>Market data & brokerage options</span> </a> </li><li> <a href="/trading-platform/ninjatrader-pulse/" target="_self" data-top-nav> <span>NinjaTrader Pulse</span> </a> </li><li> <a href="/trading-platform/ninjascript-tutorial/" target="_self" data-top-nav> <span>NinjaScript</span> </a> </li><li> <a href="https://prop.ninjatrader.com/" target="_self" data-top-nav> <span>Prop trading</span> </a> </li> </ul> </li><li> <a href="/pricing/" target="_self" data-top-nav> <span>Pricing</span> </a> </li><li data-expander data-expander-css data-expander-nofocus> <button type="button" data-expander-toggle data-top-nav="toggle-Learn"> <span>Learn</span> <svg class="nav-direction nav-down"> <use xlink:href="/assets/dist/images/svg-legend.svg#chev-down2"></use> </svg> <svg class="nav-direction nav-up"> <use xlink:href="/assets/dist/images/svg-legend.svg#chev-up2"></use> </svg> </button> <ul data-expander-target> <li> <a href="/learn/" target="_self" data-top-nav> <span>How to start futures trading</span> </a> </li><li> <a href="/learn/livestreams/" target="_self" data-top-nav> <span>Daily livestreams</span> </a> </li><li> <a href="/learn/how-to-trade-futures/" target="_self" data-top-nav> <span>How to trade futures</span> </a> </li><li> <a href="/learn/technical-analysis/" target="_self" data-top-nav> <span>Technical analysis basics</span> </a> </li><li> <a href="/ninjatrader-arena/" target="_self" data-top-nav> <span>Arena: Futures Competitions</span> </a> </li><li> <a href="/learn/day-trading-strategy-leaders/" target="_self" data-top-nav> <span>Day trading leaders</span> </a> </li> </ul> </li><li> <a href="/futures/blogs/" target="_self" data-top-nav> <span>Blog</span> </a> </li><li data-expander data-expander-css data-expander-nofocus> <button type="button" data-expander-toggle data-top-nav="toggle-Company"> <span>Company</span> <svg class="nav-direction nav-down"> <use xlink:href="/assets/dist/images/svg-legend.svg#chev-down2"></use> </svg> <svg class="nav-direction nav-up"> <use xlink:href="/assets/dist/images/svg-legend.svg#chev-up2"></use> </svg> </button> <ul data-expander-target> <li> <a href="/about-ninjatrader/" target="_self" data-top-nav> <span>About NinjaTrader</span> </a> </li><li> <a href="/careers/" target="_self" data-top-nav> <span>Careers</span> </a> </li><li> <a href="/contact-us/" target="_self" data-top-nav> <span>Contact Us</span> </a> </li><li> <a href="/news/" target="_self" data-top-nav> <span>Newsroom</span> </a> </li> </ul> </li><li> <a href="/support/" target="_self" data-top-nav> <span>Support</span> </a> </li> </ul> </nav> <div class="header-bottom__top-utility"> <a href="https://apps.apple.com/us/app/ninjatrader-trade-futures/id6473653053" class="header-bottom__download"> <svg class="header-bottom__download-svg"> <use xlink:href="/assets/dist/images/svg-legend.svg#download"></use> </svg> <span>Download The App</span> </a> <div class="js-culture-selector culture-selector"> <button class="culture-select-btn" aria-label="NT.Expand.Culture.Select"> <svg class="culture-select__icon culture-select__globe"> <use xlink:href="/assets/dist/images/svg-legend.svg#globe2"></use> </svg> </button> </div> <div class="cultureModal-overlay" id="cultureModal"> <div class="cultureModal"> <div class="cultureModal-header"> <p class="cultureModal-title">Change language and country/region</p> <button class="close-button" id="cultureModal-close"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="15" viewBox="0 0 16 15" fill="none"> <path d="M1.66675 0.833328L15.0001 14.1667M1.66675 14.1667L15.0001 0.833328" stroke="black" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path> </svg> </button> </div> <div class="cultureModal-body"> <div class="cultureModal-countrySelector cultureModal-selector"> <div class="cultureModal-dropdown"> <label>Country</label> <button id="cultureModal-countryDropdown" class="cultureModal-dropdown-toggle"> <span id="countrySelection">United States</span> <span class="dropdown-arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="17" viewBox="0 0 16 17" fill="none"> <path d="M7.99996 10.6667C7.93426 10.667 7.86917 10.6542 7.8085 10.629C7.74782 10.6038 7.69279 10.5667 7.64662 10.52L4.31329 7.18666C4.24681 7.0894 4.21681 6.97178 4.22858 6.85455C4.24035 6.73733 4.29314 6.62802 4.37763 6.54592C4.46213 6.46382 4.5729 6.41419 4.69042 6.40578C4.80793 6.39738 4.92464 6.43075 5.01996 6.5L7.99996 9.46L10.98 6.5C11.0739 6.43907 11.
311856 6.41145 11.2972 6.42158C11.4087 6.4317 11.5136 6.47898 11.5951 6.55583C11.6765 6.63269 11.7298 6.73466 11.7464 6.84542C11.763 6.95618 11.742 7.0693 11.6866 7.16666L8.35329 10.5C8.30885 10.5504 8.25458 10.5911 8.19382 10.6198C8.13307 10.6485 8.0671 10.6644 7.99996 10.6667Z" fill="black"></path> </svg> </span> </button> <ul id="countryMenu" class="cultureModal-dropdown-menu"></ul> </div> </div> <div class="cultureModal-languageSelector cultureModal-selector"> <div class="cultures-modal" hidden> <a href="/" hreflang="en-US"> English </a><a href="/fr-fr/" hreflang="fr-FR"> French </a><a href="/de-de/" hreflang="de-DE"> German </a><a href="/it-it/" hreflang="it-IT"> Italian </a><a href="/pt-pt/" hreflang="pt-PT"> Portuguese </a><a href="/ru-ru/" hreflang="ru-RU"> Russian </a><a href="/es-es/" hreflang="es-ES"> Spanish </a> </div> <div class="cultureModal-dropdown"> <label>Language</label> <button id="cultureModal-languageDropdown" class="cultureModal-dropdown-toggle"> <span id="languageSelection">English</span> <span class="dropdown-arrow"> <svg xmlns="http://www.w3.org/2000/svg" width="16" height="17" viewBox="0 0 16 17" fill="none"> <path d="M7.99996 10.6667C7.93426 10.667 7.86917 10.6542 7.8085 10.629C7.74782 10.6038 7.69279 10.5667 7.64662 10.52L4.31329 7.18666C4.24681 7.0894 4.21681 6.97178 4.22858 6.85455C4.24035 6.73733 4.29314 6.62802 4.37763 6.54592C4.46213 6.46382 4.5729 6.41419 4.69042 6.40578C4.80793 6.39738 4.92464 6.43075 5.01996 6.5L7.99996 9.46L10.98 6.5C11.0739 6.43907 11.1856 6.41145 11.2972 6.42158C11.4087 6.4317 11.5136 6.47898 11.5951 6.55583C11.6765 6.63269 11.7298 6.73466 11.7464 6.84542C11.763 6.95618 11.742 7.0693 11.6866 7.16666L8.35329 10.5C8.30885 10.5504 8.25458 10.5911 8.19382 10.6198C8.13307 10.6485 8.0671 10.6644 7.99996 10.6667Z" fill="black"></path> </svg> </span> </button> <ul id="languageMenu" class="cultureModal-dropdown-menu"></ul> </div> </div> </div> <div class="cultureModal-footer"> <button id="cultureModal-continue">Continue</button> </div> </div> </div> </div> </div> <div class="header-utility__bottom" id="mobile-header-utility"> <a href="https://account.ninjatrader.com/welcome?locale=en" class="mobile-login">Log In</a> <a href="https://account.ninjatrader.com/register?locale=en" class="mobile-account__cta">Open account</a> </div> </div> </div> </div> </header> <main id="site-main" class="site-main" role="main"> <section id="about-hero" class="ntabhero"> 32 <div class="ntabhero-media"> 33 <video id="ntabheroVideo" autoplay muted loop playsinline> 34 <source src="/media/NT/media/images/Animated-and-videos/About-NinjaTrader_Chicago-River.mp4" type="video/mp4"> 35 </video> 36 <div class="ntabhero-overlay-scrim"></div> 37 <div class="ntabhero-overlay-bottom"></div> 38 </div> 39 40 <div class="ntabhero-content"> 41 <div class="ntabhero-inner"> 42 <h1 class="ntabhero-h1">About NinjaTrader</h1> 43 <p class="ntabhero-lead"> 44 Building better futures for all traders through innovation, technology and bold thinking. 45 </p> 46 <div class="ntabhero-body"> 47 <p> 48 NinjaTrader is a pioneer in futures trading, defining the industry standard for technology, innovation and thought leadership for over two decades. Since our founding in 2003, we've operated with a singular vision: to build better futures for all traders. 49 </p> 50 <p> 51 As a company, we're built on bold thinking and a commitment to continuous evolution. We've led the charge in transforming complex markets into intuitive experiences, setting the pace for a dynamic and quickly growing industry. 52 </p> 53 <p> 54 Our award-winning platform* and brokerage services^, and developer community (NinjaTrader Ecosystem) reflect our deep belief in the power of design, data and education to shape the future of trading. 55 </p> 56 </div> 57 </div> 58 </div> 59</section> 60 61<style> 62 .ntabhero { 63 position: relative; 64 min-height: 70vh; 65 display: flex;
66 align-items: center; 67 justify-content: center; 68 text-align: center; 69 overflow: hidden; 70 background: none; 71 } 72 .ntabhero-media { position: absolute; inset: 0; z-index: 0; overflow: hidden; } 73 .ntabhero-media video { width: 100%; height: 100%; object-fit: cover; animation: ntabheroPanZoom 36s ease-in-out infinite; will-change: transform; } 74 75 /* Darker, even scrim across the whole image â no more fade-to-transparent behind the text */ 76 .ntabhero-overlay-scrim { 77 position: absolute; 78 inset: 0; 79 background: linear-gradient( 80 180deg, 81 rgba(10,10,10,0.65) 0%, 82 rgba(10,10,10,0.55) 40%, 83 rgba(10,10,10,0.65) 100% 84 ); 85 } 86 .ntabhero-overlay-bottom { position: absolute; left: 0; right: 0; bottom: 0; height: 8rem; background: linear-gradient(to bottom, transparent, #FFFFFF); } 87 88 .ntabhero-content { position: relative; z-index: 1; width: 100%; padding: 0 1.5rem; } 89 .ntabhero-inner { max-width: 64rem; margin: 0 auto; padding: 3.5rem 2rem; } 90 .ntabhero-h1 { 91 font-family: 'Montserrat', sans-serif; 92 font-weight: 700; 93 font-size: 48px; 94 letter-spacing: -0.01em; 95 color: #FFFFFF; 96 margin: 0 0 2rem; 97 text-shadow: 0 2px 12px rgba(0,0,0,0.4); 98 } 99 .ntabhero-lead { 100 font-size: 20px; 101 font-weight: 600; 102 line-height: 1.5; 103 color: #FFFFFF; 104 max-width: 48rem; 105 margin: 0 auto 2.5rem; 106 text-shadow: 0 1px 8px rgba(0,0,0,0.4); 107 } 108 .ntabhero-body { font-size: 18px; line-height: 1.6; color: #FFFFFF; max-width: 48rem; margin: 0 auto; text-shadow: 0 1px 6px rgba(0,0,0,0.35); } 109 .ntabhero-body p { margin: 0 0 1.5rem; } 110 .ntabhero-body p:last-child { margin-bottom: 0; } 111 @keyframes ntabheroPanZoom { 112 0% { transform: scale(1.08) translate3d(-2%, 0, 0); } 113 50% { transform: scale(1.12) translate3d(2%, 0, 0); } 114 100% { transform: scale(1.08) translate3d(-2%, 0, 0); } 115 } 116 @media (prefers-reduced-motion: reduce) { 117 .ntabhero-media video { animation: none !important; } 118 } 119</style><div class="section-container section-container--white section-container section-container--padding-both"> <div class="container"><section id="what-we-do" class="ntwwd"> 120 <header class="ntwwd-header"> 121 <h2 class="ntwwd-h2">What We Do</h2> 122 <p class="ntwwd-lead"> 123 Headquartered in Chicago's thriving fintech scene, NinjaTrader is more than a world-class trading platform. With a global team and a passion for innovation, we're imagining what's possible and defining what comes next in futures. 124 </p> 125 <div class="ntwwd-progress-track"> 126 <div id="ntwwd-progress-fill" class="ntwwd-progress-fill"></div> 127 </div> 128 </header> 129 130 <div class="ntwwd-grid"> 131 <article class="ntwwd-card"> 132 <div class="ntwwd-icon-wrap"> 133 <div class="ntwwd-ring"></div> 134 <img src="/media/NT/media/images/Icons/ORNG_Empower.svg" alt="Empower icon" width="96" height="96" loading="lazy" class="ntwwd-icon" /> 135 </div> 136 <h3 class="ntwwd-h3">We Empower</h3> 137 <p class="ntwwd-p"> 138 Futures traders to take control of their financial destiny with cutting-edge education and products to inform and enhance their trading journey. 139 </p> 140 </article> 141 142 <article class="ntwwd-card"> 143 <div class="ntwwd-icon-wrap"> 144 <div class="ntwwd-ring"></div> 145 <img src="/media/NT/media/images/Icons/ORNG_Encourage.svg" alt="Encourage icon" width="96" height="96" loading="lazy" class="ntwwd-icon" /> 146 </div> 147 <h3 class="ntwwd-h3">We Encourage</h3> 148 <p class="ntwwd-p"> 149 Creativity, collaboration and camaraderie to deliver the best futures trading experience possible to our more than 2 million users worldwide. 150 </p> 151 </article> 152 153 <article class="ntwwd-card"> 154 <div class="ntwwd-icon-wrap"> 155 <div class="ntwwd-ring"></div> 156 <img src="/media/NT/media/images/Icons/ORNG_Equip.svg" alt="Equip icon" width="96" height="96" loading="lazy" class="ntwwd-icon" /> 157 </div> 158 <h3 class="ntwwd-h3">We Equip</h3> 159 <p class="ntwwd-p"> 160 Futures traders, from seasoned pros to beginners, with powerful expertise, software and brokerage services to navigate markets confidently. 161 </p> 162 </article> 163 </div> 164</section> 165 166<style> 167 .ntwwd { background: none; max-width: 1200px; margin: 0 auto; padding: 5rem 1.5rem; } 168 .ntwwd-header { text-align: center; max-width: 56rem; margin: 0 auto 2.5rem; } 169 .ntwwd-h2 { 170 font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 36px; line-height: 1.2; 171 color: #0A0A0A; margin: 0 0 1.5rem; 172 } 173 .ntwwd-lead { font-size: 20px; line-height: 1.6; color: #0A0A0A; margin: 0 0 1.5rem; } 174 .ntwwd-progress-track { width: 100%; height: 1rem; background: #E5E5E5; border-radius: 9999px; overflow: hidden; box-shadow: inset 0 1px 2px rgba(0,0,0,0.1); } 175 .ntwwd-progress-fill { height: 100%; width: 0%; background-color: #FF4200; border-radius: 9999px; transition: width 0.1s linear; } 176 .ntwwd-grid { display: grid; grid-template-columns: 1fr; gap: 2.5rem; } 177 .ntwwd-card { 178 background: #FFFFFF; border-radius: 1.5rem; padding: 2rem; text-align: center; 179 box-shadow: 0 10px 25px rgba(0,0,0,0.08); transition: transform 0.2s ease, box-shadow 0.2s ease; 180 } 181 .ntwwd-card:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(0,0,0,0.12); } 182 .ntwwd-icon-wrap { 183 position: relative; margin: 0 auto 1.5rem; width: 10rem; height: 10rem; border-radius: 9999px;
184 border: 1px solid rgba(10,10,10,0.1); display: flex; align-items: center; justify-content: center; 185 } 186 .ntwwd-ring { position: absolute; inset: 0; border-radius: 9999px; border: 2px solid rgba(255,255,255,0.4); } 187 .ntwwd-card:hover .ntwwd-ring { animation: ntwwdRingPulse 1.8s ease-out infinite; } 188 .ntwwd-icon { width: 6rem; height: 6rem; object-fit: contain; user-select: none; } 189 .ntwwd-h3 { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 24px; color: #0A0A0A; margin: 0 0 0.75rem; } 190 .ntwwd-p { font-size: 18px; line-height: 1.6; color: #0A0A0A; margin: 0; } 191 @keyframes ntwwdRingPulse { 192 0% { box-shadow: 0 0 0 0 rgba(255,255,255,.35); } 193 70% { box-shadow: 0 0 0 22px rgba(255,255,255,0); } 194 100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); } 195 } 196 @media (min-width: 768px) { 197 .ntwwd-grid { grid-template-columns: repeat(3, 1fr); } 198 } 199 @media (prefers-reduced-motion: reduce) { 200 .ntwwd-ring, .ntwwd-card { transition: none; animation: none; } 201 } 202</style> 203
204<script> 205(function(){ 206 var section = document.getElementById('what-we-do'); 207 var fill = document.getElementById('ntwwd-progress-fill'); 208 if (!section || !fill) return; 209 function update(){ 210 var rect = section.getBoundingClientRect(); 211 var total = rect.height + window.innerHeight; 212 var scrolled = window.innerHeight - rect.top; 213 var pct = Math.min(100, Math.max(0, (scrolled / total) * 100)); 214 fill.style.width = pct + '%'; 215 } 216 window.addEventListener('scroll', update, { passive: true }); 217 window.addEventListener('resize', update); 218 update(); 219})(); 220</script>
220</div> </div><section id="what-we-believe" class="ntwwb"> 221 <div class="ntwwb-media"> 222 <img src="/media/NT/media/images/About/NinjaTrader_Office_9.jpg" alt="NinjaTrader team collaborating" /> 223 <div class="ntwwb-gradient"></div> 224 </div> 225 226 <div class="ntwwb-inner"> 227 <header class="ntwwb-header"> 228 <span class="ntwwb-label-box">What We Believe</span> 229 <h2 class="ntwwb-h2">We Believe In Looking To The Future And Living Our Values In The Present</h2> 230 <p class="ntwwb-lead"> 231 Our five core values guide our actions every day and are key to our ongoing thought leadership and success in the retail futures brokerage space. 232 </p> 233 <div class="ntwwb-progress-track"> 234 <div id="ntwwb-progress-fill" class="ntwwb-progress-fill"></div> 235 </div> 236 </header> 237 238 <div class="ntwwb-grid"> 239 <div class="ntwwb-col"> 240 <section class="ntwwb-box"> 241 <h3 class="ntwwb-label-box ntwwb-box-label">Our Core Values</h3> 242 <ul class="ntwwb-list"> 243 <li><span class="ntwwb-check"></span><span class="ntwwb-item">Do the right thing.</span></li> 244 <li><span class="ntwwb-check"></span><span class="ntwwb-item">Keep our focus.</span></li> 245 <li><span class="ntwwb-check"></span><span class="ntwwb-item">Find a way.</span></li> 246 <li><span class="ntwwb-check"></span><span class="ntwwb-item">Push forward together.</span></li> 247 <li><span class="ntwwb-check"></span><span class="ntwwb-item">Commit to customer success.</span></li> 248 </ul> 249 </section> 250 251 <section class="ntwwb-box"> 252 <h3 class="ntwwb-label-box ntwwb-box-label">Our Purpose</h3> 253 <p class="ntwwb-purpose">Our purpose is to build better futures for all traders.</p> 254 </section> 255 </div> 256 </div> 257 </div> 258</section> 259 260<style> 261 .ntwwb { position: relative; overflow: hidden; background: none; } 262 .ntwwb-media { position: absolute; inset: 0; z-index: -1; } 263 .ntwwb-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; } 264 .ntwwb-gradient { 265 position: absolute; inset: 0; 266 background: linear-gradient(90deg, 267 rgba(255,255,255,1) 0%, rgba(255,255,255,1) 48%, rgba(255,255,255,0.95) 56%, 268 rgba(255,255,255,0.70) 63%, rgba(255,255,255,0.35) 70%, rgba(255,255,255,0.10) 78%, rgba(255,255,255,0) 86%); 269 } 270 .ntwwb-inner { max-width: 1200px; margin: 0 auto; padding: 5rem 1.5rem; } 271 .ntwwb-header { max-width: 48rem; margin: 0 0 2.5rem; } 272 .ntwwb-label-box { 273 background: #F4F4F4; border: 2px solid #FF4200; color: #FF4200; 274 padding: 0.35rem 0.75rem; font-family: 'Montserrat', sans-serif; font-weight: 700; 275 letter-spacing: 0.08em; text-transform: uppercase; display: inline-block; font-size: 14px; 276 } 277 .ntwwb-h2 { 278 font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 36px; line-height: 1.2; 279 color: #0A0A0A; margin: 1rem 0 1.5rem; 280 } 281 .ntwwb-lead { font-size: 20px; line-height: 1.6; color: #0A0A0A; margin: 0 0 1.5rem; } 282 .ntwwb-progress-track { width: 100%; height: 1rem; background: #E5E5E5; overflow: hidden; box-shadow: inset 0 1px 2px rgba(0,0,0,0.1); } 283 .ntwwb-progress-fill { height: 100%; width: 0%; background-color: #FF4200; transition: width 0.1s linear; } 284 .ntwwb-grid { display: grid; grid-template-columns: 1fr; gap: 3rem; align-items: start; } 285 .ntwwb-col { display: flex; flex-direction: column; gap: 1.5rem; } 286 .ntwwb-box { background: #F4F4F4; box-shadow: inset 0 0 0 2px rgba(255,66,0,0.3); border-radius: 1rem; padding: 1.5rem; } 287 .ntwwb-box-label { margin-bottom: 1rem; } 288 .ntwwb-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.75rem; } 289 .ntwwb-list li { display: flex; align-items: flex-start; } 290 .ntwwb-check { 291 width: 28px; height: 28px; border-radius: 9999px; border: 2px solid #FF4200; flex-shrink: 0; 292 display: inline-flex; align-items: center; justify-content: center; margin-right: 0.75rem; 293 } 294 .ntwwb-check::after { content: '\2713'; font-weight: 700; color: #FF4200; } 295 .ntwwb-item { font-size: 18px; color: #0A0A0A; } 296 .ntwwb-purpose { 297 font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 24px; line-height: 1.3; 298 color: #0A0A0A; margin: 0; 299 } 300 @media (min-width: 1024px) { 301 .ntwwb-grid { grid-template-columns: 1fr 1fr; } 302 } 303</style> 304
305<script> 306(function(){ 307 var section = document.getElementById('what-we-believe'); 308 var fill = document.getElementById('ntwwb-progress-fill'); 309 if (!section || !fill) return; 310 function update(){ 311 var rect = section.getBoundingClientRect(); 312 var total = rect.height + window.innerHeight; 313 var scrolled = window.innerHeight - rect.top; 314 var pct = Math.min(100, Math.max(0, (scrolled / total) * 100)); 315 fill.style.width = pct + '%'; 316 } 317 window.addEventListener('scroll', update, { passive: true }); 318 window.addEventListener('resize', update); 319 update(); 320})(); 321</script>
321<div class="section-container section-container--white section-container section-container"> <div class="container"><section id="our-reach" class="ntreach"> 322 <header class="ntreach-header"> 323 <h2 class="ntreach-h2">Our Reach</h2> 324 <p class="ntreach-lead"> 325 As a technology-first company and registered futures broker, we provide the tools, infrastructure and support that power one of the most dynamic segments in the financial markets. Together, we're building better futures for over 2 million users (and growing) worldwide. 326 </p> 327 <div class="ntreach-progress-track"> 328 <div id="ntreach-progress-fill" class="ntreach-progress-fill"></div> 329 </div> 330 </header> 331 332 <div class="ntreach-box"> 333 <div class="ntreach-row ntreach-row-3"> 334 <div class="ntreach-stat"> 335 <div class="ntreach-num">Trillions of $s</div> 336 <div class="ntreach-caption">in annual futures volume</div> 337 </div> 338 <div class="ntreach-stat"> 339 <div class="ntreach-num"><span data-count data-suffix="MM+" data-target="154">0</span></div> 340 <div class="ntreach-caption">contracts traded in 2025</div> 341 </div> 342 <div class="ntreach-stat"> 343 <div class="ntreach-num"><span data-count data-target="130">0</span></div> 344 <div class="ntreach-caption">unique contract types to trade</div> 345 </div> 346 </div> 347 348 <div class="ntreach-row ntreach-row-2"> 349 <div class="ntreach-stat"> 350 <div class="ntreach-num"><span data-count data-target="1000" data-suffix="+">0</span></div> 351 <div class="ntreach-caption">developer community vendors</div> 352 </div> 353 <div class="ntreach-stat"> 354 <div class="ntreach-num"><span data-count data-target="99.9" data-decimals="1" data-suffix="%+">0</span></div> 355 <div class="ntreach-caption">platform uptime</div> 356 </div> 357 </div> 358 </div> 359</section> 360 361<style> 362 .ntreach { background: none; max-width: 1200px; margin: 0 auto; padding: 5rem 1.5rem; } 363 .ntreach-header { text-align: center; margin: 0 auto 3rem; } 364 .ntreach-h2 { 365 font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 36px; line-height: 1.2; 366 color: #0A0A0A; margin: 0 0 1.5rem; 367 } 368 .ntreach-lead { font-size: 20px; line-height: 1.6; color: #0A0A0A; margin: 0 0 1.5rem; } 369 .ntreach-progress-track { width: 100%; height: 1rem; background: #E5E5E5; border-radius: 9999px; overflow: hidden; box-shadow: inset 0 1px 2px rgba(0,0,0,0.1); } 370 .ntreach-progress-fill { height: 100%; width: 0%; background-color: #FF4200; border-radius: 9999px; transition: width 0.1s linear; } 371 .ntreach-box { border: 2px solid #FF4200; border-radius: 1.5rem; padding: 2rem; } 372 .ntreach-row { display: grid; grid-template-columns: 1fr; gap: 2.5rem; text-align: center; } 373 .ntreach-row-2 { margin-top: 2.5rem; } 374 .ntreach-num { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 32px; line-height: 1; color: #0A0A0A; } 375 .ntreach-caption { margin-top: 0.75rem; font-size: 16px; color: #0A0A0A; } 376 @media (min-width: 768px) { 377 .ntreach-row-3 { grid-template-columns: repeat(3, 1fr); } 378 .ntreach-row-2 { grid-template-columns: repeat(2, 1fr); } 379 } 380</style> 381
382<script> 383(function(){ 384 var section = document.getElementById('our-reach'); 385 var fill = document.getElementById('ntreach-progress-fill'); 386 if (section && fill) { 387 function updateBar(){ 388 var rect = section.getBoundingClientRect(); 389 var total = rect.height + window.innerHeight; 390 var scrolled = window.innerHeight - rect.top; 391 var pct = Math.min(100, Math.max(0, (scrolled / total) * 100)); 392 fill.style.width = pct + '%'; 393 } 394 window.addEventListener('scroll', updateBar, { passive: true }); 395 window.addEventListener('resize', updateBar); 396 updateBar(); 397 } 398 399 var els = document.querySelectorAll('#our-reach [data-count]'); 400 function formatNumber(value, decimals) { 401 return value.toLocaleString(undefined, { minimumFractionDigits: decimals, maximumFractionDigits: decimals }); 402 } 403 function animate(el){ 404 var target = parseFloat(el.getAttribute('data-target') || '0'); 405 var decimals = parseInt(el.getAttribute('data-decimals') || '0', 10); 406 var suffix = el.getAttribute('data-suffix') || ''; 407 var duration = 1400; 408 var start = performance.now(); 409 function tick(now){ 410 var p = Math.min(1, (now - start) / duration); 411 var eased = 1 - Math.pow(1 - p, 3); 412 el.textContent = formatNumber(target * eased, decimals) + suffix; 413 if (p < 1) requestAnimationFrame(tick); 414 } 415 requestAnimationFrame(tick); 416 } 417 if (els.length) { 418 var io = new IntersectionObserver(function(entries){ 419 entries.forEach(function(e){ if (e.isIntersecting) { animate(e.target); io.unobserve(e.target); } }); 420 }, { threshold: 0.35 }); 421 els.forEach(function(el){ io.observe(el); }); 422 } 423})(); 424</script>
424</div> </div><section class="section-container section-container--white section-container--no-padding section-container--padding-both"> <div class="container"> <div class="row"> <div class="col-md-12"> <div class="fr-view"><p><span style="font-size: 48px"><strong>Frequently Asked Questions about NinjaTrader</strong></span></p></div> </div> </div> </div> </section><section class="section-container section-container--white section-container section-container"> <div class="container"> <div class="qna-section"> <div class="qna-container"> <div class="faqs-tab" data-expander-nofocus data-expander data-expander-css data-expander-hold="true"> <button class="faqs-tab__btn" type="button" data-expander-toggle> <span>Is NinjaTrader legal in the U.S.?</span> <svg aria-hidden="true" focusable="false" class="faqs-tab__svg faqs-tab__svg--down"> <use xlink:href="/assets/dist/images/svg-legend.svg#chev-down2"></use> </svg> <svg aria-hidden="true" focusable="false" class="faqs-tab__svg faqs-tab__svg--up"> <use xlink:href="/assets/dist/images/svg-legend.svg#chev-up2"></use> </svg> </button> <div class="faqs-tab__content" data-expander-target>Yes. NinjaTrader is a U.S.-based futures broker that operates in accordance with U.S. regulatory requirements. Futures trading in the U.S. is regulated at the federal level, and registered firms must comply with rules established by the Commodity Futures Trading Commission (CFTC) and the National Futures Association (NFA).<br /> 425<br /> 426As a registered futures commission merchant (FCM), NinjaTrader operates within this regulatory framework, which is designed to promote market integrity and customer protection.</div> </div><div class="faqs-tab" data-expander-nofocus data-expander data-expander-css data-expander-hold="true"> <button class="faqs-tab__btn" type="button" data-expander-toggle> <span>Is NinjaTrader a regulated broker?</span> <svg aria-hidden="true" focusable="false" class="faqs-tab__svg faqs-tab__svg--down"> <use xlink:href="/assets/dist/images/svg-legend.svg#chev-down2"></use> </svg> <svg aria-hidden="true" focusable="false" class="faqs-tab__svg faqs-tab__svg--up"> <use xlink:href="/assets/dist/images/svg-legend.svg#chev-up2"></use> </svg> </button> <div class="faqs-tab__content" data-expander-target>Yes. NinjaTrader is a registered futures commission merchant (FCM). FCMs are firms that solicit or accept orders to buy or sell futures contracts and accept money or other assets from customers to support those trades.<br /> 427<br /> 428All FCMs doing business with the public in the U.S. must register with the CFTC and become members of the NFA, the industry’s self-regulatory organization (<a href="https://www.nfa.futures.org/registration-membership/index.html">NFA Registration Requirements</a>; <a href="https://www.cftc.gov/IndustryOversight/Intermediaries/FCMs/fcmib">CFTC Oversight of FCMs</a>).<br /> 429 </div> </div><div class="faqs-tab" data-expander-nofocus data-expander data-expander-css data-expander-hold="true"> <button class="faqs-tab__btn" type="button" data-expander-toggle> <span>Who regulates NinjaTrader?</span> <svg aria-hidden="true" focusable="false" class="faqs-tab__svg faqs-tab__svg--down"> <use xlink:href="/assets/dist/images/svg-legend.svg#chev-down2"></use> </svg> <svg aria-hidden="true" focusable="false" class="faqs-tab__svg faqs-tab__svg--up"> <use xlink:href="/assets/dist/images/svg-legend.svg#chev-up2"></use> </svg> </button> <div class="faqs-tab__content" data-expander-target>NinjaTrader is regulated by the Commodity Futures Trading Commission (CFTC) and is a member of the National Futures Association (NFA).<br /> 430<br /> 431The CFTC is the independent federal agency that oversees U.S. derivatives markets, including futures, options on futures, and swaps. The NFA is a CFTC-designated self-regulatory organization responsible for enforcing compliance rules, conducting audits, and helping safeguard market participants.<br /> 432<br /> 433You can verify a firm’s registration status at any time using <a href="https://www.nfa.futures.org/basicnet/" target="_blank">
433NFA BASIC (Background Affiliation Status Information Center</a>).<br /> 434 </div> </div><div class="faqs-tab" data-expander-nofocus data-expander data-expander-css data-expander-hold="true"> <button class="faqs-tab__btn" type="button" data-expander-toggle> <span>Is NinjaTrader safe to use?</span> <svg aria-hidden="true" focusable="false" class="faqs-tab__svg faqs-tab__svg--down"> <use xlink:href="/assets/dist/images/svg-legend.svg#chev-down2"></use> </svg> <svg aria-hidden="true" focusable="false" class="faqs-tab__svg faqs-tab__svg--up"> <use xlink:href="/assets/dist/images/svg-legend.svg#chev-up2"></use> </svg> </button> <div class="faqs-tab__content" data-expander-target>Futures brokers registered as FCMs are required to meet strict financial, reporting, and compliance standards set by the CFTC and NFA. These requirements include maintaining minimum capital levels, segregating customer funds, and submitting to ongoing audits and oversight.<br /> 435<br /> 436As a registered FCM and NFA member, NinjaTrader is subject to these regulatory standards. Traders can review public registration and disciplinary history through official NFA and CFTC resources.</div> </div><div class="faqs-tab" data-expander-nofocus data-expander data-expander-css data-expander-hold="true"> <button class="faqs-tab__btn" type="button" data-expander-toggle> <span>Is NinjaTrader a real broker or just a trading platform?</span> <svg aria-hidden="true" focusable="false" class="faqs-tab__svg faqs-tab__svg--down"> <use xlink:href="/assets/dist/images/svg-legend.svg#chev-down2"></use> </svg> <svg aria-hidden="true" focusable="false" class="faqs-tab__svg faqs-tab__svg--up"> <use xlink:href="/assets/dist/images/svg-legend.svg#chev-up2"></use> </svg> </button> <div class="faqs-tab__content" data-expander-target>NinjaTrader is both a futures broker and a trading platform provider.<br /> 437<br /> 438As a registered FCM, NinjaTrader can accept and execute futures orders and hold customer funds in accordance with regulatory requirements. In addition, NinjaTrader offers powerful desktop, web, and mobile trading platforms designed to support active futures traders.</div> </div> </div> </div> </div> </section><section class="section-container section-container--white section-container section-container"> <div class="container"> <div class="row"> <div class="col-md-12"> <div class="fr-view"><p><br></p><div class="disclosure-box"><em id="isPasted"><em>*</em></em>NinjaTrader was recognized as the 2024 Best Trading Software by Technical Analysis of STOCKS & COMMODITIES Magazine for 2024. The magazine determines the award based on its annual Readersâ Choice Awards survey, in which readers vote on their favorite or most useful trading products and services across various categories. Products are nominated by the magazineâs editors, with write-in voting also available, and winners are selected based on the compiled reader survey results. NinjaTrader paid no application fee to participate.<br> <em><em><em data-renderer-mark="true"><span data-renderer-mark="true" data-text-custom-color="#6554c0" class="fabric-text-color-mark"><br></span></em></em></em>^NinjaTrader was recognized as the âBest Futures Brokerâ by BrokerChooser for 2026 and 2025. <span draggable="true" id="isPasted"><a target="_blank" href="http://BrokerChooser.com" rel="noopener noreferrer">BrokerChooser.com</a></span> determines the ratings based on evaluation and real-account testing of brokers and investment platforms. NinjaTrader has a paid marketing relationship with BrokerChooser, but paid no application fee to earn this rating or otherwise participate in BrokerChooser's independent methodology. </div></div> </div> </div> </div> </section> </main> <footer id="site-footer" class="site-footer" role="contentinfo"> <div class="container"> <div class="footer-top"> <ul class="footer__nav"> <li class="footer__nav-box" data-expander data-expander-css> <button type="button" data-expander-toggle role="button" aria-expanded="true" class="footer__nav-button"> <h2 class="footer__nav-heading">Futures</h2> <div class="footer__status-icon"> <svg class="footer__status-icon--plus"> <use xlink:href="/assets/dist/images/svg-legend.svg#plus2"></use> </svg> <svg class="footer__status-icon--minus">
438 <use xlink:href="/assets/dist/images/svg-legend.svg#minus2"></use> </svg> </div> </button> <ul data-expander-target> <li> <a href="/futures/" target="_self" class="footer__nav-item small"> <span>Overview</span> </a> </li><li> <a href="/futures/why-trade-futures/" target="_self" class="footer__nav-item small"> <span>Why Trade Futures?</span> </a> </li><li> <a href="/futures/futures-contracts/" target="_self" class="footer__nav-item small"> <span>Futures Contracts</span> </a> </li><li> <a href="/futures/futures-contracts/index/e-mini-s-p-500/" target="_self" class="footer__nav-item small"> <span>E-mini S&P Futures</span> </a> </li><li> <a href="/futures/futures-contracts/micro-emini-futures/" target="_self" class="footer__nav-item small"> <span>Micro E-Mini Futures</span> </a> </li><li> <a href="/futures/learn/futures-trading-basics/" target="_self" class="footer__nav-item small"> <span>Futures Basics</span> </a> </li><li> <a href="/futures/blogs/" target="_self" class="footer__nav-item small"> <span>Blog</span> </a> </li> </ul> </li><li class="footer__nav-box" data-expander data-expander-css> <button type="button" data-expander-toggle role="button" aria-expanded="true" class="footer__nav-button"> <h2 class="footer__nav-heading">Learn</h2> <div class="footer__status-icon"> <svg class="footer__status-icon--plus"> <use xlink:href="/assets/dist/images/svg-legend.svg#plus2"></use> </svg> <svg class="footer__status-icon--minus"> <use xlink:href="/assets/dist/images/svg-legend.svg#minus2"></use> </svg> </div> </button> <ul data-expander-target> <li> <a href="/learn/" target="_self" class="footer__nav-item small"> <span>Overview</span> </a> </li><li> <a href="/futures/livestreams/" target="_self" class="footer__nav-item small"> <span>Daily Livestreams</span> </a> </li><li> <a href="/learn/platform-training/" target="_self" class="footer__nav-item small"> <span>Platform Training</span> </a> </li><li> <a href="/learn/how-to-trade-futures/" target="_self" class="footer__nav-item small"> <span>How to Trade Futures</span> </a> </li><li> <a href="/learn/how-to-trade-futures/place-a-futures-order/" target="_self" class="footer__nav-item small"> <span>Futures Order Types</span> </a> </li><li> <a href="/learn/how-to-trade-futures/place-a-futures-order/" target="_self" class="footer__nav-item small"> <span>Place a Futures Order</span> </a> </li><li> <a href="/learn/how-to-trade-futures/using-margin/" target="_self" class="footer__nav-item small"> <span>Margin in Futures</span> </a> </li><li> <a href="/learn/technical-analysis/" target="_self" class="footer__nav-item small"> <span>Technical Analysis</span> </a> </li><li> <a href="/learn/building-a-trading-strategy/" target="_self" class="footer__nav-item small"> <span>Building a Trading Strategy</span> </a> </li> </ul> </li><li class="footer__nav-box" data-expander data-expander-css> <button type="button" data-expander-toggle role="button" aria-expanded="true" class="footer__nav-button"> <h2 class="footer__nav-heading">Platform</h2> <div class="footer__status-icon"> <svg class="footer__status-icon--plus"> <use xlink:href="/assets/dist/images/svg-legend.svg#plus2"></use> </svg> <svg class="footer__status-icon--minus"> <use xlink:href="/assets/dist/images/svg-legend.svg#minus2"></use> </svg> </div> </button> <ul data-expander-target> <li> <a href="/platform/" target="_self" class="footer__nav-item small"> <span>Overview</span> </a> </li><li> <a href="/platform/mobile-trading/" target="_self" class="footer__nav-item small"> <span>Mobile Apps</span> </a> </li><li> <a href="/platform/charting/" target="_self" class="footer__nav-item small"> <span>Charting</span> </a> </li><li> <a href="/platform/simulation/" target="_self" class="footer__nav-item small"> <span>Simulation</span> </a> </li><li> <a href="https://prop.ninjatrader.com" target="_self" class="footer__nav-item small"> <span>NinjaTrader Prop</span> </a> </li><li> <a href="https://connect.ninjatrader.com" target="_self" class="footer__nav-item small"> <span>NinjaTrader Connect</span> </a> </li> </ul> </li><li class="footer__nav-box" data-expander data-expander-css> <button type="button" data-expander-toggle role="button" aria-expanded="true" class="footer__nav-button"> <h2 class="footer__nav-heading">Pricing</h2> <div class="footer__status-icon"> <svg class="footer__status-icon--plus"> <use xlink:href="/assets/dist/images/svg-legend.svg#plus2"></use> </svg> <svg class="footer__status-icon--minus">
438 <use xlink:href="/assets/dist/images/svg-legend.svg#minus2"></use> </svg> </div> </button> <ul data-expander-target> <li> <a href="/pricing/" target="_self" class="footer__nav-item small"> <span>Overview</span> </a> </li><li> <a href="/pricing/margins-position-management/" target="_self" class="footer__nav-item small"> <span>Margins</span> </a> </li> </ul> </li><li class="footer__nav-box" data-expander data-expander-css> <button type="button" data-expander-toggle role="button" aria-expanded="true" class="footer__nav-button"> <h2 class="footer__nav-heading">Support</h2> <div class="footer__status-icon"> <svg class="footer__status-icon--plus"> <use xlink:href="/assets/dist/images/svg-legend.svg#plus2"></use> </svg> <svg class="footer__status-icon--minus"> <use xlink:href="/assets/dist/images/svg-legend.svg#minus2"></use> </svg> </div> </button> <ul data-expander-target> <li> <a href="/support/" target="_self" class="footer__nav-item small"> <span>Overview</span> </a> </li><li> <a href="https://support.ninjatrader.com/" target="_blank" class="footer__nav-item small"> <span>Contact Support</span> </a> </li><li> <a href="https://discourse.ninjatrader.com/" target="_self" class="footer__nav-item small"> <span>Support Forum</span> </a> </li> </ul> </li><li class="footer__nav-box" data-expander data-expander-css> <button type="button" data-expander-toggle role="button" aria-expanded="true" class="footer__nav-button"> <h2 class="footer__nav-heading">About us</h2> <div class="footer__status-icon"> <svg class="footer__status-icon--plus"> <use xlink:href="/assets/dist/images/svg-legend.svg#plus2"></use> </svg> <svg class="footer__status-icon--minus"> <use xlink:href="/assets/dist/images/svg-legend.svg#minus2"></use> </svg> </div> </button> <ul data-expander-target> <li> <a href="/about-ninjatrader/" target="_self" class="footer__nav-item small"> <span>About NinjaTrader</span> </a> </li><li> <a href="/news/" target="_self" class="footer__nav-item small"> <span>Newsroom</span> </a> </li><li> <a href="/careers/" target="_self" class="footer__nav-item small"> <span>Careers</span> </a> </li><li> <a href="/homepage/contact-us/" target="_self" class="footer__nav-item small"> <span>Contact Us</span> </a> </li> </ul> </li> </ul> <div class="footer-contact"> <h2 class="footer-contact__title">Connect with us</h2> <div class="footer-contact__phone"><p class="footer-contact__phone-title">Support:</p> 439<a href="tel:+1-800-496-1683" target="_blank">800-496-1683</a><br> 440<a href="http://account.ninjatrader.com/support" target="_blank">Open a support request here</a></div><div class="footer-contact__phone"><p class="footer-contact__phone-title">Trade Desk:</p> 441<a class="footer-contact__phone-number" href="tel:+1-312-423-2234" target="_blank">312-423-2234</a></div> <p>Follow Us on Social</p> <ul class="footer-socials"> <li class="footer-socials__item"> <a class="footer-socials__link" href="https://x.com/NinjaTrader" target="_blank"> <svg class="social-list__icon" aria-hidden="true" focusable="false"> <use xlink:href="/assets/dist/images/svg-legend.svg#icon-twitter"></use> </svg> <span class="visually-hidden">X</span> </a> </li><li class="footer-socials__item"> <a class="footer-socials__link" href="https://www.facebook.com/NinjaTraderGroup/" target="_blank"> <svg class="social-list__icon" aria-hidden="true" focusable="false"> <use xlink:href="/assets/dist/images/svg-legend.svg#icon-facebook"></use> </svg> <span class="visually-hidden">Facebook</span> </a> </li><li class="footer-socials__item"> <a class="footer-socials__link" href="https://www.youtube.com/user/NinjaTraderLLC" target="_blank"> <svg class="social-list__icon" aria-hidden="true" focusable="false"> <use xlink:href="/assets/dist/images/svg-legend.svg#icon-youtube"></use> </svg> <span class="visually-hidden">Youtube</span> </a> </li><li class="footer-socials__item"> <a class="footer-socials__link" href="https://www.linkedin.com/company/ninjatrader-group-llc" target="_blank"> <svg class="social-list__icon" aria-hidden="true" focusable="false"> <use xlink:href="/assets/dist/images/svg-legend.svg#icon-linkedin"></use> </svg> <span class="visually-hidden">LinkedIn</span> </a> </li><li class="footer-socials__item"> <a class="footer-socials__link" href="https://www.instagram.com/ninjatrader/?hl=en" target="_blank"> <svg class="social-list__icon" aria-hidden="true" focusable="false"> <use xlink:href="/assets/dist/images/svg-legend.svg#icon-instagram"></use> </svg> <span class="visually-hidden">Instagram</span> </a> </li> </ul> <div class="footer-contact__seal"><iframe title="Better Business Bureau accredited business seal" border="0" frameborder="0" sandbox="" scrolling="no" src="https://seal-chicago.bbb.org/frame/black-seal-293-61-whitetxt-bbb-88648744.png?chk=DC16977C8E" style="border: 0; height:61px; width:293px;"></iframe><br /> 442<br /> 443<img alt="NinjaTrader by Payward logo" src="/media/getattachment/86b9fb91-107f-4c1d-8658-47f2ee325110/NinjaTrader-Payward-Wordmark-Logo-1.svg" style="width:270px; max-width:100%; height:auto;" title="NinjaTrader by Payward logo" /><br /> 444 </div> </div> </div> <div class="footer-bottom"> <div class="container"> <div style="background-color:#000000; padding:24px 0; font-family:'Montserrat', Arial, Helvetica, sans-serif; color:#cccccc;"> 445<div style="margin-bottom:16px; font-family:Arial, Helvetica, sans-serif;"><span style="font-size:14px; font-weight:500; color:#999999;">by</span> <a href="https://payward.com/" style="font-size:17px; font-weight:800; color:#ffffff; letter-spacing:0.5px; margin-left:5px; text-decoration:none;" target="_blank">PAYWARD</a> <span style="font-size:14px; font-weight:500; color:#999999; margin-left:14px;">© 2011–2026 Payward, Inc.</span></div> 446 447<hr style="border:none; border-top:1px solid #333333; margin:0 0 18px 0;" /> 448<div style="font-size:14px; font-weight:500; line-height:2.1;"><strong style="color:#ffffff; font-weight:800;">Trading</strong> <a href="https://www.kraken.com/" style="color:#cccccc; text-decoration:none; margin-left:10px;" target="_blank">Kraken</a> <a href="https://pro.kraken.com/" style="color:#cccccc; text-decoration:none; margin-left:10px;" target="_blank">Kraken Pro</a> <a href="/" style="color:#cccccc; text-decoration:none; margin-left:10px;">NinjaTrader</a> <a href="https://breakoutprop.com/" style="color:#cccccc; text-decoration:none; margin-left:10px;" target="_blank">Breakout</a> <a href="https://www.kraken.com/vip" style="color:#cccccc; text-decoration:none; margin-left:10px;">VIP</a> <a href="https://docs.kraken.com/" style="color:#cccccc; text-decoration:none; margin-left:10px;" target="_blank">API trading</a> <span style="color:#555555; margin:0 12px;">|</span> <strong style="color:#ffffff; font-weight:800;">Services</strong> <a href="https://services.payward.com/" style="color:#cccccc; text-decoration:none; margin-left:10px;" target="_blank">Payward Services</a> <a href="https://xstocks.com/" style="color:#cccccc; text-decoration:none; margin-left:10px;" target="_blank">xStocks</a> <a href="https://www.cfbenchmarks.com/" style="color:#cccccc; text-decoration:none; margin-left:10px;" target="_blank">CF Benchmarks</a> <a href="https://reap.global/" style="color:#cccccc; text-decoration:none; margin-left:10px;" target="_blank">Reap</a> <span style="color:#555555; margin:0 12px;">|</span> <strong style="color:#ffffff; font-weight:800;">Banking</strong> <a href="https://krak.app/" style="color:#cccccc; text-decoration:none; margin-left:10px;" target="_blank">Krak</a> <a href="https://www.kraken.com/institutions/prime" style="color:#cccccc; text-decoration:none; margin-left:10px;">Prime</a> <a href="https://www.kraken.com/institutions/otc" style="color:#cccccc; text-decoration:none; margin-left:10px;">OTC</a> <a href="https://www.kraken.com/institutions/custody" style="color:#cccccc; text-decoration:none; margin-left:10px;">Custody</a> <span style="color:#555555; margin:0 12px;">|</span> <strong style="color:#ffffff; font-weight:800;">Asset Management</strong></div> 449</div> 450 451<hr style="background-color: #3498db; height: 2px; border: none;" /> 452<p data-local-id="082cdba1-380f-409c-9621-85aeb5b2f6c4" data-renderer-start-pos="4970"><a href="/customer-funds/"><strong data-renderer-mark="true">Disclosures</strong></a> | <a href="/privacy-policy-clearing/"><strong data-renderer-mark="true">Privacy Policy</strong></a> | <a href="/privacy-policy-eu/"><strong data-renderer-mark="true">GDPR</strong></a> | <a href="/sitemap/"><strong data-renderer-mark="true">Sitemap</strong></a><br /> 453<br /> 454© 2026 NinjaTrader Group, LLC. All rights reserved. <a href="https://payward.com/" target="_blank"><strong>By Payward</strong></a>.<br /> 455<br /> 456NinjaTrader is a group of affiliated companies operating under NinjaTrader Group, LLC (“NTG”), including NinjaTrader, LLC (“NT”) and NinjaTrader Clearing, LLC d/b/a NinjaTrader, Kraken Derivatives US, and Tradovate (“NTC”). NT owns and supports the proprietary NinjaTrader trading platform as a software development company, while NTC provides brokerage services. <a href="/customer-funds/"><strong data-renderer-mark="true">View Disclosures</strong>.</a><br /> 457<br /> 458NTC is registered with the Commodity Futures Trading Commission (“CFTC”) as a futures commission merchant (“FCM”) and is a National Futures Association (“NFA”) Member (NFA ID: 0309379). Questions related to brokerage accounts should be directed to your broker.<br /> 459<br /> 460Futures, security futures, options, foreign currency, digital asset, and event contract trading involves substantial risk and is not suitable for everyone. An investor may lose all or more than the initial investment. Trading should be undertaken only with risk capital—funds that can be lost without jeopardizing one’s financial security or lifestyle—and only by those who can afford such losses. Past performance is not necessarily indicative of future results. Prior to trading digital assets, review the CFTC and NFA advisories for additional information regarding the significant risks involved. <a href="/risk/"><strong data-renderer-mark="true">View Risk Disclosure Statement</strong>,</a> including the <strong><a href="/ssf-risk/" target="_blank">Risk Disclosure Statement for Security Futures Products</a></strong>.<br /> 461<br /> 462Any trading symbols, company names, logos, or trademarks displayed are used for illustrative purposes only and remain the property of their respective owners. Their use does not imply affiliation with, endorsement by, or sponsorship of NinjaTrader, nor do any trading symbols displayed constitute investment advice or recommendations.
462<br /> 463<br /> 464<strong>Simulated trading does not represent actual trading and is based on hypothetical conditions. Actual trading results may differ significantly due to factors such as market conditions, liquidity, execution, and the emotional and psychological impact of risking real money. Simulated trading is provided for educational and platform-familiarization purposes only and should not be relied upon as an indication or expectation of results in a live trading environment.</strong><br /> 465<br /> 466This website is provided by NinjaTrader on an “as-is” basis for informational purposes only and does not constitute investment advice, a recommendation, or an offer or solicitation to buy, sell, or hold any commodity interest or financial product or engage in any investment strategy. Content may include statements or opinions of NTG and its affiliates or third-party information; no representation or warranty, express or implied, is made as to the accuracy or completeness of the information herein. NinjaTrader disclaims all liability arising from use of or reliance on such information.</p> </div> </div> </div> <svg aria-hidden="true" focusable="false" class="footer__dots--mobile"> <use xlink:href="/assets/dist/images/svg-legend.svg#footer-dots-mobile"></use> </svg> <svg aria-hidden="true" focusable="false" class="footer__dots--desktop" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="1920" height="355" viewBox="0 0 1920 355" fill="none"> <mask id="mask0_3761_441" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0" width="1920" height="355"> <path d="M5.5043 109.421V0H31.0242V42.5802H64.05V74.2678H99.0774V42.5802H134.105V74.2678H168.632V109.421H99.0774V146.06H202.658V183.194H73.0571V213.891H238.686V288.159H345.27V251.025H416.325V187.65H519.906V109.421H555.434V146.06H589.461V245.579H728.069V288.159H944.238V251.025H981.267V217.852H1046.82V181.709H1155.4V146.06H1256.48V213.891H1364.57V74.2678H1501.67V109.421H1610.76V213.891H1640.28V280.237H1678.31V181.709H1749.87V109.421H1786.4V181.709H1859.45V109.421H1892.48V42.5802H1920V355H1501.67V280.237H1466.15V217.852H1434.12V288.159H1400.09V355H1155.4V319.847H1046.82V355H0V174.282H34.0266V109.421H5.5043Z" fill="#D9D9D9"></path> </mask> <g mask="url(#mask0_3761_441)"> <mask id="mask1_3761_441" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="13" y="22" width="1893" height="319"> <rect x="13" y="22.5" width="1893" height="318" fill="url(#pattern0)"></rect> </mask> <g mask="url(#mask1_3761_441)"> <rect x="13" y="22.5" width="1893" height="318" fill="#FF4200"></rect> </g> </g> <defs> <pattern id="pattern0" patternContentUnits="objectBoundingBox" width="0.0369783" height="0.220126"> <use xlink:href="#image0_3761_441" transform="scale(0.000528262 0.00314465)"></use> </pattern> <image id="image0_3761_441" width="70" height="70" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAABGCAYAAABxLuKEAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABJSURBVHgB7dqxDQAhEANB35f2hdMaJIQQg8RMBZbjrf6nZ6qWykE3bfnCkmMAAAAAAAAAAOBBJTVbU1RtOAYAAAAAAAAAAB40AKZdDAtpztX9AAAAAElFTkSuQmCC"></image> </defs> </svg> </footer> </div>
vendor: 70 bytes, line 466
466 <noscript> <iframe src="https://www.googletagmanager.com/ns.html?id=
466GTM-5H2422D
vendor: 85 bytes, line 466
466" height="0" width="0" style="display:none;visibility:hidden"></iframe> </noscript>
466<script src="/vendor/jquery-3.7.1.min.js"></script>
466<script src="/vendor/slick.min.js"></script>
466
466<script src="/vendor/jquery-matchheight.min.js"></script>
466
466<script src="/vendor/modaal.min.js"></script>
466
466<script src="/vendor/utils.js"></script>
466
466<script>(function(){const cultures = {"English":[{"country":"United States","url":"/"},{"country":"Europe - Germany","url":"/eu/en-de/"},{"country":"Europe - Netherlands","url":"/eu/en-nl/"},{"country":"Europe","url":"/eu/"},{"country":"Europe - France","url":"/eu/en-fr/"},{"country":"Europe - Italy","url":"/eu/en-it/"},{"country":"Europe - Spain","url":"/eu/en-es/"}],"French":[{"country":"United States","url":"/fr-fr/"},{"country":"Europe - France","url":"/eu/fr-fr/"}],"German":[{"country":"United States","url":"/de-de/"},{"country":"Europe - Germany","url":"/eu/de-de/"}],"Italian":[{"country":"United States","url":"/it-it/"},{"country":"Europe - Italy","url":"/eu/it-it/"}],"Portuguese":[{"country":"United States","url":"/pt-pt/"}],"Russian":[{"country":"United States","url":"/ru-ru/"}],"Spanish":[{"country":"United States","url":"/es-es/"},{"country":"Europe - Spain","url":"/eu/es-es/"}],"Dutch":[{"country":"Europe - Netherlands","url":"/eu/nl-nl/"}],"Simplified Chinese":[{"country":"United States","url":"/zh-hans/"}],"Traditional Chinese":[{"country":"United States","url":"/zh-hant/"}]}; 467 468 window.cultures = cultures; 469 })();</script>
469<script src="/vendor/culture-modal.js"></script>
469
469<script src="/vendor/geo-banner.js"></script>
469
469<script> 470 (function () { 471 function initHero() { 472 const $ = window.jQuery; 473 if (!$) return; 474 // Ported from the live CMS source (Accelerator .../globals/functions.js): 475 // a FADE carousel, autoplay from data-rotation-speed, the custom prev/next 476 // buttons passed as slick arrows (bound in place since they're elements, not 477 // HTML), dots into [data-slider-dots], plus a manual play/pause toggle. 478 $("[data-hero-slider-container]").each(function () { 479 const container = this; // eslint-disable-line @typescript-eslint/no-this-alias -- jQuery .each() pattern 480 const sliderBox = container.querySelector("[data-hero-slider]"); 481 if (!sliderBox || $(sliderBox).hasClass("slick-initialized")) return; 482 const prevBtn = container.querySelector("[data-slider-previous]"); 483 const nextBtn = container.querySelector("[data-slider-next]"); 484 const dots = container.querySelector("[data-slider-dots]"); 485 const autoplayBtn = container.querySelector("[data-slider-autoplay]"); 486 const srAnnouncer = container.querySelector("[data-carousel-announcer]"); 487 const rotationSpeed = ($(container).data("rotation-speed") || 5) * 1000; 488 489 $(sliderBox).slick({ 490 mobileFirst: true, 491 prevArrow: prevBtn, 492 nextArrow: nextBtn, 493 adaptiveHeight: false, 494 autoplay: true, 495 dots: true, 496 arrows: true, 497 dotsClass: "slider-dots", 498 appendDots: dots, 499 autoplaySpeed: rotationSpeed, 500 fade: true, 501 speed: 200, 502 }); 503 504 if (autoplayBtn) { 505 autoplayBtn.addEventListener("click", function () { 506 if ($(autoplayBtn).hasClass("playing")) { 507 $(sliderBox).slick("slickPause"); 508 $(autoplayBtn).addClass("paused").removeClass("playing"); 509 } else { 510 $(sliderBox).slick("slickPlay"); 511 $(autoplayBtn).addClass("playing").removeClass("paused"); 512 } 513 }); 514 } 515 516 $(sliderBox).on("beforeChange", function (event, slick, currentSlide, nextSlide) { 517 if (srAnnouncer) 518 srAnnouncer.innerHTML = 519 "now showing slide " + (nextSlide + 1) + " of " + slick.slideCount; 520 }); 521 }); 522 } 523 // Basic Carousel widget slider. Ported verbatim from the live CMS source 524 // (functions.js initiateBasicCarousel + handleCarouselItemWidth): each 525 // .basic-carousel .slider becomes an infinite 4-up slick carousel (responsive 526 // 1024â3, 600â2, 480â1) driven by the sibling .slider-btn--prev/--next arrows. 527 // handleCarouselItemWidth pins each .slider__item's max-width to its slick width 528 // (live keeps items from over-stretching) and reruns on slick's breakpoint event. 529 function initBasicCarousel() { 530 const $ = window.jQuery; 531 if (!$) return; 532 $(".basic-carousel .slider").each(function () { 533 const slider = this; // eslint-disable-line @typescript-eslint/no-this-alias -- jQuery .each() pattern 534 if ($(slider).hasClass("slick-initialized")) return; 535 function handleCarouselItemWidth() { 536 $(slider) 537 .find(".slider__item") 538 .each(function () { 539 $(this).css("max-width", this.style.width); 540 }); 541 } 542 $(slider).slick({ 543 dots: true, 544 infinite: true, 545 speed: 300, 546 slidesToShow: 4, 547 slidesToScroll: 1, 548 prevArrow: $(slider).parent().find(".slider-btn--prev"), 549 nextArrow: $(slider).parent().find(".slider-btn--next"), 550 responsive: [ 551 { 552 breakpoint: 1024, 553 settings: { slidesToShow: 3, slidesToScroll: 1, infinite: true }, 554 }, 555 { breakpoint: 600, settings: { slidesToShow: 2, slidesToScroll: 1 } }, 556 { breakpoint: 480, settings: { slidesToShow: 1, slidesToScroll: 1 } }, 557 ], 558 }); 559 handleCarouselItemWidth(); 560 $(slider).on("breakpoint", function () { 561 handleCarouselItemWidth(); 562 }); 563 }); 564 } 565 function initBlogSlider() { 566 const $ = window.jQuery; 567 if (!$) return; 568 const $slider = $("#blog-listing-slider"); 569 if (!$slider.length || $slider.hasClass("slick-initialized")) return; 570 const $wrap = $slider.closest(".blog-listing-slider"); 571 // Ported from the live CMS source (functions.js blogSliderSettings): 572 // variable-width, mobile-first, responsive slidesToShow 1/2/3/4, dots into 573 // #blog-listing-slider__dots, custom .slider-button arrows scoped to this 574 // slider. (Upstream's `inifinite:false` is a typo, so slick keeps infinite:true.) 575 $slider.slick({ 576 dots: true,
577 arrows: false, 578 autoplay: false, 579 slidesToShow: 1, 580 slidesToScroll: 1, 581 mobileFirst: true, 582 speed: 600, 583 adaptiveHeight: true, 584 variableWidth: true, 585 dotsClass: "slider-dots", 586 appendDots: $("#blog-listing-slider__dots"), 587 prevArrow: $wrap.find(".slider-button--left"), 588 nextArrow: $wrap.find(".slider-button--right"), 589 responsive: [ 590 { breakpoint: 768, settings: { slidesToShow: 2, slidesToScroll: 2, arrows: false } }, 591 { breakpoint: 1439, settings: { arrows: true, slidesToShow: 3, slidesToScroll: 3 } }, 592 { breakpoint: 1560, settings: { arrows: true, slidesToShow: 4, slidesToScroll: 4 } }, 593 ], 594 rows: 0, 595 }); 596 } 597 // Related-posts slider on the NewsPage detail (#posts-listing-slider). Ported from 598 // the live CMS source (functions.js relatedSliderSettings + initiateReslicking): it's 599 // a slick slider only on mobile (â¤1000px) and "unslick" on desktop (>1000px), with a 600 // resize handler that re-slicks/un-slicks across the breakpoint. Dots go into
601 // #blog-listing-slider__dots. Guarded so non-news pages skip it entirely. 602 function initRelatedSlider() { 603 const $ = window.jQuery; 604 if (!$) return; 605 const $slider = $("#posts-listing-slider"); 606 if (!$slider.length || $slider.hasClass("slick-initialized")) return; 607 // (Upstream's `inifinite:false` is a typo, so live slick keeps infinite:true â 608 // omit the key here to match, like initBlogSlider above.) 609 const settings = { 610 dots: true, 611 arrows: false, 612 autoplay: false, 613 slidesToShow: 1, 614 slidesToScroll: 1, 615 mobileFirst: true, 616 speed: 300, 617 adaptiveHeight: true, 618 variableWidth: true, 619 dotsClass: "slider-dots", 620 appendDots: $("#blog-listing-slider__dots"), 621 responsive: [{ breakpoint: 1000, settings: "unslick" }], 622 rows: 0, 623 }; 624 const breakpoint = settings.responsive[0].breakpoint; 625 $slider.slick(settings); 626 $(window).on("resize", function () { 627 if ($(window).width() > breakpoint) { 628 if ($slider.hasClass("slick-initialized")) $slider.slick("unslick"); 629 return; 630 } 631 if (!$slider.hasClass("slick-initialized")) $slider.slick(settings); 632 }); 633 } 634 // Header/nav (+ tabs/accordions): the site's data-expander system handles 635 // mega-menu dropdowns, the mobile menu overlay, the culture modal, and the 636 // homepage tabs â all via [data-expander]. One unified system, as on live. 637 function initNav() { 638 const t = window.talonUtil; 639 if (t && typeof t.setupToggles === "function") t.setupToggles(); 640 } 641 // Sticky header (inlined from utils.js vendorPlugins, minus the lazy-loader): 642 // toggle sticky-header-up/down on body as the user scrolls past the header. 643 function initStickyHeader() { 644 const hdr = document.querySelector(".site-header"); 645 if (!hdr || !hdr.classList.contains("sticky-header")) return; 646 const body = document.body; 647 let lastScroll = 0; 648 const debounce = window.talonUtil && window.talonUtil.debounce; 649 const handler = function () { 650 const cur = window.pageYOffset, 651 h = hdr.offsetHeight; 652 if (cur <= h) { 653 body.classList.remove("sticky-header-up", "sticky-header-down"); 654 lastScroll = cur; 655 return; 656 } 657 if (cur > lastScroll && !body.classList.contains("sticky-header-down")) { 658 body.classList.remove("sticky-header-up"); 659 body.classList.add("sticky-header-down"); 660 } else if (cur < lastScroll && body.classList.contains("sticky-header-down")) { 661 body.classList.remove("sticky-header-down"); 662 body.classList.add("sticky-header-up"); 663 } 664 lastScroll = cur; 665 }; 666 window.addEventListener("scroll", debounce ? debounce(handler, 0) : handler); 667 } 668 // Video/livestream modal trigger. Ported verbatim from the live CMS source 669 // (functions.js): a delegated click on any [data-toggle="modal"] opens the element 670 // whose id matches data-target as a modaal dialog (content_source + start_open). 671 // Drives the FeaturedVideoPlayer widget's play button (.featured-livestream__button). 672 function initVideoModal() { 673 const $ = window.jQuery; 674 if (!$ || !$.fn || typeof $.fn.modaal !== "function") return; 675 $(document).on("click", '[data-toggle="modal"]', function (e) { 676 const target = "#" + $(this).attr("data-target"); 677 $(this).modaal({ 678 content_source: target, 679 start_open: true, 680 overlay_opacity: 0.9, 681 }); 682 e.preventDefault(); 683 }); 684 } 685 // NT.NewsListing (.news-section2) + NT.EventListing (.events-section) + 686 // NT.BlogPostListing (.blogs-section) client-side pagination. All three live widgets page 687 // server-side via ?page=N; we render ALL items (each tagged data-news-page / 688 // data-event-page / data-blog-page) plus page 1's control markup, and swap the visible 689 // window + rebuild the numbered controls here. The chunk algorithm mirrors 690 // _Pagination.cshtml exactly so the rendered controls match live for every page. Guarded + 691 // scoped to each listing wrapper (the item class comes from the root's data-item-selector),
692 // so non-listing pages no-op. 693 function initNewsPagination() { 694 const roots = document.querySelectorAll( 695 "[data-news-listing],[data-event-listing],[data-blog-listing]", 696 ); 697 if (!roots.length) return; 698 Array.prototype.forEach.call(roots, function (root) { 699 const pageSize = parseInt(root.getAttribute("data-page-size"), 10) || 9; 700 const chunkSize = parseInt(root.getAttribute("data-chunk-size"), 10) || 3; 701 const totalPages = parseInt(root.getAttribute("data-total-pages"), 10) || 1; 702 const list = root.querySelector(".pagination__list"); 703 const itemSelector = root.getAttribute("data-item-selector") || ".news-listing3__item"; 704 const items = root.querySelectorAll(itemSelector); 705 if (totalPages <= 1 || !list) return; 706 707 function svgLink(hash, srText) { 708 return ( 709 '<a href="#" class="pagination__link pagination__link--svg">' + 710 '<svg aria-hidden="true" focusable="false"><use xlink:href="/assets/dist/images/svg-legend.svg#' + 711 hash + 712 '"></use></svg><span class="sr-only">' + 713 srText + 714 "</span></a>" 715 ); 716 } 717 718 // Mirror _Pagination.cshtml's chunk window for the given current page. 719 function controlsFor(current) { 720 let startPage = Math.max(1, current - Math.floor((chunkSize - 1) / 2)); 721 const endPage = Math.min(startPage + chunkSize - 1, totalPages); 722 if (endPage === totalPages) startPage = Math.max(1, totalPages - chunkSize + 1); 723 const out = []; 724 if (current > 1) out.push({ k: "prev", p: current - 1 }); 725 if (startPage !== 1) out.push({ k: "first", p: 1 }); 726 if (current > Math.floor((chunkSize - 1) / 2) && startPage !== 1) 727 out.push({ k: "prevChunk", p: Math.max(current - chunkSize, 1) }); 728 for (let n = startPage; n <= endPage; n++) 729 out.push({ k: "page", p: n, active: n === current }); 730 if (current < totalPages - Math.floor((chunkSize - 1) / 2) && endPage !== totalPages) 731 out.push({ k: "nextChunk", p: Math.min(current + chunkSize, totalPages) }); 732 if (endPage < totalPages) out.push({ k: "last", p: totalPages }); 733 if (current < totalPages) out.push({ k: "next", p: current + 1 }); 734 return out; 735 } 736 737 function render(current) { 738 // Toggle the visible item window. 739 Array.prototype.forEach.call(items, function (li, i) { 740 li.hidden = Math.floor(i / pageSize) + 1 !== current; 741 }); 742 // Rebuild the numbered controls for the new current page. 743 let html = ""; 744 controlsFor(current).forEach(function (c) { 745 if (c.k === "prev") 746 html += 747 '<li class="PagedList-skipToPrevious pagination__list-item" data-page-number="' + 748 c.p + 749 '">' + 750 svgLink("arrow-left-slider", "Previous page") + 751 "</li>"; 752 else if (c.k === "first") 753 html += 754 '<li class="pagination__list-item" data-page-number="1"><a href="#" class="pagination__link">1</a></li>'; 755 else if (c.k === "prevChunk") 756 html += 757 '<li class="PagedList-skipToPrevious pagination__list-item" data-page-number="' + 758 c.p + 759 '"><a href="#" class="pagination__link">...<span class="sr-only">Previous chunk</span></a></li>'; 760 else if (c.k === "page") 761 html += c.active 762 ? '<li class="pagination__list-item active"><span class="pagination__link pagination__link--active">' + 763 c.p + 764 "</span></li>" 765 : '<li class="pagination__list-item" data-page-number="' + 766 c.p + 767 '"><a href="#" class="pagination__link">' + 768 c.p + 769 "</a></li>"; 770 else if (c.k === "nextChunk") 771 html += 772 '<li class="PagedList-skipToNext pagination__list-item" data-page-number="' + 773 c.p + 774 '"><a href="#" class="pagination__link">...<span class="sr-only">Next chunk</span></a></li>'; 775 else if (c.k === "last") 776 html += 777 '<li class="pagination__list-item" data-page-number="' + 778 c.p + 779 '"><a href="#" class="pagination__link">' + 780 c.p + 781 "</a></li>"; 782 else if (c.k === "next") 783 html += 784 '<li class="PagedList-skipToNext pagination__list-item" data-page-number="' + 785 c.p + 786 '">' + 787 svgLink("arrow-right-slider", "Next page") + 788 "</li>"; 789 }); 790 list.innerHTML = html; 791 } 792 793 list.addEventListener("click", function (e) { 794 const li = 795 e.target && e.target.closest ? e.target.closest("[data-page-number]") : null; 796 if (!li || !list.contains(li)) return; 797 e.preventDefault(); 798 const target = parseInt(li.getAttribute("data-page-number"), 10); 799 if (!target || target < 1 || target > totalPages) return; 800 render(target); 801 root.scrollIntoView({ behavior: "smooth", block: "start" }); 802 }); 803 }); 804 } 805 function initAll() { 806 initHero(); 807 initBlogSlider();
808 initRelatedSlider(); 809 initBasicCarousel(); 810 initNav(); 811 initStickyHeader(); 812 initVideoModal(); 813 initNewsPagination(); 814 } 815 if (document.readyState !== "loading") initAll(); 816 else document.addEventListener("DOMContentLoaded", initAll); 817 })(); 818 </script>
818
818<script>(function(){const sb = {"title":"Attention!","continueLabel":"Continue","message":"You are now leaving a NinjaTrader website and will be redirected to a third-party site. Neither NinjaTrader nor its affiliated entities has endorsed or recommended for use any product, service, or statement offered or presented on the site you are about to visit. Third-party vendors and their websites, products, and services are independent and not affiliated with NinjaTrader or its affiliated entities.\u003cbr />\u003cbr />By clicking the button below, I confirm to have read and understood the statement above.","blacklistedDomains":["ninjatraderecosystem.com","youtube.com","anthonycrudele.com","daytradetowin.com","thelabtrading.com","livestreamtrading.com","moneylinetradingco.com","thepaxgroup.org","stratalerts.ai","x.com","vipertradingsystems.com","crowdedmarketsreport.com","idta.com.au","jtrader.co","microefutures.wordpress.com","crowdedmarketreport.com","try.takeprofittrader.com","blusky.pro","emergeprofit.com","elitetraderfunding.com","fundedfuturesfamily.com","checkout.fundingfutures.com","app.fundingticks.com","tradefundrr.com","fxifyfutures.com","ninjatrader.thelegendstrading.com","lifeuptrading.com","myfundedfutures.com","purdia.com","client-area.thetradingpit.com","tickticktrader.com","tradeday.com","fundingtrading.com","tradeify.co","apextraderfunding.com","fundednext.com","goatfundedfutures.com","thelegendstrading.com","lucidtrading.com","takeprofittrader.com","fundingfutures.com","thetradingpit.com","app.fxifyfutures.com","facebook.com","x.com","linkedin.com","instagram.com","phidiaspropfirm.com","tradingview.com"]}; 819 820 (function () { 821 function init() { 822 const $ = window.jQuery; 823 if (!$ || !$.fn || typeof $.fn.modaal !== "function") return; 824 const cancelBtn = 825 '<svg aria-hidden="true" focusable="false"><use xlink:href="/assets/dist/images/svg-legend.svg#x-cross"></use></svg>'; 826 827 Array.prototype.forEach.call(document.getElementsByTagName("a"), function (el) { 828 const domain = (el.host || "").replace(/^www\./, "").toLowerCase(); 829 const match = 830 sb.blacklistedDomains.indexOf(domain) !== -1 || 831 el.classList.contains("js-globalspeedbump"); 832 if (!match || el.classList.contains("js-noglobalspeedbump")) return; 833 834 // Capture the destination, then let modaal own the click (it preventDefaults + 835 // opens the confirm; Continue runs the callback). Idiomatic modaal binding â 836 // re-opens correctly on repeat clicks, unlike the live start_open href-rewrite. 837 const url = el.href; 838 $(el).modaal({ 839 type: "confirm", 840 confirm_title: sb.title, 841 confirm_content: sb.message, 842 confirm_button_text: sb.continueLabel, 843 confirm_cancel_button_text: cancelBtn, 844 confirm_callback: function () { 845 window.open(url); 846 }, 847 }); 848 }); 849 } 850 if (document.readyState !== "loading") init(); 851 else document.addEventListener("DOMContentLoaded", init); 852 })(); 853})();</script>
853 </body> </html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.