Overview

The book, at a glance — realized performance across every venue

Net Profit · 30D
$0
No trades recorded yet
Avg R
Strategy
Terminal
Win Rate
0%
0 trades
Profit Factor
Largest Win / Loss
Avg Win / Loss
By Symbol

Positions

Open risk, live

Open Positions
SymbolSideLayerSizeEntryMarkSLuPnL
Pending Limit Orders / working
SymbolSideLayerSizeLimit PriceSL (on fill)StatusAge

Activity

Every executed fill, in sequence

History
TimeDealSymbolTypeDirection VolumePriceNotional FeesNetProfitBalance
Webhook Log
TimeAccountSymbolActionLayerSizeStatusDetail

Automation

The full grammar — every message your strategy can send. Copy the line you need; the symbol follows your chart, the webhook holds the rest.

Set up once in TradingView: alert condition = "alert() function calls only", Message box = {{strategy.order.alert_message}}, Webhook URL = your preset URL from the generator. After that, every line below fires automatically when your strategy hits its condition.
Entries
Long entry (layer)
When your long condition fires. Each layer gets a unique id.
msg = '{"action":"long","symbol":"' + syminfo.ticker + '","layer_id":"L_' + str.tostring(anchor) + '_' + str.tostring(layerN) + '"}' strategy.entry("L_" + str.tostring(anchor) + "_" + str.tostring(layerN), strategy.long, alert_message = msg)
anchor groups one setup, layerN counts layers inside it. Sizing & leverage come from your webhook preset.
Short entry (layer)
When your short condition fires. Uses the S_ prefix so longs and shorts stay separate.
msg = '{"action":"short","symbol":"' + syminfo.ticker + '","layer_id":"S_' + str.tostring(anchor) + '_' + str.tostring(layerN) + '"}' strategy.entry("S_" + str.tostring(anchor) + "_" + str.tostring(layerN), strategy.short, alert_message = msg)
In hedge mode a long and short can be open at the same time on one symbol.
Single entry (no pyramiding)
If you don't layer — one position per setup.
msg = '{"action":"long","symbol":"' + syminfo.ticker + '","layer_id":"L_' + str.tostring(anchor) + '_1"}' strategy.entry("L_" + str.tostring(anchor) + "_1", strategy.long, alert_message = msg)
Same as a layer entry, just always layer 1.
Exits
Close everything on this symbol
Flatten all layers, both long and short. Your engulf / exit-all condition.
strategy.close_all(alert_message = '{"action":"close","symbol":"' + syminfo.ticker + '"}')
close with no layer_id flattens the whole symbol on that account.
Close one layer
Scale out — close a single layer while the rest stay open.
msg = '{"action":"close","symbol":"' + syminfo.ticker + '","layer_id":"L_' + str.tostring(anchor) + '_1"}' strategy.close("L_" + str.tostring(anchor) + "_1", alert_message = msg)
Pass the exact layer_id you want to close.
Stops & Trailing
Move a stop loss (manual / step)
Send a new stop price for one layer — e.g. move to breakeven after a target.
msg = '{"action":"update_sl","symbol":"' + syminfo.ticker + '","layer_id":"L_' + str.tostring(anchor) + '_1","sl_price":' + str.tostring(newSL) + '}' alert(msg, alert.freq_once_per_bar_close)
sl_price is a number (no quotes). The bridge moves the stop on that layer.
Trailing stop (strategy-managed)
Recompute a trailing stop each bar and push it up as price advances.
// example: trail under a moving stop level trailLevel = close - atr * 2 var float lastSL = na if na(lastSL) or trailLevel > lastSL lastSL := trailLevel msg = '{"action":"update_sl","symbol":"' + syminfo.ticker + '","layer_id":"L_' + str.tostring(anchor) + '_1","sl_price":' + str.tostring(lastSL) + '}' alert(msg, alert.freq_once_per_bar_close)
Only tightens (never loosens). Or skip all this and let BlocConnect trail for you — set a trailing distance in your webhook preset and send no stop messages at all.
Don't want to manage stops in Pine? In the Webhook Generator set exits to BlocConnect and give a stop / target / trailing distance. Then your strategy only sends entries — the bridge places and trails the stop off your real fill price, and you can delete every close / update_sl line above.

Automation

Mint a webhook here; wire it into TradingView once. The exchange, sizing, leverage and exits are fixed at the URL — the same signal can never be re-sized in flight.

