THREEPIO/FAQ threepio.xyz →
Frequently asked

Questions, answered straight

The questions that actually come up — including the awkward ones about prop firms. If yours isn't here, open a ticket in the Discord.

Launch day

1 September 2026.

What time does it ship on 1 September?

5:00pm Portugal time, which is:

Lisbon17:00 (WEST)
New York12:00 noon (EDT)
London16:00 (BST)
UTC16:00

The email lands at that time with your download link, licence key and the setup video. Check your spam folder — a first email from a new domain with a download link is a classic false positive.

What do I get?

The Threepio application, your lifetime licence key, the market configurations, the setup video and documentation, and every future update. One payment.

Prop firms & automated trading

The most asked, and the most important to get right.

Which prop firms can I use? Which ones allow automated trading?

You need a firm that allows automated / algorithmic trading. Plenty do. Aston trades Lucid, which allows it.

Other firms commonly listed as algo-friendly for futures include Tradeify, TradeDay, Take Profit Trader, Apex Trader Funding, Topstep and MyFundedFutures.

Verify before you fund an account. Prop firm rules change often, vary by account type within the same firm, and are enforced at the firm's sole discretion. This list is a starting point for your own research, not a guarantee, and we are not affiliated with any of them. Read the rules of the specific account you are buying.

If a firm forbids automation, do not run Threepio on it. There is no workaround and we will not provide one.

We'll all be taking the same trades. Will that get us banned?

This is the right question to ask, and here is the honest answer.

What prop firms actually prohibit is copy trading and group trading: sharing logins, trading someone else's account, or subscribing to an external signal service that fires into your funded account. Running your own software on your own machine, on your own account, is a different thing — and running the same strategy across accounts you own is permitted at most firms.

But firms judge by outcome, not architecture. Their surveillance looks for near-identical fills — the same instrument, the same direction, the same size, within milliseconds — across supposedly independent accounts. They also use IP fingerprinting. If a group of accounts looks coordinated, it can be flagged regardless of how it came about.

So, plainly:

  • Threepio is not a signal service. It runs locally, there is no shared login, no copier, and no central account sending you trades.
  • Your installation will not trade identically to someone else's, because position size follows your account size and your risk settings, and it trades the markets you enable.
  • We will never ship a feature whose purpose is to hide automation from a firm or evade its compliance checks. That would put you in breach, not protect you.
Sensible precautions. Don't run your account from the same IP as another Threepio user. Don't all pile into the same firm — spreading across firms is good practice anyway. Set your own risk numbers rather than copying someone else's. And if you are running multiple accounts, make sure they are all your own.
No guarantees. We cannot promise any firm will accept your activity, and nobody can. Compliance with your firm's rules is yours, and the decision to trade a funded account with any automation is yours.
Does it work with trailing / intraday drawdown firms?

We recommend end-of-day (EOD) drawdown accounts only.

Intraday trailing drawdown moves against you tick by tick during the session. A strategy sized against a daily loss cap can be perfectly healthy on the day and still breach a trailing limit intraday, on an open position that later recovers. That is a bad fit for a systematic book.

Firms offering EOD drawdown on at least some account types include Tradeify (Select), TradeDay and Take Profit Trader. Check which model the specific account uses before you buy it — many firms offer both.

Will it pass my evaluation?

It trades evaluations with the same validated strategies and firm-aware risk settings. Nobody can promise you a pass, and anyone quoting a guaranteed pass rate is selling you something. Check first that your firm permits automation at all.

Is this high-frequency trading?

No. Strategies are intraday with ordinary holding times, and stop and target orders rest at the broker the way a manual trader's would.

Machine & setup

Does it open in a browser?

No. Threepio opens in its own window — no browser tab, no address bar. It behaves like any other desktop application. Under the hood it serves itself from 127.0.0.1:8321, which is your own machine, but you never need that address unless you are troubleshooting.

What machine do I need?

Windows 10 or 11, 64-bit. 8 GB RAM minimum (16 GB comfortable), 4 cores minimum (8 comfortable), 20 GB free disk, and a stable internet connection.

The machine must stay awake while your strategies are trading — turn off sleep and hibernate, and don't let Windows restart itself mid-session.

