Swing-screener (EMA · RSI · Bollinger) & backtest med hybrid ATR-stop — C25
Screeneren henter den seneste kursdata for alle C25-aktier fra Yahoo Finance, beregner tre uafhængige indikatorer på dagsbasis og giver hver aktie en score fra 0 til 6 efter hvor mange swing-betingelser der er opfyldt lige nu. Den fortæller hvad der ser interessant ud i dag — ikke om strategien historisk har virket (det er backtestens job).
Pointen er at dække tre forskellige dimensioner, så man ikke måler det samme tre gange. Mange begyndere kombinerer RSI + Stochastic + MACD, men de er alle momentum-mål og giver falsk tryghed.
| Trend (EMA) | To eksponentielle glidende gennemsnit (EMA20 og EMA50) viser retningen. Swing handles bedst med trenden. |
| Momentum (RSI) | RSI(14) måler styrke og timing — er aktien overkøbt/oversolgt, og holder kraften? |
| Volatilitet (Bollinger) | Bollinger Bands viser hvor strakt prisen er væk fra gennemsnittet — bruges til entry-timing. |
RSI bruger Wilder-udglatning — samme metode som TradingView og de fleste handelsplatforme — så tallene matcher det du ser i din platform.
For hver aktie beregnes konkrete niveauer ud fra ATR (Average True Range — aktiens normale daglige udsving), så de tilpasser sig den enkelte akties volatilitet i stedet for en fast procent:
| Entry | Aktuel lukkekurs — niveauet du ville gå ind på. |
| Stop-loss | entry − 2×ATR. Samme stramme initial-stop som backtest-strategien. Rammer kursen det, er handlen forkert, og du er ude. |
| Mål | entry + 2× risiko = et 2:1 reward/risk-niveau. Et statisk referencepunkt til at vurdere om handlen er værd at tage. |
| Risiko% | Afstanden fra entry til stop i procent — altså hvor meget du taber på pengene i selve positionen hvis stoppet rammes. Fx betyder 6,9% ud for Novo: køber du til 285,55 og rammer stoppet på 265,73, taber du 6,9% af det du lagde i Novo. |
| Antal / Position | Position-sizing-beregner: indtast dit depot og hvor mange % du vil risikere pr. handel i felterne over tabellen. Kolonnerne viser så hvor mange aktier du skal købe (depot × risiko% ÷ risiko pr. aktie) og positionens størrelse i kr — opdateres live. Så taber du præcis dit risikobudget hvis stop-loss rammes, uanset hvor volatil aktien er. |
Pas på forskellen: Risiko%-kolonnen er risikoen på positionen — IKKE på dit depot. De 6,9% for Novo er ikke 6,9% af din konto. Hvor meget af depotet du risikerer, styrer du selv med positionsstørrelsen: med depot 100.000 og 1% risiko køber beregneren 50 Novo-aktier (14.278 kr) — falder Novo de 6,9% til stoppet, taber du 6,9% af de 14.278 kr ≈ 1.000 kr = 1% af depotet. Position-risiko ≠ konto-risiko.
Vigtigt: backtest-strategien exit'er i praksis via et trailing-stop der følger kursen op — ikke ved et fast mål. "Mål"-kolonnen er derfor et referenceniveau for reward/risk, ikke et mekanisk salgssignal. Lader du vinderne løbe med trailing-stoppet, kan exit blive både højere og lavere end målet.
Højere score = flere uafhængige betingelser peger samme vej samtidig. En score på 5–6 er et stærkt sammenfald; 0–2 betyder at aktien ikke er i et swing-setup nu. Klik på en kolonneoverskrift for at sortere. Brug "Signaler" til at se hvilke betingelser der udløste scoren.
| Aktie | Score | RSI | Entry | Stop-loss | Mål | Risiko% | Antal | Position | Signaler |
|---|
Score 0–6: trend (EMA20>EMA50, pris>EMA20) · momentum (RSI sund / kryds op fra oversolgt) · volatilitet (pris ved nedre Bollinger) · volumen over snit. Højere = flere swing-betingelser opfyldt samtidig.
En backtest simulerer strategien dag for dag på historiske kurser og viser hvordan den ville have klaret sig. Hvor screeneren kigger på i dag, svarer backtesten på det vigtige spørgsmål: har reglerne overhovedet en edge? Den handler én position ad gangen pr. aktie, long-only.
Køb til næste dags luk når alle tre er opfyldt (intet fremtidskig — signalet bruger gårsdagens data):
slope dage siden). Dette filter sorterer lokale optrends i flade/faldende markeder fra.ATR (Average True Range) måler aktiens normale daglige udsving, så stoppet tilpasser sig den enkelte akties volatilitet i stedet for en fast procent. Stoppet kombinerer to ben og rykker kun opad:
entry − init×ATR kapper tabere hurtigt.højeste_kurs − trail×ATR overtager når handlen kommer i gevinst og lader vinderen løbe.Det giver det bedste fra begge: hurtig beskyttelse nedad, plads til at ride trenden opad.
| Init-stop ×ATR | Hvor stramt det indledende stop sidder. Lavere = kapper tab hurtigere, men piskes oftere ud af normal støj. |
| Trail-stop ×ATR | Hvor meget luft vinderen får. Højere = rider trends længere, men giver mere gevinst tilbage ved vendinger. |
| EMA50-slope | Antal dage EMA50 skal være steget over. 0 = filter fra (flere handler, mere risiko). 10–20 = mere selektiv. |
| Kurtage %/ben | Handelsomkostning pr. ben. En rundtur (køb+salg) koster det dobbelte. Modelleret realistisk på begge ben. |
| Handler | Antal gennemførte handler. Få handler = lille stikprøve = mindre statistisk troværdigt. |
| Win% | Andel vindende handler. Må gerne være under 50% og stadig give overskud — trailing-stoppet gør vinderne større end taberne (asymmetri). |
| Afk/handel | Gennemsnitligt afkast pr. handel efter kurtage. |
| Strategi | Samlet afkast med renters rente over perioden. |
| Buy&Hold | Hvad man fik ved bare at eje aktien hele perioden — referencepunktet. |
| MaxDD | Max drawdown: største fald fra top til bund på egenkapitalkurven. Strategiens vigtigste egenskab er typisk lav drawdown. |
| Status | Om strategien har en åben position lige nu (på seneste handelsdag): "I marked" = long, "Ude" = ingen position. |
| Trailing-stop | Det live stop-niveau lige nu for aktier hvor status er "I marked" — dvs. hvor du ville lægge dit stop i dag hvis du fulgte strategien. Hold musen over tallet for entry, aktuel kurs og afstand til stop. |
Status- og trailing-stop-kolonnerne bygger bro mellem den historiske test og i dag: for de aktier hvor strategien aktuelt er long, ser du præcis hvor det trailing-stop sidder nu (højeste_kurs − trail×ATR).
| Aktie | Handler | Win% | Afk/handel | Strategi | Buy&Hold | MaxDD | Status | Trailing-stop |
|---|
Strategi: køb ved RSI-kryds op gennem 40 i optrend (EMA20>EMA50 + EMA50 stigende). Exit via hybrid ATR-stop. Inkl. kurtage; uden slippage/udbytte. Ikke investeringsrådgivning.
Et parameter-sweep kører backtesten igen og igen med forskellige indstillinger og sammenligner dem, så du kan finde den kombination der historisk har virket bedst — i stedet for at gætte parametrene. Det automatiserer den kedelige del af tuning.
Sweepet kører alle meningsfulde kombinationer af et grid over tre parametre (kombinationer hvor trailing er smallere end initial-stoppet springes over):
| Init-stop | 1,5 · 2,0 · 2,5 ×ATR |
| Trail-stop | 2,5 · 3,0 · 4,0 ×ATR |
| EMA50-slope | 0 (fra) · 10 · 20 dage |
Hver tickers kursdata hentes kun én gang og genbruges på tværs af hele gridet, så det ikke spammer datakilden. Hver række i resultatet er gennemsnittet over alle de valgte aktier for den parameterkombination.
Rækkerne rangeres efter en risikojusteret score: gns. afkast / gns. max drawdown. Den belønner altså ikke bare højt afkast, men højt afkast pr. enhed nedside-risiko. To strategier med samme afkast adskilles af, hvor ondt det gjorde undervejs.
| Init | Trail | Slope | Afkast | Win% | MaxDD | Handler | Score |
|---|
Sweep tester (init × trail × slope) over de valgte aktier og rangerer efter score = afkast/drawdown. Kan tage et par minutter. Vælg en robust top-række frem for den med højest råt afkast (overfitting-fare).