Setup, and what to do when an alert does not arrive.
Sections 1 to 8 are the setup, in order, and take about twenty minutes. Sections 9 to 14 are the ones you will actually come back to. If you are mid-session and something is wrong, start at section 9 — nothing arrived.
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
.exeof 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, shown on screen immediately after you pay. Save it then — it is displayed once and we keep only a hashed copy. Lost it? Tell us and we will issue a new one.
- 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, on a paid TradingView plan (Essential or higher) with two-factor sign-in turned on β TradingView only sends webhook alerts then. Shogun does not include strategies or signals β you bring them.
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
Download
Shogun — that page carries the SHA-256 to check it against.
It is a single Shogun.exe, with no installer and nothing to unpack.
Save it into a plain local folder of its own, for example
C:\Shogun\, and run it from there.
Nor straight out of 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:
| When | What you see | What to click |
|---|---|---|
| Downloading | "isn't commonly downloaded" / "may be dangerous" | Keep β Keep anyway |
| First run | "Windows protected your PC β SmartScreen prevented an unrecognised app from starting" | More info β Run anyway |
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 shown on the
download page
— that is the authority, not any file that arrived alongside it. It is the
checksum of the Shogun.exe you downloaded. If it does
not match, stop and tell us.
SECTION 03First run
Double-click Shogun.exe. It opens its own window on the console
— the running view, which on a fresh install is mostly empty because nothing is
configured yet. Click the gear in the left rail to open Setup, then 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.
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.
Your entitlement is stored locally and signed, and Shogun reads that stored copy rather than calling us on the order path. A failed licence refresh leaves that stored entitlement valid until its expiry. Alert delivery still needs the hosted relay and your internet connection; an outage can interrupt entries and exits.
If your local entitlement expires, the licence check may refuse to open a new position but allows closing orders. Other controls and delivery failures can still stop an alert; check the result. See section 14.
SECTION 05Connect your broker
Shogun drives two broker platforms today:
| Platform | Firms that clear through it |
|---|---|
| Rithmic β R|Trader Pro web | Bulenox, Apex |
| TopstepX | Topstep |
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.
Broker connections you add in Setup that open a broker window (TopstepX, Rithmic web) start with their SYSTEM ACTIVE switch OFF after every restart; connections without a window can stay on. While a connection is OFF it skips new entries. A close on it may need its broker window reopened β if you have not saved the broker login in Shogun, you may have to sign in by hand before the close can go through. Setup asks you to restart after you save, so turn those connections back ON before you need a close.
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. Shogun encrypts it with Windows DPAPI (falling back to the system keyring only where DPAPI is not available). By default it is kept in your Windows user profile, outside the program folder, and your config file holds only a reference to it. If no encryption backend is available, Shogun refuses to store it.
Then open Accounts: Shogun reads the account list from the broker itself. Tick the ones you want traded and set the size for each.
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
Signal1to 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 reported as unroutable and places no order.
- 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
secretfield 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}}"
}
Include name, secret, trade_type,
quantity and sentiment. The hosted webhook requires a nonempty
name or channel and the correct secret. Other incomplete bodies can be accepted with
defaults, so an accepted webhook is not proof that the message is complete:
Shogun needs sentiment: "flat" to recognise a full exit.
Without it, a sized opposing order may still reduce, close or reverse a position.
Missing quantity defaults to a base quantity of 1 before account sizing.
price is optional. A missing timestamp is accepted, but keep timestamp: "{{timenow}}": without a timestamp or unique signal ID, retries may be delivered twice.
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
namemust match a signal you saved. An alert whose name you have not configured is reported as unroutable on the health screen. - 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
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.
On a practice or evaluation account, fire one strategy alert using the message from section 7. Then open this address in a browser on the same PC:
http://127.0.0.1:8000/health
For first setup on a fresh Shogun run, look at the bus block after the
test: require routed >= 1 and unroutable == 0,
with polling: true and stale: false. On an existing run, the
new test must increase routed; check that unroutable_channels
is empty. A previous routed alert does not prove that this test worked.
The phone panel (the phone icon in the left rail, or /panel)
explains delivery, routing, paused connections and clock problems in words. A routed
alert proves transport and routing; check the broker's position or fill separately.
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.
What /health says | What it means |
|---|---|
"routed": 1, "unroutable": 0 on a fresh run | DELIVERY PASS The test arrived and was routed. Also require a running, current poll. Confirm the broker fill separately. |
"stale": true with a last_error | The relay poll itself is failing β not TradingView. Do not go looking at the alert. |
"lapsed": true | Billing, not breakage. See section 14. |
"unroutable" above 0 or names in unroutable_channels | It arrived but could not be routed. Match the signal name and tick its accounts in Setup. |
"clock_skewed": true or a value in last_drop | Delivery may have worked while an entry was dropped as old, future-dated or undated. Sync the PC clock and read the reason. |
"stale": false, "routed": 0 | No alert has been routed in this run. Check unroutable_channels, last_drop and lapsed, then work through section 9. |
Shogun waits three seconds between completed poll passes by default, fetching up to 50 alerts per batch. A backlog can delay delivery. Non-flat alerts older than the configured entry-age limit are dropped; the default is 180 seconds. Full exits bypass freshness checks, but cleanup can remove queued alerts. Do not rely on replay after downtime. Delivery is separate from a broker-confirmed close.
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 internal spaces count. A name Shogun does not recognise appears in
bus.unroutable_channelsand the panel's warning. It arrived, but it could not be routed. Correct the name and tick its accounts in Setup. -
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 alocalhostaddress. -
Is your licence still active?
Setup β Licence, or
"lapsed": trueon the health screen. A lapsed subscription stops entries and partial scale-outs; flat-marked exits remain eligible for delivery. Delivery and closure are not guaranteed. Panic Close remains available; 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.
| What it says | What it means |
|---|---|
| "Shogun is RUNNING (up 2h 14m) and last heard from TradingView 12m ago." | HEALTHY |
| "β¦RUNNING β¦ but has not received any TradingView alert yet." | Setup is done but nothing has ever arrived. Go to section 7. |
| "β¦last heard from TradingView 1d 6h ago." | Longer than a normal overnight or weekend. If the market has been open, check the alert is still active in TradingView. |
| "Shogun is NOT RESPONDING on this machine" | STOPPED Reopen Shogun.exe. |
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.
Reopen Shogun after a PC reboot. The hosted relay queues alerts while it is closed. Non-flat alerts older than the configured entry-age limit are dropped; the default is 180 seconds. Full exits bypass freshness checks, but cleanup can remove them. Do not rely on replay after downtime. Check the panel and turn paused broker connections back on 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.
| What you see | What it means | What to do |
|---|---|---|
| "no Shogun licence is activated on this machine" | You have not activated yet. | Paste your key on the Setup page. |
| "the stored licence is not validβ¦" | The stored key is corrupt, or was not issued by us. | Re-paste your key carefully β it is easy to clip a character. |
| "that licence key was refused" | A typo, or the key was revoked. | Check for a typo; if it is right, tell us. |
| "the licence server address looks wrong" | The licence server URL on Setup is pointing at the wrong place. | Fix that URL. It ships pre-filled, so this usually means it was edited. |
| "could not reach the licence server" | Your internet, or ours. | Check your connection and retry. Your stored entitlement still stands β you are not locked out. |
| "your Shogun subscription has expired" | The local entitlement has expired. | Check billing on your account page, or contact us. Panic Close remains available. |
| "this licence is activated on a different machine" | You have used all your machine slots. | Free the old one yourself on your account page. |
Hosted webhook: HTTP 401 | A missing or wrong alert secret, or revoked access. | Re-copy the URL and alert secret from Setup β Licence; check your account if they are correct. |
Hosted webhook: HTTP 404 | Unknown webhook path. | Re-copy the webhook URL from Setup β Licence. |
Hosted webhook: HTTP 400 with the alert body needs a "name" | Neither a usable name nor a channel was supplied. | Compare the whole message against section 7. Other missing fields may be accepted with defaults. |
The connection reads System paused, or entries show skipped-disabled | Broker connections you add in Setup that open a broker window start with their SYSTEM ACTIVE switch OFF after a restart; connections without a window can stay on. | Switch that connection back ON (section 5). |
| Alerts arrive but entries are dropped | Alerts delivered by the hosted webhook are dropped if they are more than 60 seconds ahead of your PC's clock or older than the entry-age limit (180 seconds by default); full exits are exempt from these limits. Other controls still apply. | Settings → Time & language → Date & time → Sync now, and turn on Set time automatically. |
| Signal arrives, no order | Often correct β account off, market shut, or the strategy said "flat". | Check the account is enabled and the market is open. |
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.
Flattening does not pause trading. A later eligible entry can reopen a position. To make Shogun stand down as well, pause it.
Pause lasts until you resume it or until Shogun restarts. After a restart, window-based connections you added in Setup start with their SYSTEM ACTIVE switch OFF; connections without a window can stay on. Turn them back ON (section 5). To stop a connection's accounts from opening positions across restarts, switch those accounts off in Setup β that is saved; a full exit can still close a position on them.
Shogun reports each account separately. Read those results and check positions in the broker's platform. A close on a paused connection may need its broker window reopened β if you have not saved the broker login in Shogun, you may have to sign in by hand before the close can go through. Treat any account whose close is unconfirmed as still open. Also check for working orders in the broker's 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.
Your webhook secret or your broker password. We never need either, and we will never ask. Your licence key goes only into our contact form or your account page — never into an email or a chat message.
SECTION 13Day to day
- Leave Shogun running. It must be open to act on alerts. Reopen Shogun after a PC reboot, then turn paused broker connections back ON. A close on a paused connection may need its broker window reopened β if you have not saved the broker login in Shogun, you may have to sign in by hand before the close can go through.
- Keep the PC awake. A sleeping PC trades nothing, and closing a laptop lid or pressing the power button sleeps it. On the PC you trade from, set Settings → System → Power so the screen may turn off but the PC never sleeps, and set the lid and power button to Do nothing.
- Keep the clock right. Alerts delivered by the hosted webhook are dropped if they are more than 60 seconds ahead of your PC's clock or older than the entry-age limit (180 seconds by default); full exits are exempt from these limits. Keep Settings → Time & language → Date & time → Set time automatically on.
- 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
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.
While a subscription is lapsed our server withholds new entries
and partial scale-outs. Full exits marked sentiment: "flat" remain
eligible: both the server and your own copy require that exit marker. An unknown
or missing sentiment is withheld while lapsed. Revoked access stops the relay
entirely; Panic Close remains outside the licence check.
Panic Close works on an expired licence regardless, and so does your broker's own platform. Renew or close it yourself if you would rather not rely on the strategy firing a clean exit — but a lapse is not a trap door.
The local entitlement can remain valid until its own expiry, up to 14 days after its last successful refresh. That does not delay the hosted relay's billing check: new entries and partial scale-outs stop as soon as the relay sees a lapse. A relay outage can interrupt every alert, including exits.
- It never adds size. On an account one strategy trades, Shogun re-checks the position against the size it sent, and trims a genuine excess. The trim is bounded by the observed position, which can change before execution. It will not top a position up to a target.
- The watchdog leaves your own trades alone. A trade you placed by hand on an account where Shogun holds nothing has no record with Shogun, so the over-fill watchdog never touches it. Panic Close is different: it flattens the whole account, trades you placed by hand included.
- The watchdog does not trim an unreadable position. It reports explicit unreadable readings; an account absent from the snapshot may be skipped without a finding. A full exit or Panic Close can still attempt a flatten without a readable position; check its result.
- The local licence check allows full exits and partial scale-outs. Other controls can still refuse an alert, including an exit attributed to another strategy or a connection locked after a hedge. A partial scale-out is refused if the broker reports no position to reduce. Check every close; use Panic Close or the broker's own platform if your strategy's exit is not confirmed.
- 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.