Modul 2 / #11 — Construire scanere (SF Buy/Sell Doji) în TradeStation

TLDR

Lecția e un tutorial de configurare software: cum construiești în TradeStation un scanner care rulează automat triggerul Buy/Sell Doji (și, similar, Buy/Sell Hammer) din indicatorul propriu cursului peste sute de simboluri deodată, filtrat prin proximitatea de un pivot/suport/rezistență, prin volum minim și cu context de sector/industrie/proiecție de piață afișat direct în tabel. Nu e un concept nou de trading — e mecanismul prin care triggerele deja învățate (Buy/Sell Doji, Buy/Sell Momentum Trigger din lecția anterioară) se aplică automat pe 500-3000 de simboluri în loc să te uiți manual pe fiecare grafic.

De ce contează un scanner — nu doar "e mai rapid"

Mecanismul concret: fără scanner, ca să prinzi un semnal valid trebuie să deschizi manual fiecare grafic din universul tău de urmărit, la fiecare interval relevant (60 min, daily etc.), exact în fereastra de timp în care semnalul e proaspăt — imposibil de făcut consecvent pe sute de simboluri. Un scanner rulează același test logic (trigger = 0, distanță de pivot ≤ X%, volum ≥ Y) pe tot universul într-o singură trecere. Exemplul din curs: pe S&P 500 (500 simboluri), o scanare pe un singur criteriu (Buy Doji 60 min) a durat sub un minut și a găsit 29 simboluri — timp imposibil de reprodus manual.

Componentele scanerului — ce indicator face ce

Scanerul din lecție combină trei indicatori, fiecare cu alt rol:

Indicator (cod TradeStation) Rol în scanner Criteriu folosit
jbtgrshdATM triggerul de Buy/Sell Doji/Hammer (aceeași familie ca Buy/Sell Momentum Trigger din lecția anterioară, dar pe forma de candelă doji/hammer, nu pe cele două moving averages) BDATM (buy doji), SDATM (sell doji), BHATM (buy hammer) egal cu 0 — valoarea 0 marchează momentul exact al semnalului
RSV1ATM suport/rezistență prin pivot points (aceleași floor pivots din lecția 2) % of PP / % of Support / % of Resistance — distanța procentuală curentă față de nivel
Volume Colors filtru de lichiditate volum mediu (daily, indiferent de timeframe-ul scanerului) ≥ prag

Pe lângă criteriile de filtrare, scanerul mai poate afișa (fără să filtreze) Sector, Industry și Market Preview (proiecția bull/bear calculată din raportul suport/rezistență al RSV1ATM, aceeași logică din lecția 2) — utile ca să nu deschizi fiecare simbol ca să știi ce fel de companie e sau ce proiecție are.

Pas cu pas: construirea scanerului de Buy Doji pe 60 min

  1. Workspace nou — New Workspace → salvat separat (ex. scanner). Copiat aici graficele Monthly, Weekly, Daily și 60 min din workspace-ul de chart-uri existent (click dreapta pe fiecare → Copy Window → Paste Window în workspace-ul nou), apoi aranjate pe ecran.
  2. Aplicația Scanner — click dreapta pe spațiul gol → New Application → Scanner.
  3. Folder — click dreapta în listă → Add Folder, denumit după temă (ex. HD = Hammer/Doji).
  4. Create Scan — denumit explicit cu timeframe-ul în nume (ex. BD (60 min)) — convenție utilă: fără asta, la 10+ scanere nu mai știi care-i care.
  5. Universul de scanare — ce set de simboluri verifică scanerul: All Stocks (toată piața US, ~13.000 de simboluri) sau un subset (ex. S&P 500 via Symbol List → Indexes Components → S&P 500 Index). Universul mare găsește mai mult, dar durează mai mult — pe All Stocks sau o listă de 3000 (Russell 3000) o scanare durează sensibil mai mult decât pe 500.
  6. Criteriul de trigger — se adaugă jbtgrshdATM, se lasă BDATM (buy doji), operator =, valoare 0. La parametrii indicatorului: Interval = 60 min (trebuie potrivit manual cu timeframe-ul scanerului — nu se deduce automat), Load Additional Data minim 500 (bare istorice necesare ca indicatorul să calculeze corect).
  7. Filtrul de suport/rezistență — se adaugă RSV1ATM, % of PP (sau % of Support / % of Resistance), operator ≤, prag procentual. Pivot Interval = nivelul cu un timeframe mai mare decât chart-ul scanerului — aceeași regulă din 03_timeframes_set_up.md: pe 60 min folosești pivoți Weekly (Pivot Interval = 2), pe Daily pivoți Monthly (Pivot Interval = 3). Nu presupune un număr generic — se schimbă cu timeframe-ul.
  8. Filtrul de volum — Volume Colors, Average Volume ≥ prag (ex. 500.000), Average Length = 10 (medie pe ultimele 10 zile). E volum daily, indiferent de timeframe-ul scanerului (60 min sau altul) — filtrul de lichiditate rămâne raportat la zi.
  9. Afișare (fără filtrare) — Sector, Industry, Description (operator Display, nu ≤/=), plus RSV1ATM → Market Preview pentru proiecția bull/bear.
  10. Run — scanerul afișează toate simbolurile care trec toate criteriile simultan, sortabile pe coloane.