Does it run on a Mac?

Not directly — it's a Windows application. Mac users run it on a Windows VPS, a Windows machine in a data centre you connect to remotely. That's the standard answer and it works well; it also means the machine never sleeps. You can control a VPS from a Mac or a phone — you just can't install Threepio on either.

Do I need a VPS?

Only if you're on a Mac, or you'd rather not leave your own PC on during trading hours. On a Windows PC that stays awake, you don't need one.

Can I set it up from my phone?

Not directly — Threepio installs on a Windows machine. You can, however, connect to a Windows VPS from your phone and set it up that way.

Do I need Python or any coding tools?

No. Everything is bundled in the installer. If you can install a normal Windows program, you can install this.

Windows says the installer is dangerous / unrecognised. Is it a virus?

No. You'll see this twice and both are expected.

Your browser may say the file "is not commonly downloaded and may be dangerous". Click the ⋯ beside the download, then Keep, then Keep anyway.

Then Windows shows a blue box saying "Windows protected your PC", offering only Don't run. Click the small More info link — that reveals Run anyway.

What these messages actually mean is "I have never seen this program before", not "this program is harmful". Windows builds trust in an installer through a code-signing certificate plus download volume over time. Threepio launched this week and isn't signed yet, so it starts with no reputation at all — every new independent Windows program does.

We'd rather tell you this plainly than have you meet it unwarned and assume the worst. If you want to verify the file independently instead of trusting us, the SHA-256 checksum is published on the setup page and in your delivery email — run Get-FileHash on the download and compare. A match means the file is byte-for-byte the one we published.

Signing is on the list. It costs a few hundred a year and takes weeks of vetting, which is why it isn't done for launch. Once it's in place these warnings stop.

My antivirus quarantined it. What now?

Occasionally an antivirus flags a new, unsigned installer that bundles its own Python runtime — the bundling pattern looks unusual to heuristic scanners even though nothing about it is.

Verify the checksum first (see above). If it matches what we published, restore the file from your antivirus quarantine and add an exception for the install folder. If it doesn't match, don't run it — delete it and tell us in the Discord.

If you're not comfortable adding an exception, that's a completely reasonable position. Say so in a ticket rather than forcing it.

How long does setup take?

Roughly 20 minutes if you're comfortable with trading platforms, up to an hour if you're not. The setup wizard is click-by-click and there's a help assistant built in. After every update it asks for the three things that decide whether anything trades — your NinjaTrader account name, your risk per trade, and the NinjaTrader steps — one at a time, and it says plainly what skipping each one costs.

I reinstalled NinjaTrader (or cleared its folders) and Threepio stopped trading

Expected, and it is a two-minute fix. Threepio keeps two files of its own inside NinjaTrader:

  • JarvisBarLogger.cs in Documents\NinjaTrader 8\bin\Custom\Indicators
  • ORBV19Multi_Threepio.cs in Documents\NinjaTrader 8\bin\Custom\Strategies

A clean NinjaTrader install, or any "delete the NT8 folders and start fresh" fix, removes those two along with everything else. Threepio then has nothing on your charts and will not put them back by itself.

The fix: on the setup page press the button that installs the NinjaScript — it copies both files in again. Then press F5 in the NinjaScript Editor to compile, and re-add them to your charts.

Worth knowing before you wipe rather than after: if you are clearing NinjaTrader out to fix something unrelated, expect to do this afterwards.

I compiled, but I only see JarvisBarLogger — where is ORBV19Multi_Threepio?

Nothing has failed. You are looking in the right place for the wrong one of the two files. They are two different kinds of NinjaScript, and NinjaTrader keeps each kind in its own separate list:

  • JarvisBarLogger is an Indicator
  • ORBV19Multi_Threepio is a Strategy

So an Indicators list showing only Jarvis is exactly what a clean compile looks like. The ORB is not missing — it is one list over.

To put them on a chart: right-click the chart, choose Indicators, and add JarvisBarLogger. Then right-click again, choose Strategies, and add ORBV19Multi_Threepio.

The strategy is the one that places orders and asks RiskGate. With only the indicator on the chart you get price data and no trades, which looks like a broken install and is not one.

