0% found this document useful (0 votes)
2 views9 pages

MSLSI Scanner User Guide 1

The MSLSI Scanner is a 24/7 service that filters and delivers trading signals from TradingView to Discord and Telegram, featuring a backtest engine and performance analytics. The user guide details the dashboard layout, user management, subscription configuration, global settings, and performance tracking. It also addresses common tasks, FAQs, and server maintenance references for effective use of the scanner.

Uploaded by

nouman
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views9 pages

MSLSI Scanner User Guide 1

The MSLSI Scanner is a 24/7 service that filters and delivers trading signals from TradingView to Discord and Telegram, featuring a backtest engine and performance analytics. The user guide details the dashboard layout, user management, subscription configuration, global settings, and performance tracking. It also addresses common tasks, FAQs, and server maintenance references for effective use of the scanner.

Uploaded by

nouman
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

MSLSI Scanner — User Guide

Created by Nouman Ahmed (ahmednouman188@[Link]) For: Phase 3 Trading —


Miss Rissa Version: Scanner v3.9+

What This Scanner Does


The MSLSI Scanner is a 24/7 service that receives signals from your TradingView MSLSI
indicator, filters them based on subscriber preferences, and delivers them to Discord
channels and Telegram users. It also includes a backtest engine, signal history, and
performance analytics.
At a glance: - Receives every signal from your TradingView alerts via webhook - Filters
per-user by ticker / timeframe / signal type / minimum trap tier - Delivers to Discord
webhooks or Telegram bots - Tracks performance with a built-in backtest engine - Stores
last 20 backtest runs for comparison

Dashboard Overview
Open the dashboard at: [Link]
The dashboard has 11 tabs along the top:

Tab Purpose
OVERVIEW Live snapshot — today’s signals, signal mix,
user counts
SIGNALS All received signals with full payload —
searchable and filterable
HISTORY Signal history beyond today
MONTHLY Monthly signal volume aggregates
STATUS Server health, last delivery, recent errors
USERS Add / edit / remove subscribers (Discord
and Telegram)
SUBSCRIPTIONS Configure what each user receives (ticker /
timeframe / signal type)
SIGNUPS Pending self-service signup approvals
SETTINGS Global settings: deduplication, mute,
refresh, webhook secret, auth
PERFORMANCE Backtest engine — see win rate, profit
factor, per-signal breakdowns
Tab Purpose
GUIDE Quick reference for the most common tasks

Part 1 — Adding a New User


Step 1: Go to the USERS tab
You’ll see a table of existing users (name, channel, status) and a form to add new ones.

Step 2: Choose the channel type


• Discord — for Discord channels (webhook URL based)
• Telegram — for Telegram users (chat ID + bot token based)

Step 3: For Discord users


Fill in: - Name — friendly identifier (e.g., “Phase 3 General Channel”) - Channel — set to
discord - Target — the Discord webhook URL

Getting a Discord webhook URL:


1. Open your Discord server
2. Right-click the channel where signals should appear → Edit Channel
3. Go to Integrations → Webhooks → New Webhook
4. Name it something like “MSLSI Signals”
5. Click Copy Webhook URL
6. Paste it into the Target field in the dashboard

Step 4: For Telegram users


Fill in: - Name — friendly identifier (e.g., “Sarah - Premium Member”) - Channel — set to
telegram - Target — the Telegram chat ID (a number, e.g., 123456789) - Telegram
Token — your Telegram bot token

Getting Telegram credentials:


For your bot token: 1. Open Telegram and search @BotFather 2. Send /newbot and
follow the prompts 3. BotFather gives you a token like
1234567890:ABCdefGHIjklMNOpqrSTUvwxYZ 4. Save this token

For a user’s chat ID: 1. Ask the user to message your bot first (otherwise the bot can’t send
messages to them) 2. Open this URL in browser:
[Link] 3. Find the user’s
message and copy their chat id (a number)

Step 5: Click ADD USER


The user is now in the system but receives nothing yet. You need to configure their
subscriptions in the next tab.
Part 2 — Configuring Subscriptions
Step 1: Go to the SUBSCRIPTIONS tab
You’ll see all active subscriptions (user → ticker → timeframe → signal types).

Step 2: Pick a user from the dropdown


Select the user you just added.

Step 3: Configure their subscription


Field Options
Tickers Multi-select from your ticker list (NAS100,
US30, XAUUSD, etc.) — leave empty for
ALL
Timeframes Multi-select (5m, 15m, 1h, 1D, etc.) — leave
empty for ALL
Signal types Multi-select (5⭐ Sniper, FRD, CIB Long, etc.)
— leave empty for ALL

Step 4: Click ADD SUBSCRIPTION