Detaliu tehnic: câmpul "Enter 1 for RadarScreen, 100 for Scanner" (RS/SR)

Termen nou aici: la parametrii RSV1ATM există un input care scalează cum se afișează distanța procentuală. Platforma nu poate afișa decât 2 zecimale în tabel — dacă distanța reală e sub 0.1% (ex. 0.0597), cu factorul 1 vezi doar 0.06 (rotunjit, pierzi precizie utilă la un prag strâns). Cu factorul 100, aceeași valoare devine 5.97 (adică 0.0597 × 100), afișată cu precizie utilizabilă — dar atunci pragul din criteriu trebuie înmulțit tot cu 100:

RS/SR setat la Prag "sub 0.5%" se scrie Prag "sub 2%" se scrie
1 ≤ 0.5 ≤ 2
100 ≤ 50 ≤ 200

Nepotrivirea între cele două (ex. RS/SR=100 dar prag scris 0.5) face ca scanerul să filtreze la 0.005%, practic zero rezultate. Notă separată din curs: la zecimale, TradeStation nu acceptă virgulă — 0,5 dă eroare invalid expression, doar 0.5 (punct) funcționează.

Ce prag de proximitate alegi — depinde de timeframe

Pe 60 min, cursul folosește ≤ 0.5% de pivot/suport. Pe Daily, pragul recomandat crește la 1-2% — motivul explicit din curs: la 0.5% pe daily găsești foarte puține simboluri (nivelul de preț se mișcă mai mult între verificări), un prag mai larg (2%) prinde atât zona foarte apropiată cât și tranziția către ea, fără să rateze rezultate valide.

De la scanner la trade — ce faci când apare un rezultat

De ce urmărești asta, concret: scanerul îți dă lista de candidați care îndeplinesc mecanic condițiile (trigger + proximitate de nivel + volum) — nu îți dă undă verde automată de intrare, îți economisește doar timpul de căutare.

Ce faci când vezi un rezultat: deschizi graficul simbolului găsit (link global cu scanerul, ca să sară direct pe el), verifici vizual triggerul (doji sau hammer real, nu artefact), verifici pe ce parte a nivelului stă exact (suport ținut sau deja spart) și verifici Market Preview (bull/bear) ca context — abia apoi construiești planul de intrare (entry/SL/TP), exact ca în lecția 10.

Trigger valid vs. fals rezultat de scanare — DA/NU (proximitate de nivel):

DA — 0.35% de suport, scanerul îl prinde la prag 0.5% 42.00 — suport (pivot) 42.15 (0.35%) — apare în listă NU — 3.1% de suport, scanerul NU îl prinde (corect) 42.00 — suport (pivot) 43.30 (3.1% deasupra) — prea departe

Diferența nu e vizuală (ambele arată "aproape" pe un grafic zoom-out) — e strict numerică, exact motivul pentru care se folosește un prag explicit (0.5% pe 60 min) în loc de "pare aproape".

Exemplu 1 — Long: ULTA BEAUTY, buy doji la suport, proiecție bull

Rezultat real din scanarea Daily din curs: simbolul apare cu doji la suport, Market Preview = bull. Cursul nu dă cifrele exacte de preț — completare a mea, pe scara reală a acțiunii la momentul lecției (ULTA ~ 400-410 USD):