THE INSTRUMENT
Build the webhook
Two policies, then the parameters. The URL on the right updates as you go.
Your strategy fires its own exits. In your Pine code, send a close alert_message on your exit condition, and an update_sl message to trail. The bridge just executes them — see the snippet below.
Your Webhook
This webhook applies
These settings are baked into the URL below. Every signal sent to this URL uses them — your Pine code can't override them. Want different leverage or sizing? Generate another webhook.
1 · Webhook URL
2 · TradingView alert message box
{{strategy.order.alert_message}}
Paste this literally in TradingView's alert "Message" field.
3 · Entry alert_message (put in Pine)
The symbol is sent exactly as your chart names it — BlocConnect adds the exchange's format automatically (e.g. .P for MEXC perps, plain BTCUSDT on Bybit / Binance). You never type a suffix.
THE REGISTER
Saved webhooks
Each saved hook keeps its URL for life, so live alerts survive any edit.
Saved Webhooks
No saved webhooks yet. Configure one above and hit Save webhook — you can edit it later and the URL stays the same, so your live TradingView alerts keep working.
THE WIRING
Into TradingView
Paste the URL and the message box from above into a TradingView alert. Once.

Three steps, once — then your strategy trades itself through the hook you built above.

1 Open Create alert and set your condition to your strategy.
TradingView create alert dialog
2 Set the Message to the line below, so your strategy’s own alert text is forwarded.
MESSAGE
{{strategy.order.alert_message}}
Copy it into the alert’s message box exactly — the double braces matter.
3 Under Notifications, tick Webhook URL and paste your hook from below.
TradingView webhook URL field with the BlocConnect hook
Where the hook comes from

Name it, pick the account, set sizing — the webhook URL and the message box build themselves on the right. Paste those two into the alert above. (This is the live builder below; the picture just shows it filled in.)

The BlocConnect webhook builder, filled in, showing the generated URL and message box
THE PINE
Embed it in your script
Put the alert_message inside each order; the message box forwards whatever fired.
The snippet

Embed the alert_message inside each strategy.entry(). Use a single-quoted Pine string so the JSON's double quotes don't clash. The layer id lives in the message — the bridge reads it, you don't type it into TradingView. Set the alert's message box to {{strategy.order.alert_message}} and it forwards whatever each order sent.

Automation

How each sizing mode resolves to a position. You choose one per webhook in the builder.

Sizing Modes
Risk %
The bridge computes size so a stop-out loses exactly your chosen % of balance.
risk_pct=1 · sized off your balance & stop distance
Risk $
Same idea, but a flat dollar amount risked per trade instead of a percentage.
risk $50 · loss at stop = $50
Fixed Quantity
Trade an exact number of coins/contracts every time, regardless of balance or stop.
value=0.01 contracts
Fixed USDT
Put down fixed USDT margin; leverage multiplies it. $500 × 2× = $1,000 position.
value=500 · leverage 2× = $1,000

You don't set sizing here — you choose it per webhook in the Webhook Generator, and it's baked into that webhook's URL. This page is just a reference for what each mode does. Risk % is computed from each account’s own balance. Server-side ceilings live in Settings → Risk Guards.

Accounts

Venue accounts connected to the system

Connect a new account

Python

One strategy, three modes — backtest, forward and live. Your code stays on your machine; only the decision travels.

The Strategist opens this.

Python forward testing, on live and on paper, belongs to The Strategist and The Desk. Your current plan does not include it.

SEE THE PLANS

Plans

Software, priced as software. No performance fee, no custody, no share of your edge.

THE OPERATOR
One account, properly run.
$60/ MONTH · 3-MO MIN
  • The dashboard, entire
  • One connected account, live or paper
  • The terminal
  • Paper trading with venue emulation
  • Risk guards, enforced server-side
TAKE THE OPERATOR
THE COMMON CHOICE
THE STRATEGIST
For the systematic. Hypotheses are cheap; forward tests are evidence.
$150/ MONTH · 3-MO MIN
  • Everything in The Operator
  • Three connected accounts
  • Python strategy forward-testing, live and paper
  • Webhook automation, unmetered
TAKE THE STRATEGIST
THE DESK
For those who run other people’s risk: fund managers and proprietary desks.
BY ARRANGEMENT
  • Everything in The Strategist
  • A panel built for many accounts
  • Seats for a team, separated and scoped
  • Onboarding by a person, not a page
WRITE TO THE DESK
Settlement is in Bitcoin, on-chain or over Lightning, in Litecoin, or in USDT, through a payment server we run ourselves. The minimum term is three months. Keys are never ours; neither are your funds. No card, nothing renews without consent.

Risk

Mandates, written once — enforced server-side on every new entry

Risk Guards / enforced server-side
Applied to every new entry — TradingView alerts and Terminal orders alike. Closes and stop-loss updates are never blocked. Leave a field empty (or 0) to switch that guard off.
Max risk per trade (%)
Hard ceiling — any entry asking for more risk is sized down to this.
Max concurrent positions
Across all your accounts (strategy layers + terminal positions). New entries are rejected at the limit.
Daily loss kill-switch (%)
Blocks new entries once today's realized loss reaches this % of your last-known balances. Open positions and exits are untouched.

Research

The desk's weekly market brief — fundamentals, cycle, catalysts and levels.

Issues
No. 01 · This week
Warsh's first signal: the cuts are gone
Jun 17, 2026 · Post-FOMC
No. 02 · Scheduled
Post-PCE & options expiry
Jun 24, 2026
New issue every Tuesday. Past briefs archive here automatically.
Weekly Market Brief · No. 01