Can I run the setup walkthrough again?

Yes — SETTINGS → SETUP. REPLAY THE TOUR plays it again and changes nothing. START SETUP OVER also clears the machine's own record of the walkthrough, so it runs from step one and the machine is read-only until it is finished, exactly as on a new install. Neither touches your licence, your data or any risk limit.

I know a new version is out, but no update button has appeared.

Threepio only checks once a day, so if your machine last looked before the release went out it will keep telling you you're current until the day is up. Open SETTINGS → VERSION and press CHECK NOW — it asks again straight away, and if there is something newer it gives you the download and tells you to run it straight over the top. Don't uninstall first, and don't work through the versions one at a time.

After updating, TEST CONNECTION says "finish the tutorial to unlock this — 46 of 47 done", but I finished it. Or I get "Failed to fetch dynamically imported module" errors.

Your window is still showing the previous version's page while the engine underneath was updated. An old page has one tutorial card fewer than the new engine requires, so its tutorial can never reach the last card and the lock never opens; the "failed to fetch" errors are the same thing — file names that belonged to the old build. A reboot does not clear a browser cache. Click inside the Threepio window and press Ctrl+F5 (do the same in a normal browser tab if that's how you opened it). The tutorial then opens on the one card it still owes — press FINISH. Since the newest version the page checks this itself: it compares the engine's version and tutorial length with its own and reloads once when they differ, and Threepio opens a version-stamped address on every start so an update is never served from an old cache.

RISKGATE says my strategy is blocked: "position cap (market MNQ): 1/1 slot(s) already held — first-come: 'SBX MNQ ORB ...' (opened 2025-09-09)".

That slot holder is a paper trade from an earlier day that was never marked closed — a dead row, not a real position. A paper session is flat by its own session end, so anything still "open" a day later is a record, never a rival. Since 0.9.29 such a row holds no slot. The GATE VERDICTS and BLOCKED ORDERS panels are the record of what past runs decided, so they keep showing the old line until a session has run on the new version (the nightly, or the next live tick); after that both strategies trade. If it is still there the morning after, tell us which page you are reading it on.

Telegram keeps sending "BAD DATA: MCL: impossible bar-to-bar move 20% at 2021-07-14 ... pausing new orders".

The bar it names is from July 2021, the first days MCL ever traded, and it is in your file because the chart's Days-to-load reaches back that far. It is not today's feed. Since 0.9.29 a finding older than a week is said once as a DATA NOTE and never pauses orders; only a bad bar in recent data halts. If you want the note gone too, lower Days to load on that chart and press Reload All Historical Data.

The account card says DISCONNECTED but the top of the page says ROUTE READY.

Both were true and the card was the misleading one: the NinjaTrader link is opened at the moment an order is sent, so before the first order there is nothing to be connected to. Since 0.9.29 the card says ROUTE READY → Sim101 · the link opens when an order is sent instead. A real green CONNECTED only ever appears when the platform really is.

Is there a video that shows the whole setup?

Yes. The setup guide video is 24 minutes with narration and covers every click from the download to the first practice trade, including NinjaTrader. The same walkthrough written down, with a picture of every step, is the beginner's guide.

What does Threepio do on a US market holiday or a half day, like Labor Day?

Since 0.9.30 the order path reads the CME calendar (every full-close and early-close day through 2026). On a full-close holiday nothing is entered. On an early-close day (most holidays halt at 13:00 New York; Black Friday and Christmas Eve at 13:15) RiskGate refuses any new entry in the last 30 minutes before the halt, and the route closes whatever is still open five minutes before it, whatever the strategy's own flat time says. Exits are never refused. This applies to every desk and every account, demo or live. The open on such a day is thinner than usual; the strategies still trade it, the gate just will not let them be caught in the halt.

How do I turn live trading on?

From 0.9.35 you do not need a file at all. The ACCOUNT page has a LIVE TRADING control: it asks you to type ENABLE LIVE TRADING rather than click, because a phrase cannot be pressed by accident or by anything running on its own. It takes effect when you restart. Turning it back off is one click with no phrase — making it hard to stop is how people get hurt.