ULTA — daily TP 418.00 — rezistență anterioară 402.00 — suport (pivot monthly, la 0.4%) SL 396.00 (sub suport) intrare 404.20 doji ~403.60 Risc 8.20, recompensă 13.80 → ~1:1.7.

Doji găsit de scanner la 403.60, la 0.4% deasupra suportului de 402.00 — sub pragul de 0.5% folosit în scanare. Confirmarea de trigger (candela următoare închide peste high-ul dojii) vine intrare 404.20. Stop-loss 396.00 (sub suport — dacă prețul recoboară acolo, nivelul n-a ținut, setup-ul e invalidat). Take-profit 418.00 (rezistență anterioară pe Daily). Risc 8.20, recompensă 13.80 → risc/recompensă ≈ 1:1.7.

Exemplu 2 — Short: Amazon/MAR, sell doji la rezistență

Rezultat real din curs, scanare Sell Doji 60 min: "MAR la rezistență" — cifre exacte nu sunt date, completare a mea pe scara reală (Marriott ~ 245-250 USD la momentul lecției):

MAR — 60 min SL 251.50 (peste rezistență) 248.00 — rezistență (pivot weekly, la 0.3%) TP 236.00 — suport anterior intrare short 246.70 doji ~247.30 Risc 4.80, recompensă 10.70 → ~1:2.2.

Doji la 247.30, 0.3% sub rezistența 248.00. Confirmare (candela următoare închide sub low-ul dojii) → intrare short 246.70. Stop-loss 251.50 (peste rezistență — dacă prețul urcă acolo, rezistența n-a ținut). Take-profit 236.00 (suport anterior). Risc 4.80, recompensă 10.70 → risc/recompensă ≈ 1:2.2.

Clonarea pe alte timeframe-uri (Daily, Weekly, Monthly)

Copy Scan → Paste Scan → redenumit clar (ex. BD (Daily)), apoi la intrare se schimbă doar trei lucruri, restul rămâne identic: 1. Interval la criteriul de trigger (60 min → Daily). 2. Pivot Interval la criteriul de suport/rezistență, conform tabelului din 03_timeframes_set_up.md (Daily → pivoți Monthly = interval 3). 3. Pragul procentual de proximitate (0.5% → 1-2% pe Daily, motiv explicat mai sus).

Volum, sector, industrie, market preview rămân neschimbate — nu depind de timeframe-ul scanerului.

Programare automată (Schedule)

La Schedule, bifat Schedule Scan to Run Automatically: - Intraday (scanere 15/60 min) — rulează la fiecare N minute, într-o fereastră orară (ex. 09:30-16:00, ora bursei). - Daily — la o oră fixă (ex. 09:00). - Weekly / Monthly — într-o zi fixă (ex. luni sau prima zi din lună).

Condiție obligatorie: calculatorul trebuie pornit și TradeStation deschis la ora respectivă — scanerul nu rulează "în cloud", rulează local.

Liste custom de simboluri (Russell 3000)

Pentru universuri care nu există predefinite în platformă (Russell 3000): simbolurile se copiază dintr-o sursă externă în Excel, apoi în loturi (ex. 1000 simboluri per lot, limitare RadarScreen) în RadarScreen, apoi Data → Append Selected Symbol to Custom Symbol List le adaugă la o listă salvată — refolosibilă apoi ca univers de scanare (Symbol Universe → Custom Symbol List). O scanare completă pe Russell 3000 (~2300 simboluri activi) durează vizibil mai mult decât pe S&P 500, dar acoperă și companii mici, nu doar cele mari.

Gotchas practice — cele mai importante

Referințe


Notă: secțiunile "De ce contează un scanner", "De la scanner la trade" (cu diagrama DA/NU și cele două exemple numerice ULTA BEAUTY/MAR, inclusiv toate cifrele de entry/SL/TP), tabelul RS/SR și explicația factorului de scalare sunt completări ale mele, dincolo de ce spune explicit transcrierea — cursul arată pas cu pas construirea scanerului în TradeStation, cu simboluri reale găsite live (MCO, ULTA BEAUTY, EPU, CURL, L, Amazon, MAR, SMDX, USFD), dar fără prețuri exacte citite de pe grafic și fără planuri de trade complete pentru rezultatele găsite.