Warsh's first signal: the cuts are gone — and two cycles are bottoming.

The Fed held, but the dot plot flipped from a cut to a hike under a hawkish new Chair. A liquidity headwind meets a quiet structural bid, into the post-halving / midterm-year trough.

June 17, 2026 · Post-FOMCTokyo · UTC+913 pages · PDF
Bitcoin
$64,881 −2.6%
Fed funds
3.50–3.75%
US 10Y
4.46% +4bp
Oct hike
60.7%
CPI y/y
4.17%
The Tape in one breath
  • The Fed held at 3.50–3.75%, but the June dots removed every 2026 cut and added a hike — median year-end up to 3.8% from 3.4%.
  • It was Kevin Warsh's debut as Chair; he declined his own dot and is overhauling the Fed's guidance — a regime change.
  • The trigger: re-accelerating inflation (May CPI 4.17%) against a resilient labour market.
  • Risk repriced hawkish; crypto sold as the high-beta liquidity proxy.
  • Two cycles meet here — Bitcoin's post-halving "off year" and the midterm trough — while long-term holders quietly absorb.
01 · The Fed

A hold that isn't a hold. The dots erased every cut and penciled in a hike; CME moved a hike into October at ~61%.

dot plot
The June dot plot — year-end 2026.
The new chair

Warsh, a known hawk, declined his own dot and is rewriting the Fed's reaction function — a higher uncertainty premium.

02 · Macro

Inflation re-accelerated and labour refused to crack.

Inflation
Above 4%, hot at the margin.

May CPI 4.17% y/y; core ~2.9%; PPI surging on energy and tariffs.

Energy
A geopolitical bid.

Iran-conflict energy costs feed headline inflation the Fed can't ease away.

Labour
Resilient.

Q1 payrolls ran 2.5× the 2025 pace; wages outrun inflation.

03 · Rates · Dollar · Risk

Textbook hawkish repricing — the front end led, the dollar firmed.

reaction
Cross-asset move on the June FOMC.
04 · Crypto

Tactical headwind, structural bid — flows leaving as coins move to stronger hands.

flows
June flows — ETF selling vs absorption.
05 · The Cycle two cycles, one trough

Bitcoin's four-year halving rhythm and the U.S. presidential cycle point at the same window — the soft one.

cycle
BTC post-halving cycle × midterm-year seasonality (schematic).
Confluence
Both clocks agree.

Post-halving digestion overlaps the midterm trough mid-to-late 2026 — accumulation is positioning for the turn.

The catch
It may have mutated.

Views split — bears $60–75k, bulls $150–170k. A base rate, not a guarantee.

06 · The Week Ahead

A light week now, a heavy one next.

Mon Jun 22
PCE — the swing print.

The Fed's preferred gauge. Hot validates the hike; soft is the first crack.

Wed Jun 24
Bank stress tests.

Financial-conditions read at 4pm ET.

Fri Jun 26
$10.6B options expiry.

~80% out-of-the-money; the biggest crypto-native catalyst.

07 · Max Pain, in Context

A magnet — a weak one. Large expiries miss by 5–10%; macro overrides it.

max pain
Price vs max pain at recent large BTC expiries.
08 · The Desk Read

Defensive on macro, constructive on structure — expect range, not capitulation.

Bear

Hot PCE/CPI + an October hike. BTC loses $64.5k and tests the $57–60k cycle band.

Base

Range and grind. ETF selling absorbed by long-term demand; $62–70k holds.

Bull

PCE cools, the hike is priced out, flows turn. The tightened float drives the snap-back.

09 · Price Action · ETH

Coiling above the line — the pattern that resolved up, hard, three times.

ETH levels
Thesis
Below $1,800 has paid.

Holding $1,500; every consolidation below $1,800 broke out +150–170%. Buy a 3d/5d FVG below $1,800; short only below $1,500.

10 · Price Action · BTC

Liquidity taken, no-man's-land — but the 3-day structure is turning up.

BTC levels
Triggers
$65–74k vs $59–60k.

Swept the $60k low; $59–65k has no edge. Bulls: a strong candle into $65–74k. Bears: a break of $59–60k.

11 · The Combine levels meet catalysts

Price action draws the lines; fundamentals say when and why they break; the cycle says how long.

BTC
PCE breaks the pocket.

Your bull/bear lines ($65k / $59–60k) bracket Monday's PCE; $64.5k is the battle line; $60k max pain overlaps the bear trigger.

ETH
The breakout is the cycle, drawn.

"Hold $1,500 → big breakout" is the post-halving / midterm setup; the >$2,150 break needs the same macro turn that frees BTC.

One line

Your levels give the triggers, the calendar gives the timing, the cycle gives the horizon — and on this map, all three agree.

Informational only — not investment advice. Sections 09–11 reflect the contributor's technical analysis.