The file still works if you prefer it, and it is the same switch: one line in the .env file inside your Threepio folder (%LOCALAPPDATA%\MillenniumFalcon on a standard install, or wherever you installed it — the ACCOUNT page prints the exact path): LIVE_TRADING_ENABLED=true, then restart Threepio. Nobody but you can set it, and no part of the machine may flip it for you. That switch is the whole permission — with it off a real account is refused outright; with it on, orders route automatically rather than asking you again for every trade. Which orders it gates is decided by the account name, not by the strategy: a name beginning with Sim is practice, anything else is treated as real. Every order still passes RiskGate either way — the mandatory stop and target, position caps, the daily loss limit, the news blackout, the holiday halt and the kill switch.

Which config files are mine, and does an update overwrite them?

Three are yours. config/prop_accounts.yaml and config/risk_profiles.yaml are written for you by the ACCOUNT SETUP screen — use the form, don't edit them by hand — and an update leaves them exactly as they are. config/risk.yaml holds the limits themselves and is yours to edit if you want to. On 0.9.32 and earlier an update replaces that one, so if you have edited it by hand, check your numbers after updating. From the next version your file is kept and the build's own numbers arrive beside it as config/risk.default.yaml, which RiskGate reads first before laying your file on top — so your edits win and anything a new version adds still reaches you. Everything else in the folder is program code and is replaced on every update.

I cannot find the email with my download link.

Check spam and promotions first — it is nearly always there. If it is genuinely gone, open a ticket in the Discord and ask for it to be resent to the address you bought with; never post that address in a public channel. The installer link only ever comes from that email, on the threepio.xyz domain. Nobody will DM you a link first, and anyone who does is an impersonator. You can also reach support at aston@threepio.xyz. The setup page carries the file name and its SHA-256 checksum so you can confirm the file you downloaded is the one that was published.

PORTFOLIO / POSITIONS says NO PLATFORM LINKED, but NinjaTrader is connected.

Nothing is wrong with your setup and there is nothing to restart. On 0.9.32 and earlier that page asked the Tradovate integration we retired when execution moved to NinjaTrader 8. Nobody has Tradovate credentials, so it said NO PLATFORM LINKED on every machine however healthy NinjaTrader was — and on the same panel the “order route” and “live trading” lines were fixed text rather than a reading of your machine.