The user will now receive signals matching this filter. You can add multiple subscription
rows per user (e.g., one for daily signals on indices, another for intraday traps on forex).

How filtering works


When a signal comes in: 1. Scanner checks every active user 2. For each user, checks every
subscription row 3. If ANY subscription row matches (ticker AND timeframe AND signal
type all match, or those fields are empty), the user receives the signal 4. Deduplication (if
enabled) suppresses identical signals to the same user within the cooldown window

Part 3 — Global Settings


Open the SETTINGS tab to configure global behavior.

Min tier for alerts


Sets the minimum trap tier (0-5) required for any trap signal to be forwarded. Tier 0 = all
traps, Tier 5 = only 5⭐ Sniper Traps. This is a global filter applied BEFORE individual
subscription filters.
Global mute
Stops all signal delivery system-wide. Useful for maintenance or during high-volatility
events.

Mute outside active hours


Only delivers signals during your defined active hours (e.g., 0930-1600 NY). Set start and
end times below this toggle.

Signal deduplication
When ON, identical signals (same user + ticker + signal type) within the cooldown window
are silently suppressed. Default cooldown is 30 minutes.
Example: CIB Long fires on NAS100 at 14:30, 14:35, and 14:45 — with dedup ON, the user
only gets the 14:30 signal. The next CIB Long can be delivered at or after 15:00.

Auto-refresh
When ON, the dashboard auto-refreshes every X seconds (default 600 = 10 min). This
keeps OVERVIEW counts fresh. It does NOT interrupt your backtest results — those
persist across refreshes.

Webhook security
If set, only webhooks that include this secret will be accepted. Helps prevent third-party
abuse if your server URL is leaked.

Authentication
When ON, the dashboard requires a login. Default credentials are stored in [Link] on the
server.

Part 4 — Using the Performance Tab


The PERFORMANCE tab lets you backtest your scanner’s recorded signals against real
historical price data (Yahoo Finance — free, no subscription).

Step 1: Set your date range


• Preset mode — pick from Last 7 / 14 / 30 / 60 / 90 / 180 / 365 days
• Custom mode — pick exact start and end dates with the calendar pickers

Step 2: Set your trade parameters


• R:R ratio — how far the target is vs the stop (1:1, 1:2, 1:3, up to 1:5)
• Stop distance % — 0 means auto-pick based on each signal’s timeframe
(recommended), or manual override
• Max hold days — how long to wait for the trade to resolve before marking it
expired

Step 3: Filter what to test


• Signal types — pick specific signals (5⭐ Sniper, FRD, CIB Long, etc.) or leave empty
for all
• Timeframes — pick specific timeframes or leave empty for all
• Tickers (preset) — pick from your subscribed ticker list
• Custom ticker(s) — type any TradingView symbol comma-separated (e.g., TSLA,
MSFT, BTCUSD)
• Sessions (preset) — pick from ASIA / LONDON / NEW YORK / CUSTOM
• Custom session(s) — type custom session labels if your indicator uses them
• Minimum trap tier — set to 5 to only test 5⭐ Sniper signals

Step 4: Click RUN BACKTEST


A spinner appears while the system fetches price data and runs the calculations. Typical
time: 20-60 seconds depending on data range.

Step 5: Read the results


Search Summary (top): shows exactly what was searched and how many signals existed in
the period
Signal Counts in Period (expandable): full breakdown of every signal type that fired,
before any filters were applied — useful for verifying signal availability
Filter Match Report: how your filters narrowed the data
About this backtest (expandable): important disclaimer explaining how the backtest
works and how indicator settings affect results
Results Cards: Win Rate, Total Trades, Profit Factor, Net P&L — each with a (?) help icon
explaining the calculation
Performance Boost Simulator: slider to see what your stats would be if your trade
selection improved by X% — helps set realistic improvement goals
Win/Loss Summary: simple bar chart showing wins vs losses
Equity Curve (expandable): cumulative R over time — for advanced users
Per-Signal / Per-Ticker / Per-Timeframe Breakdowns: detailed tables
What-If Simulator: see your dollar P&L at any risk amount per trade
Trade Log: every individual trade with entry, exit, result
Backtest History: last 20 runs are saved automatically — compare different filter
combinations to find what works best
Part 5 — Understanding Signal Counts
A common question: “Why does the scanner show fewer signals than my TradingView
indicator?”
There are several reasons:

1. Deduplication
If dedup is ON (default), repeated identical signals within the cooldown window are
suppressed. TradingView fires the alert each time, but the scanner records and forwards
only once.

2. Webhook configuration
If a TradingView alert doesn’t have a webhook URL configured, that alert is not delivered to
the scanner. Make sure every alert you create has the webhook set up correctly (see Alert
Setup Guide).

