SECTION 01Before you start
Shogun runs entirely on your own Windows PC. It places real orders on your own broker
accounts with your own sizing. Nothing of ours executes anything, and nothing you set up
here can reach anyone else's accounts — or theirs yours.
- A Windows PC
- Shogun is a single
.exe of about 16 MB. No
installer, no Python, no admin rights. It has to stay running to act on an alert.
- Edge or Chrome installed
- Both broker connections are browser-driven, so
Shogun opens and drives one browser window per firm you connect. Edge ships with Windows,
so this is almost always already true.
- Your licence key
- A long string, sent to you separately from the download. It
activates the machine.
- A broker account
- On Rithmic (R|Trader Pro web — how
Bulenox and Apex clear) or TopstepX. Those are the two platforms Shogun
drives today; ask us before buying if yours is elsewhere.
- Your own TradingView strategy
- With an alert you can fire. Shogun does not
include strategies or signals — you bring them.
Start on a practice account
This is early software placing real orders. Point it at an evaluation or practice
account first — not at an account you cannot afford to have a bad day on.
SECTION 02Install
Unpack the whole folder to a plain local path, for example C:\Shogun\.
Do not run it from OneDrive, Dropbox or Google Drive
Nor from inside the zip, nor from your Downloads folder. Shogun writes its settings and
logs next to itself, and a sync client can move, lock or dehydrate the .exe
while it is running. You then get this on launch:
Failed to extract _tcl_data\encoding\cp860.enc: failed to open archive file!
That looks like a corrupt download and is not one. The file is fine — it simply could
not read itself while the sync client held it. Copy the folder to C:\Shogun\
and run it there.
Windows will warn you. That is expected.
Shogun is not code-signed yet, so Windows treats it as an app from an unknown publisher.
You will see one or both of these, and neither means anything is wrong with the file:
We tell you up front so a red warning does not make you think you have been sent something
dodgy. There is no way around it short of a code-signing certificate, so we publish a
checksum instead — verify the file rather than trusting us:
Get-FileHash .\Shogun.exe
Check it against the SHA-256 and byte size published with your download, in the
START-HERE.txt and quickstart inside your folder. Check the
Shogun.exe, after unpacking — not the zip. If either value
does not match, stop and tell us.
SECTION 03First run
Double-click Shogun.exe. It opens its own window. On first run it has no
settings, so it opens the Setup page. Work top to bottom.
The Accounts and Signals tabs are empty on a fresh install. That is correct — accounts are
read from your broker and signals are yours to name.
Nothing for you to do about security here
Shogun only ever listens on 127.0.0.1, your own machine. That is forced by
the build and is not editable, so a bad setting cannot expose it by accident. Nobody on
your network and nobody on the internet can reach it.
It also refuses any request that arrives from another website, so a page you have open
in another tab cannot drive your panel or fire a flatten.
SECTION 04Activate your licence
- Open Setup → the Licence tab.
- Licence server — already filled in. Leave it alone.
- Licence key — paste your key. This is the only thing you type. It is
masked as you type, on purpose: a screenshot of this page is the most common way a key
escapes. Press Show if you need to check it.
- Press Activate this machine.
It confirms your plan and expiry, and the status turns ACTIVE.
Then restart Shogun — it tells you to. The running copy keeps its old
answer until it does, which is normal and not a failure.
Your key is never sent back to us after activation and is never written into your config
file. It is exchanged once for a signed token, and only that token is stored.
The one thing worth knowing about how this works
Your entitlement is stored locally and signed, and Shogun reads that stored copy rather
than calling us on the order path. A network blip or an outage on our side cannot lock a
paying customer out of their own trading.
And if your licence does lapse, Shogun may refuse to open a new
position — but it will never refuse to close one. See
section 14.
SECTION 05Connect your broker
Shogun drives two broker platforms today:
Tradovate, NinjaTrader and The Futures Desk appear in the app's list but are
not wired — Shogun will refuse to add them rather than put a connection on
screen that can never connect. If your firm clears somewhere else, ask us before you buy.
Open the console, add your broker connection, and switch it on. Switching it on
is what opens the broker's own login window for you to sign into. Both platforms
are browser-driven, so each connection runs its own browser window alongside Shogun.
Two ways to sign in, and the second one is optional
By default you type your password into your broker's own login page, in
the window Shogun opens. Shogun never sees it.
If you would rather not retype it every session, you can choose to store the login in
Shogun and let it sign in for you. That is encrypted with Windows DPAPI, tied to your
Windows account and to that one connection, kept outside the program folder, never
written to your config file and never logged — and if no encryption backend is
available, Shogun refuses to store it at all rather than keep it in the clear.
Then open Accounts: Shogun reads the account list from the broker itself.
Tick the ones you want traded and set the size for each.
Accounts are read from your broker, not invented
Shogun will not conjure an account that your broker did not return. It also treats a
zero-account read as a logged-out session rather than an empty fleet, and it
only removes accounts when the connector confirms the read was complete — so a bad read
never quietly drops your accounts.
If your broker stops listing an account, Shogun tells you it is either paged out or
blown and offers to forget it, rather than deciding for you.
SECTION 06Create a signal
A signal is how Shogun knows which of your accounts a given strategy trades.
Setup → Signals → + Add signal.
- Rename it from
Signal1 to something you will recognise.
Write that name down exactly — it goes in the alert message in the next section, and
case and spaces count.
- Tick the accounts this strategy should trade, and set the size for
each. A signal with no accounts is received and then correctly ignored.
- Save.
You do not need to press Generate. Adding a signal already mints what it
needs; that button is there to rotate those values later.
SECTION 07Point TradingView at your webhook
TradingView sends alerts from its own servers, and your PC at home has no public address,
so something has to bridge the two. We host that for you. When you
activated, your Shogun was given its own webhook on our licence server.
There is no tunnel, no Cloudflare account, no router setting and nothing open on your
machine. Go to Setup → Licence → Your webhook — hosted for you.
There are two boxes to copy, and they are a pair:
- Webhook URL
- Paste into the TradingView alert's Webhook URL field.
It is already a public
https:// address.
- Alert secret
- Paste inside the alert message, as the
secret field below.
The alert message
Paste this into TradingView's Message box:
{
"name": "YOUR SIGNAL NAME",
"secret": "YOUR ALERT SECRET",
"trade_type": "{{strategy.order.action}}",
"quantity": "{{strategy.order.contracts}}",
"sentiment": "{{strategy.market_position}}",
"price": "{{close}}",
"timestamp": "{{timenow}}"
}
All five keys are required — and a missing one is not refused
name, secret, trade_type, quantity
and sentiment all have to be there. On the hosted webhook an incomplete
body is not rejected — it is accepted and acted on with defaults, which
is worse than an error because nothing tells you:
A missing sentiment means no alert is ever read as an
exit. Shogun decides "this closes the position" from
sentiment: "flat". Without it, every alert looks like a new entry and your
exits never close anything.
A missing quantity silently becomes 1 contract.
price and timestamp are genuinely optional.
The alert must be fired from a strategy, not an indicator — the
{{strategy.*}} placeholders only render on a strategy alert.
The four things that break it
- Do not retype the
{{ }} parts. They are TradingView
placeholders — copy them character for character. If you type real numbers there, every
alert sends the same values.
- The
name must match a signal you saved. An alert whose
name you have not configured is ignored — safely, but quietly.
- Use the two boxes from the Licence tab together. The URL and the alert
secret are a pair; one without the other is refused.
- Do not share your webhook URL or alert secret. Anyone with both can
place trades on your accounts.
SECTION 08Fire a test — you are not set up until you see this
Do not skip this
When this path is broken it fails silently: no error, no rejected order, no warning —
just nothing, forever. TradingView will happily report the alert as sent. The only way
to know it works is to watch one arrive.
In TradingView, use the alert's Test button, or fire it once manually.
Then open this address in a browser on the same PC:
http://127.0.0.1:8000/health
Look at the bus block. routed going from 0 to 1 is the
pass. It is the only honest witness that the alert crossed TradingView → our
relay → your machine. The main screen says the same thing in words, under
Fleet Control: "the relay has DELIVERED 1 signal(s) to it — the path
from TradingView to this machine is PROVEN working."
Do not use the Trade Log to check this
The Trade Log renders broker fills. An alert that arrives over the
hosted webhook and trades nothing — because no broker is connected yet, or the signal
has no accounts ticked — writes no row there. An empty Trade Log after a test
fire is not a failure, and reading it as one is the most likely way to
conclude a working setup is broken.
There is also a read-only diagnostic that checks the right instruments in the right
order, and names which ones your build actually has, so a missing reading cannot be
misread as a zero:
python tools/did_it_land.py
Give it a few seconds. Your Shogun collects alerts from the hosted webhook rather
than being called directly, so an entry arriving a second or two after it fires is normal,
not a fault. Exits are never dropped for being late.
SECTION 09Nothing arrived
This is the common one, and it is silent. Check these in order — the first two account for
most of it.
-
Is Shogun actually running?
It collects the alert itself, so nothing arrives while it is closed. This is the
single most likely cause after an overnight — see section 10.
-
Does the "name" in your alert exactly match the signal you saved?
Case and spaces count. A name Shogun does not recognise is dropped on purpose and
quietly, which looks identical to nothing arriving.
-
Did you paste the Licence tab's webhook URL and its alert secret — both?
They are a pair. A wrong or missing secret is refused at our server, so nothing ever
reaches your machine. And check the URL is the hosted https:// one, not
a localhost address.
-
Is your licence still active?
Setup → Licence, or "lapsed": true on the health screen. A lapsed
subscription stops the relay handing over any signal — including exits.
Panic Close still works; see section 14.
-
Is the alert still live in TradingView?
TradingView alerts expire, and can be paused. If Shogun has been running and has
simply heard nothing for longer than a normal overnight or weekend, this is usually
why.
None of this involves a tunnel, a router or a firewall — the webhook is hosted for you, so
there is nothing of that kind to check.
SECTION 10Is Shogun running?
A stopped Shogun and a quiet market look identical: no error, no warning, just no trades.
So the panel tells you in a sentence, right under Fleet Control.
The thing that will actually catch you — and it is not a crash
Measured on our own machine over three days: Shogun did not crash once. What happened
both times was the PC being restarted — a Windows Update reboot, and an
ordinary shut-down at the end of the night. Each time Shogun was simply closed the next
morning.
Shogun does not restart itself, and nothing will tell you it is closed.
Your alerts fire in TradingView, arrive at a machine with nothing listening, and vanish
silently. Make it a habit: glance at that line before each session.
Nothing about that check is sent to us. It is read by your own panel, on your own machine.
SECTION 11Error messages, and what each one means
These were rehearsed against the software, not guessed.
SECTION 12If you are in a trade and worried
Use Panic Close — FLATTEN ALL. It sends a flatten to every account
Shogun manages, and it does not need your licence to be valid — it never asks our server
anything, it talks straight to your broker.
Panic Close closes. It does not stop.
Flattening deliberately does not change anything else, so the next alert that
arrives will open a new position. If you want Shogun to stand down as well,
pause it — that is a separate control, and it is the one people assume
the red button includes.
Pause lasts until you resume it or until Shogun restarts. To keep a strategy
off across a restart, switch that connection off in Setup — that choice is saved.
Read the per-account result, not the headline
Shogun reports each account separately and only calls a flatten done when the broker
confirms it. If a connection is switched off there is no path to that broker at all —
Shogun says so, and names the accounts, rather than reporting a success it cannot see.
Treat any account it could not confirm as still open and close it in the
firm's own platform.
Then tell us three things:
- What you expected, and what happened.
- The time, and whether it was a TradingView alert.
- The Trade Log line, if there is one.
Never send us these
Your licence key, your webhook secret, or your broker password. We never need any of
them, and we will never ask.
SECTION 13Day to day
- Leave Shogun running. It only sees alerts while it is open, and it
does not restart itself if your PC sleeps or reboots.
- Glance at the liveness line before each session — section 10.
- Check the Trade Log at the end of a session. It shows what filled and
at what price — it is a record of broker fills, not of alerts arriving.
The price your strategy expected and the price you actually got are shown separately, and
they will differ. That gap is the real cost of the trade, and seeing it honestly is a large
part of why Shogun exists.
SECTION 14What Shogun will never do
A licence problem can never stop you closing a position
The licence check can only ever refuse an order that positively opens
risk. A full exit, a partial scale-out, and any alert Shogun cannot classify are all
allowed — the tie is broken in your favour on purpose. If the licence system itself
errors, the order goes through. Panic Close sits outside the check entirely.
This is pinned by tests that drive the real router with an expired licence, including
the case where it expires while a position is open — which is the shape a real
customer meets when a card fails on a Tuesday afternoon.
But if your subscription lapses, the feed stops — and that includes exits
What a lapse actually stops is delivery: while a subscription is
lapsed our server hands your Shogun no new signals, and that is every signal, exits
included. So an automated exit will not arrive.
You are not stuck — Panic Close works on an expired licence, and so
does your broker's own platform. But close it yourself or renew; do not wait for the
strategy's exit alert, because it will not come.
A lapse is not instant, either. Your entitlement is signed and cached, and it stands
until it expires on its own — up to 14 days — so a failed payment does not cut you off
mid-session.
- It never adds size. Shogun re-checks each position it opened against
the size it intended, and trims a genuine excess. It only ever reduces — never past
flat, and it will not top a position up to a target, because opening risk is a decision,
not a repair.
- It never touches a position it did not open. A trade you placed by
hand has no record with Shogun, so it is reported and left alone.
- It never acts on an unreadable account. A position it cannot read is
skipped, not guessed at.
- A full exit is never refused by anything. One case can refuse a
partial scale-out: when your broker positively reports no position to reduce, because
that order would open a new trade in the opposite direction rather than trim one. You
keep the full position, and your strategy's own exit still closes it.
- Nothing of ours places an order. We hold a message on the way
through; every decision, every guard and Panic Close stay on your PC.
Still stuck? Tell us what you expected and what happened — "that
seemed odd" is a useful report. Bugs are the point at this stage.