The page that tells you the truth today is ACCOUNT: bars arriving under MARKET DATA, TEST CONNECTION passing, and ROUTE READY — with the LIVE ROUTE panel on BOOK showing what the poller last did. From the next version the positions page reads that same route (your named account and the poller's own tick) and shows the route's real error or skip reason instead of a fixed sentence.

What does it actually take for Threepio to trade my real or prop firm account?

Three things, and missing any one of them means nothing reaches your account.

1. The account name. Under ORDER ROUTE, the name is what decides: one starting with Sim is practice, anything else — including a prop firm evaluation — is treated as real. Leave Sim101 in there and it keeps trading practice money however the switch is set.

2. The switch. Either type ENABLE LIVE TRADING into the LIVE TRADING control on the ACCOUNT page, or set LIVE_TRADING_ENABLED=true in the .env file in your Threepio folder by hand. Both write the same line; either way you must restart. Only you can set it, nothing in the software turns it on by itself, and with it off every order to a real account is refused with exactly that reason.

3. Your rulebook, if you armed one. Filling in the ACCOUNT SETUP form for a prop account arms the rulebook system — and an armed rulebook has to be able to find the account. Make sure your prop account is the active one there, or live orders are refused with no handle, no rulebook — fail closed. Practice orders are let through without a rulebook; demo and live never are, because those reach a venue.

Everything else still applies: NinjaTrader running and logged in, bars arriving, the session window, and every RiskGate limit on every order.

The bar logger will not compile — “StringBuilder could not be found” or CS0246.

That is the paste landing inside NinjaTrader's generated template instead of replacing it, so the template's own using lines survive above your code.

Skip the paste. Close NinjaTrader. Copy JarvisBarLogger.cs into Documents\NinjaTrader 8\bin\Custom\Indicators\ — just the file, as it is. Start NinjaTrader, open New → NinjaScript Editor and press F5. It builds from the file on disk, so there is nothing to select or replace. If you would rather paste, press Ctrl+A first to select every line of the generated file, including the using lines at the top.

I set a contract cap but it traded more than that

A real bug, fixed in 0.9.36 — update over the top. The cap was checked against the size the strategy asked for (almost always one), and then your risk-per-trade figure sized the order up before it reached NinjaTrader, with nobody re-reading the cap. A cap of 1 plus a risk figure big enough for three contracts got you three.

It now applies to the size that actually reaches your broker, and it clamps rather than refuses — a generous risk figure gives you your cap instead of stopping you trading. Micros still count as a tenth of a contract, so MNQ-for-NQ substitution works as before.

YM never trades — "Buffer dtype mismatch, expected 'double'"

Fixed in 0.9.36. YM trades in whole points, and a price with nothing after the decimal was read as a whole number rather than a decimal one, which the engine underneath refuses — so every YM order died before it could be placed, on every machine. NQ and ES were never affected because their prices carry ticks after the point. Nothing to redo beyond the update.

My first morning showed an empty book and a red incident

On a brand new install the breeding phase died straight away with "no processed data for NQ" — a new machine has no market data yet, and nothing caught that. The rest of the night ran and still wrote your report, so it looked like the machine had found nothing worth keeping, when in fact it never got as far as testing anything.

Fixed in 0.9.36: a market with no data is skipped and named in the night's result rather than taking the phase down with it. Update, then give it one full night.

Every order is refused for a missing drawdown number

The message reads "the profile arms this limit but the order context carries no account_drawdown_usd". Setting your account up is what arms that limit, so the people who filled their prop rules in most carefully were the ones who could not trade at all.

To judge a drawdown limit the machine prices your past trades, and it gave up entirely on meeting a market it has no cost model for — crypto, forex or shares left over from another book. One such trade anywhere in your history and every limit lost its number. Fixed in 0.9.36: those trades are skipped, and you are told which ones.

Do I need to turn live trading on to paper trade?

No — and it gains you nothing. That switch decides exactly one thing: whether an order is allowed to reach a real account. Sim101 and paper trading both run with it off, through the same RiskGate, with the same mandatory stop and target, on the real market's prices.

The only thing arming it changes is that orders to a real account stop being refused — which is not what you want while you are practising. Off is the normal, healthy state.

My feed died overnight and nothing told me

Fixed. The stale-feed watchdog only watched the hours your strategies trade — 09:30–16:00 New York for the index futures. The exchange runs from Sunday evening to Friday evening, so for about seventeen hours a day a dead feed wasn't counted as stale and nothing was said.

It now watches whenever the exchange is open. It alerts and does not pause — nothing trades at 3am, and a halt raised overnight would still be in force at the open. Watch for the trap it names: NinjaTrader can keep reporting Connected while no ticks arrive. If you see "NO BARS for N min while the exchange is open", reload that chart's data.

Does setup actually check that NinjaTrader is connected?

Yes, since 0.9.38 — press TEST CONNECTION on the last step of the setup wizard. It asks NinjaTrader directly and names what it found, e.g. "NinjaTrader answered. Account BGF154039, cash US$50,000.00."

Before that, the step told you what to do and never checked it, so you could press DONE having done none of it. If it can't connect it names the usual cause: the AT Interface tick, and the restart that makes it take effect.

Your licence

My licence is tied to one machine. What if I change computers?

Your licence runs one active machine at a time, and you can move it yourself, in the app, whenever you like — no ticket, no waiting on anyone.

Open Settings → Licence → Machines. You'll see the machine currently holding your activation. Release it, then activate on the new machine. If the old machine is dead or stolen and you can't release it from there, you can release it remotely from the new machine's activation screen.

Your data comes with you. Back up the data folder — it holds your journal, vault and settings. That backup plus your licence key is a full recovery on a new PC.
Can I run it on two machines at once?

No — one active machine at a time. You can switch as often as you need, but only one installation can be armed at any moment. That's deliberate: two copies trading the same account would fight each other.

Can I share my licence with a friend?

No. Licences are per person and enforced. Sharing gets both accounts revoked.

Trading & safety

Is there a kill switch?

Yes, visible on every screen. One click flattens every open position and halts trading. Live trading also ships switched off — you arm it yourself, deliberately, when you're ready.

Are stop losses real orders at the broker?

Yes. Stop and target are submitted with the entry, so they rest at the broker. Trailing stops are the exception — those are managed dynamically.

What if my internet or VPS drops mid-trade?

Drops under about a minute are handled — it resumes managing open positions. Longer outages flatten positions automatically and it redeploys once the connection is stable. You should also know how to flatten manually at your broker; that's your ultimate backstop and it doesn't depend on us.

How many trades a day? What drawdown should I expect?

Each strategy declares its own daily limit and RiskGate holds it to that. The Master Book's ORB strategies now declare no daily limit: they take every signal their own rules produce, which in practice is a handful at most. Everything else still applies to each of those orders — the mandatory stop and target, your risk per trade, position caps, the daily loss limit, the news blackout and the market-holiday halt. Beyond that it depends on the active portfolio and current market conditions. Some days there are none — that's the system exercising judgement, not sitting broken. Nobody can tell you your drawdown in advance, and any figure you've seen is a past result, not a forecast.

Nothing is trading — not even on sim. Why?

The machine will tell you, strategy by strategy. Open your desk's BOOK page: at the top, LIVE ROUTE says what the order route is doing right now and, if it has stood down, exactly why (no account name set, kill switch, no bars, session closed). Below that, every strategy that cannot run is listed with the reason beside it. If that list is empty and nothing is trading, it is almost always price data: NinjaTrader must be open with the JarvisBarLogger indicator on a 1-minute chart, or no bars arrive and there is nothing to act on.

I'm outside the US. Do I need to change any clocks?

Leave Convert PC time to New York ticked — it ships ticked and it is what lets the strategy work anywhere in the world. It takes each bar's time and converts it to New York, so the 09:15–09:30 range window and the 12:00 flatten land on the right bars whether you are in London, Lisbon or Mumbai. If your clock is already on New York time the conversion changes nothing, so it is safe either way. Don't untick it to “help”.

Change nothing else. In particular, leave NinjaTrader's own time zone setting — Tools, Options, General — matching your Windows clock, which is how it comes.

The one arrangement that causes trouble. Those two clocks disagreeing breaks the strategy silently. It reads the session at the wrong time of day, by exactly the gap between them, and simply never trades. There is no error and no warning. The chart looks perfect and every filter passes.

Bar logging is not affected — that half reads NinjaTrader's clock correctly — which is precisely why this hides: your data looks healthy while your strategy does nothing.

The check takes a minute. Open Tools, Options, General and compare the Time zone there with the clock in your Windows taskbar. If they match, you have nothing to do. If they don't, set NinjaTrader's back to your own zone rather than leaving it on New York, and let the tickbox do the converting — that is what it is for.

What goes in MAX DRAWDOWN — the amount I can lose, or the balance I must not fall below?

The amount you are allowed to lose. On a 150,000 account whose firm says you are out at 145,500, enter 4,500 — the distance down to that floor, not the floor itself.

This catches people out, and it is our fault rather than theirs: NinjaTrader asks it the opposite way round. The ORB strategy's Current loss limit ($) field wants the FLOOR, and it ships set to 145500. Two fields, two conventions, so it is an easy mistake to make.

Worth checking yours now. This setting fails quietly. Enter the floor and the limit measures your losses so far against 145,500 — a number you would never reach — so it can never stop you, and you would be trading with a protection you believe is switched on. From 0.9.36 the form says which number it wants, warns you as you type, and refuses a figure that is plainly a floor. If you set yours before 0.9.36, go and look at it.
Can I run more than one account?

Yes — multiple accounts under the same broker login can trade together, provided they are all your own.

Can I edit the strategy logic?

No, by design — validated logic isn't hand-tweakable. What is yours is the risk configuration, which markets are enabled, and whether it's trading at all. You can also feed it your own research: if it can build the idea and the idea survives validation, it joins the portfolio on merit.

Results

My ORB backtest numbers changed after an update. Why?

Because the engine was measured against the NinjaTrader port of the same strategy on the port's own bars, and one difference was found and fixed. Both took the same trades on the same days, but the engine only watched the stop and the target from the bar after the entry, while the real strategy's bracket is a working order inside the entry bar — on 1-minute bars with a tight target that changed the exit on about one ORB trade in five. The engine now walks the ORB the way the strategy trades; at the same cost terms 99 of every 100 trades come out identical to NinjaTrader's Strategy Analyzer. What still differs is costs: the engine charges one tick of slippage a side and commission, and an Analyzer run at zero slippage and no commission will always show more. The newer figure is the right one for your machine.

Will I get the same results as the published ones?

No — and nobody can promise you will. Your results will differ, potentially by a lot, because of your account size and currency, your broker's spreads and commissions, slippage, latency, which markets you enable, the risk settings you choose, the date you start, and plain chance.

Past performance does not predict future results. Backtested and simulated results are hypothetical and carry well-known limitations — they are prepared with hindsight and involve no financial risk. Trading carries a real risk of loss.
Are commissions and slippage included in the results?

Yes — results are net, and costs are applied when positions open and close.

Support & safety

Is someone DMing me actually Aston?
No. Nobody from Threepio will ever DM you first. Anyone who messages you first about payment, licence keys or early access is an impersonator, however convincing the profile. Everything official happens through the ticket system or the official checkout link.
What is the Master Book?

It's the same book used in Aston's Threepio. When it changes on his machine it changes on yours — your machine checks for a new one each night and verifies it really came from him before accepting it. New installs use it by default.

The alternative is the Machine Book: the book your own Threepio builds from its own overnight research. A new machine starts that one empty and fills it as the nights pass, which is why you don't begin there.

You choose per market, on that market's BOOK page, and you can switch either way any time. Run the Master Book on futures and your own machine's book on crypto if that's what you want.

Does using the Master Book mean giving up control?

No. Whichever book you choose, the same walls stand. Every order still passes RiskGate. Your own account limits still bind — the Master Book can only ever make them tighter, never wider. It can't switch live trading on, and it can't promote anything: nothing trades real money until you sign for it yourself, on your own machine.

Choosing a book decides which strategies a desk would trade. It decides nothing about whether that desk may trade at all.

Where do I get help?

Open a ticket in the Discord — that's the main support route. If you're not in the Discord or can't find the link, email aston@threepio.xyz and it reaches Aston directly. Nobody should be stuck because they lost a link. There's also a help assistant built into the app.

Is my data private?

Yes. Everything runs locally: the research brain, the strategy vault, your trade journal. It's your machine and your data.

My PDF sits in the deep-reading queue and never gets read — coverage says 0 read. Why?

Look at the top of the DEEP READING panel on the VAULT BRAIN page: one line there says what the reading lane is doing and why. “No brain on this machine” means the AI model has not been downloaded — open the assistant (bottom right) and press DOWNLOAD AI MODEL, once; reading starts on the next nightly run at 01:30 New York. “The local model is answering nothing” shows the engine’s real error: a timeout means the machine is slow for the chunk size and the lane retries every night; engine_not_started means the model or memory is missing. “Read N documents on the last run” means it is working and the rest are simply queued. Nothing is wrong with your documents in any of these cases and there is nothing to clear.

I set Days to load to 400 but the ACCOUNT card still shows a few sessions and the counter does not move.

Older versions of the bar logger only let a market’s file grow forwards, so history a chart loaded after its first load was thrown away as “already written” — the counter froze at the first few days however high you set Days to load. This is fixed. The current logger collects the older bars and rebuilds the file in order.

The step people miss: the logger runs inside NinjaTrader, so updating Threepio does not update it. Open the “NinjaTrader 8” folder inside your Threepio folder, paste the new JarvisBarLogger.cs over the old one in NinjaTrader’s NinjaScript Editor, and press F5. If you keep a backup copy of that file alongside it, check the date before you copy — pasting the old one back looks exactly like the fix not working.

Then just right-click the chart → Reload All Historical Data, and FUTURES → ACCOUNT → PULL HISTORY. You do not need to delete anything, and you do not need to close Threepio. If you have seen advice telling you to delete the market’s file in data\live, that is out of date — it was true before the backfill fix. Deleting still applies to one different problem: a bad price already written into the file by too deep a lookback on a young contract.

MARKET DATA coverage still shows a date about a year ago, even after updating. Is my data stale?

Almost certainly not — that is the holdout seal, and seeing it means the protection is doing its job. Threepio splits your record in two: the most recent stretch is sealed away where the brain may never train on it, tune against it, or look at it until a strategy’s one and only final exam; everything before the seal is the training half. The COVERAGE row shows the whole record’s end date, with a smaller line beneath reading trains to <date> · newest <n>d sealed. That second date is the seal, and on a deep history the seal is a full year wide — so the two dates can legitimately sit twelve months apart. Older builds printed only the training date and labelled it coverage, which made a perfectly current install look a year out of date.

To check for yourself, open data\processed and read <SYMBOL>.fold.json: last_ts is where your record actually ends and folded_at is when it was last rebuilt. Both should be recent — the fold re-runs roughly hourly while the app is open, again overnight, and at first boot. If last_ts genuinely is old, that is a different problem: the bar logger has stopped writing, so check it is attached to a 1-minute chart in NinjaTrader.

I copied documents into the 00 Inbox folder and the reading queue still says 0. Where did they go?

Nowhere — they are fine. Until the next update the queue simply did not know about them: the folder was only scanned when a read run started, or when a file arrived through the upload box. Files copied in by hand stayed invisible, through restarts and through updates. It is also why the README that ships in that folder never counted as unread. From the next update the folder is scanned every time Threepio starts.

To surface them right now: upload any single file through RESEARCH → LIBRARY — that sweeps the whole folder, so everything waiting appears at once — or press READ NOW. Doing both is safe: the queue identifies a document by its content, not its filename, so the same document dropped in and uploaded is still read once.

One related thing that is not a bug: the upload box accepts PDF and EPUB only, while the reading lane also reads .txt and .md. That box is deliberately stricter — it is the one place that verifies a file's real type and guards against a compressed file that unpacks to something enormous. For .txt and .md, put the file into the 00 Inbox folder directly and it will be read.

When I click into a box to type, my saved address or name pops up over it and I cannot type. Is that Threepio?

No — that is your browser's autofill, and it was our fault for not telling it to stay away. A plain box asking for a name looks exactly like an address form to Edge and Chrome, so they offer your saved details and the suggestion list lands on top of whatever sits underneath. Most painfully on the approval bar, where it covers the reason box.

From the next update every box you type into refuses autofill — including the live-trading arming phrase and the kill switch, where a suggestion list appearing over the control is worse than an annoyance. To be clear, nothing about those gates changed: the arming phrase must still be typed out in full. What it adds is the opposite guarantee, that nothing except your own keyboard can put text into it.

Right now: press Escape to dismiss the suggestion and carry on typing, or switch off address autofill in your browser settings to stop it entirely.

My strategy was on the chart but the ENABLED box had unticked itself. Do I have to do that every time?

Yes — treat it as a per-session check. NinjaTrader does not restore the ENABLED tick when it reloads a workspace: the strategy comes back on the chart looking exactly as you left it, but unticked. That is NinjaTrader's own behaviour, not a Threepio setting, and it is deliberate on their part — a strategy that re-armed itself every time the platform opened could start trading while you were still making coffee. After any NinjaTrader restart: right-click the chart → Strategies → confirm ENABLED is ticked → OK.

From 0.9.39 Threepio can tell you. The strategy now checks in about once a minute while the market is live, and the ACCOUNT screen shows when it last heard from it — so an unticked strategy shows up as “not heard from” within a few minutes instead of looking like a quiet day. You must re-compile ORBV19Multi_Threepio in the NinjaScript Editor (press F5) after updating for this to work, because the check-in lives inside the strategy file, not the app.

On an older build, or before you have re-compiled, the gate log is still the honest tell. If the strategy is running you get entries naming orb_v19_nq, orb_v19_es and orb_v19_ym. Nothing there since yesterday means it is not running, whatever the chart looks like. Check it before the open and you will know inside ten seconds.