3. Indicator settings on TradingView


If you change indicator settings (e.g., disable certain Trap At toggles, change min tier), it
changes which signals are GENERATED going forward. Historical scanner data is NOT
updated — those signals were recorded with whatever settings were active when they
fired.

4. Multiple devices / accounts


If you have the indicator on multiple devices, each may fire its own alerts. The scanner sees
each one independently. Use deduplication to handle this gracefully.

5. Server downtime
If the scanner server was down when a signal fired, that signal is permanently lost. Check
the STATUS tab for any errors or downtime.

Part 6 — Backtest History (NEW in v3.9)


Every backtest run is automatically saved (last 20 kept). You’ll see them at the bottom of
the PERFORMANCE tab in a comparison table.
This lets you: - Compare different R:R ratios on the same data - See if filtering to specific
tickers improves win rate - Track how performance changes as more signals accumulate -
A/B test indicator setting changes
Click Clear History to wipe the saved runs.
Part 7 — Common Tasks Reference
Adding a new ticker to the system
1. Go to SETTINGS tab
2. Find the ticker list configuration
3. Add the new ticker (use the exact TradingView symbol)
4. Save
5. The ticker now appears in subscription dropdowns

Pausing a user without deleting them


1. Go to USERS tab
2. Find the user
3. Toggle their Active status to OFF
4. They keep their subscriptions but receive nothing until reactivated

Removing a user permanently


1. Go to USERS tab
2. Find the user
3. Click Delete
4. Confirm — this also deletes all their subscriptions

Self-service signup (for community members)


Direct your community members to [Link] They fill in: - Their
name - Their Discord webhook URL OR Telegram chat ID + bot token - Which tickers /
timeframes / signal types they want
You’ll see their request in the SIGNUPS tab. Approve to add them as an active user.

Part 8 — Frequently Asked Questions


Q: How do I know if the scanner is alive?
The LIVE badge in the top-left corner is green if the server is running. The OVERVIEW tab
shows “Last received” timestamp — if that’s stale (older than your typical signal
frequency), something may be off.

Q: Can I export signals to a CSV?


Yes. In the SIGNALS tab, scroll to the bottom and click Export CSV. Downloads all
currently-filtered signals.
Q: Why does the BACKTEST sometimes say “NO_DATA”?
Yahoo Finance has data gaps: - 1-minute history: only last 7 days - 5m / 15m / 30m: only
last 60 days - 1-hour: only last 2 years - Daily and above: unlimited
If you backtest 15m signals from 90 days ago, the older 30 days won’t have intraday data —
those signals show NO_DATA.

Q: What’s the difference between a Trap signal and a Daily signal?


Trap signals (3⭐, 4⭐, 5⭐) are pattern-based reversals that fire at specific levels (round
numbers, PDH/PDL, session highs/lows, etc.). They have a TIER rating.
Daily signals (FRD, FGD, CIB, ID, OD) are based on daily candle relationships and have no
tier. They typically fire once per day.

Q: My alerts say “Delivery failed” in TradingView


This is cosmetic. TradingView shows this when the webhook responds with anything other
than HTTP 200. Your signals are being received correctly — check the SIGNALS tab to
confirm.

Q: How long does data stay in the database?


Indefinitely. The database grows over time but slowly — typical scanner accumulates ~500
signals per month. No automatic purging.

Q: Can the scanner deliver to other platforms (Slack, email, SMS)?


Currently only Discord (webhook) and Telegram (bot) are supported. Other platforms can
be added — discuss as a separate scope.

Part 9 — Server Maintenance Reference


These commands are for Nouman to use; the client doesn’t need them.

Restart the scanner


ssh root@[Link]
systemctl restart mslsi-webhook mslsi-dashboard

Check logs
journalctl -u mslsi-webhook -n 100 --no-pager
journalctl -u mslsi-dashboard -n 100 --no-pager

Deploy a new version


scp MSLSI_v8_6_Scanner_v3_X.zip root@[Link]:/root/
ssh root@[Link]
systemctl stop mslsi-webhook mslsi-dashboard
cp -r /opt/mslsi /opt/mslsi_backup_v_PREVIOUS
cd /root && unzip -o MSLSI_v8_6_Scanner_v3_X.zip && cp -r
/root/scanner_app/* /opt/mslsi/
chown -R mslsi:mslsi /opt/mslsi
systemctl start mslsi-webhook mslsi-dashboard

Backup the database


cp /opt/mslsi/data/[Link] /opt/mslsi/data/scanner_backup_$(date +
%Y%m%d).db

Support
For setup help, technical questions, or to report a bug, contact:
Nouman Ahmed ahmednouman188@[Link]

End of Scanner User Guide

You might also like