Tekniske indikatorer / RSI-divergens
Et divergensværktøj ser enkelt ud: kursen sætter en ny yderværdi, men RSI gør ikke. De nyttige spørgsmål er, hvilke udsving der tæller, hvilken RSI du aflæser, og hvor mange søjler der skal lukke, før værktøjet kan vide det. Denne side besvarer dem med præcise regler, virkelige timediagrammer og kode, du kan kontrollere.

Hvad RSI måler
Det relative styrkeindeks sammenligner den gennemsnitlige størrelse af de seneste stigninger med den gennemsnitlige størrelse af de seneste fald og skalerer resultatet mellem 0 og 100. Ifølge hjælpen til MT5 anbefalede Wilder 14 perioder, da han introducerede indekset, og versioner med 9 og 25 perioder er siden blevet populære. Samme hjælp bemærker, at RSI normalt topper over 70 og danner bund under 30. Hjælp til MT5: RSI
I denne download tegnes linjerne ved 30 og 70 kun som orientering. De filtrerer ingen divergenser. Kode
Hvad en divergens sammenligner
En divergens sammenligner to kursudsving med RSI-værdierne på de samme to søjler. Hjælpen til MT5 beskriver den som en ny kurstop eller kursbund, som RSI ikke bekræfter med sin egen nye top eller bund. Denne download omsætter beskrivelsen til præcise mønstre: Hjælp til MT5: RSI
- Almindelig bearish: en højere lokal kurstop med lavere RSI ved den anden top.
- Almindelig bullish: en lavere lokal kursbund med højere RSI ved den anden bund.
- Skjult bearish (slået fra som standard): en lavere lokal top med højere RSI ved den anden top.
- Skjult bullish (slået fra som standard): en højere lokal bund med lavere RSI ved den anden bund.
Denne side tester ikke, om kursen vender efter en divergens. Den viser, hvad reglerne markerer, hvornår de kan markere det, og virkelige tilfælde, hvor kursen alligevel passerede det andet udsving. Diagramdata
Hvordan denne download beregner RSI
Indikatoren bruger lukkekurser og udglatning efter Wilder. Hver søjles kursændring opdeles i en gevinst og et tab, hvoraf det ene altid er nul, og begge udglattes. Søjlerne tælles fra den ældste indlæste søjle, begyndende med nul:
change[t] = Close[t] − Close[t−1] gain[t] = max(change[t], 0) loss[t] = max(−change[t], 0) Startværdi ved søjle N: AvgGain[N] = (gain[1] + … + gain[N]) / N AvgLoss[N] = (loss[1] + … + loss[N]) / N Senere søjler: AvgGain[t] = (AvgGain[t−1] × (N − 1) + gain[t]) / N AvgLoss[t] = (AvgLoss[t−1] × (N − 1) + loss[t]) / N RSI[t] = 100 − 100 / (1 + AvgGain[t] / AvgLoss[t])
N er perioden, som er 14 som standard. Udglatningstrinnet er det udglattede glidende gennemsnit fra hjælpen til MT5: det foregående gennemsnit gange N − 1, plus den nye værdi, divideret med N. Hjælpen til RSI i MT5 angiver den endelige formel, men ikke hvilket gennemsnit der skal bruges, så denne side angiver det, koden bruger. Hjælp til MT5: udglattet glidende gennemsnit Hjælp til MT5: RSI Kode
Startværdi og opvarmning
Den første gennemsnitlige gevinst og det første gennemsnitlige tab er simple gennemsnit af de første 14 ændringer, så den første RSI-værdi kræver 15 lukkekurser. I denne eksport falder den på søjlen 2025-12-04 22:00 og er 42.78. Tidligere søjler forbliver tomme, og med 14 eller færre søjler tegner indikatoren slet ingenting. Kode Værdier brugt på denne side
Startværdiens indflydelse aftager, men forsvinder aldrig helt. Hvert trin bevarer (N − 1) / N af det foregående gennemsnit, så efter 100 søjler har startværdien stadig en vægt på cirka 0.06% i hvert gennemsnit. En RSI, der starter på en anden første søjle eller initialiseres anderledes, viser derfor andre værdier i begyndelsen. Med de samme lukkekurser og samme udglatning mindskes forskellen mellem gennemsnittene med denne faktor ved hver søjle. Værdier brugt på denne side
Når intet bevæger sig
Hvis det gennemsnitlige tab er nul, ville formlen dividere med nul. Koden returnerer 100, når den gennemsnitlige gevinst er positiv, og 50, når begge gennemsnit er nul, hvilket betyder, at kursen slet ikke har bevæget sig. Med en gennemsnitlig gevinst på nul og et positivt gennemsnitligt tab giver selve formlen 0. Kode
De virkelige data nåede aldrig disse tilfælde: ingen af de 4,986 RSI-værdier er præcis 0, 50 eller 100. Syntetiske kursserier med flad eller ensrettet bevægelse dækker dem i stedet i testen. Krydskontrol
Sammenlign på samme grundlag. To RSI-linjer matcher kun, når lukkekurser, periode, udglatning, startværdi og første søjle matcher. To divergenslister kræver også samme regler for pivoter og pardannelse.
Hvordan indikatoren finder en divergens
Pivoter ved kursudsving
En søjle er en toppivot, når dens højeste kurs er strengt over de højeste kurser i de 5 foregående søjler og ikke overskrides af de højeste kurser i de 5 efterfølgende søjler. En bundpivot spejler reglen for de laveste kurser:
Toppivot ved søjle p: High[p] > High[j] for hvert j = p − L … p − 1
High[p] ≥ High[j] for hvert j = p + 1 … p + R
Bundpivot ved søjle p: Low[p] < Low[j] for hvert j = p − L … p − 1
Low[p] ≤ Low[j] for hvert j = p + 1 … p + R
L er PivotLeftBars, og R er PivotRightBars. Asymmetrien afgør lighedstilfælde: en lige høj top til højre annullerer ikke en pivot, men en lige høj top til venstre gør, så af to lige høje toppe inden for hinandens rækkevidde bliver den tidligere søjle pivoten. Lighedstilfælde forekommer i virkelige data. I denne eksport havde 10 toppivoter og 4 bundpivoter en lige stor yderværdi til højre, og 14 toppe og 4 bunde blev udelukket alene på grund af en lige stor yderværdi til venstre. Eksporten har i alt 313 toppivoter og 311 bundpivoter. Kode Antal
Par og divergenstesten
Når en ny pivot bekræftes, sammenligner koden den med den foregående pivot af samme type, og kun den. Parret testes, når de to pivoter er mellem 5 og 60 søjler fra hinanden, og RSI allerede findes ved den første pivot. En nærmere pivot blokerer altid sammenligningen med en ældre. Kode
Almindelig bearish: High[p2] > High[p1] og RSI[p2] < RSI[p1] Almindelig bullish: Low[p2] < Low[p1] og RSI[p2] > RSI[p1] Skjult bearish: High[p2] < High[p1] og RSI[p2] > RSI[p1] Skjult bullish: Low[p2] > Low[p1] og RSI[p2] < RSI[p1] Rapporteret på søjle: c = p2 + R
Alle sammenligninger er strenge, så ens kurser eller ens RSI-værdier giver aldrig en divergens. Med 5 søjler til venstre og 5 til højre er to pivoter af samme type altid mindst 6 søjler fra hinanden, så minimumsafstanden begrænser ikke standardindstillingerne. Regler
Indstillinger
Dette er downloadens input. Alle figurer på siden bruger standardværdierne, som er illustrative udgangspunkter og ikke optimerede værdier.
| Inputparameter | Standardværdi | Hvad den styrer |
|---|---|---|
RsiPeriod |
14 | RSI-periode for lukkekurser med udglatning efter Wilder. |
PivotLeftBars |
5 | Søjler før en pivot, som den strengt skal overskride. |
PivotRightBars |
5 | Lukkede søjler efter en pivot, som ikke må overskride den. Dette er også bekræftelsesforsinkelsen. |
MinPivotDistance |
5 | Det mindste tilladte antal søjler mellem de to pivoter i et par. |
MaxPivotDistance |
60 | Det største tilladte antal søjler mellem de to pivoter. Søgningen efter den foregående pivot stopper dér. |
ShowHidden |
false | Tilføjer skjulte divergenser som prikkede linjer med deres egne pile. |
Perioden bestemmer, hvor meget hver ny ændring tæller. Udglatning efter Wilder giver den en vægt på 1/14 som standard og 1/9 eller 1/25 ved de alternative perioder, som hjælpen til MT5 nævner, så en kortere periode reagerer mere på hver søjle. PivotRightBars bytter hastighed for bekræftelse: en større værdi tilføjer aldrig pivoter og forsinker hver registrering med de ekstra søjler. Hjælp til MT5: RSI Værdier brugt på denne side
Fortolkning af de virkelige eksempler
Figur 2 til 4 kommer fra eksporten via faste udvælgelsesregler. Reglerne for figur 2 og 3 rangerer registreringer efter RSI-forskellen mellem pivoterne og ser bort fra den efterfølgende kursudvikling. Figur 4 udvælger bevidst et mislykket tilfælde. Udvælgelsesregler

I figur 2 ligger den anden top 0.00039 over den første, mens RSI er 18.99 point lavere. De to serier bygger på forskellige kurser: pivoter bruger højeste og laveste kurser, RSI bruger lukkekurser. Søjlen med den anden top lukkede ved 1.16168, 0.00420 under sin egen top og 0.00212 under den foregående lukkekurs, så RSI registrerede et tab på netop den søjle, der satte den nye top. Værdier brugt på denne side

Den anden bund i figur 3 er kun 0.00009 under den første, hvilket svarer til 9 point med dette symbols kurstrin på 0.00001, mens RSI er 26.22 point højere. Reglen har ingen minimumsstørrelse, så så lille en forskel tæller som enhver anden. Også her lukkede pivotsøjlen langt fra sin yderværdi: ved 1.16176, 0.00355 over sin bund og 0.00272 over den foregående lukkekurs. Værdier brugt på denne side
Ingen af eksemplerne blev valgt efter udfaldet. Efter bekræftelsen i figur 2 oversteg ingen top i de næste 24 søjler pivot 2. Efter bekræftelsen i figur 3 gik kursen under pivot 2 ved 2026-05-21 16:00 med en bund på 1.15757, 18 søjler efter bekræftelsessøjlen. Diagramregistreringer

Registreringen i figur 4 var korrekt efter reglerne: en højere top med RSI 17.88 point lavere. Det var forventningen om en vending, der svigtede. Efter et fald til en bund på 1.15237 ved 2026-04-07 05:00 fortsatte kursen til den højere top. Diagramregistreringer Værdier brugt på denne side
Hvad stikprøven viser
Med standardindstillingerne indeholder eksporten 73 almindelige registreringer: 29 bearish og 44 bullish. Med ShowHidden slået til tilføjes 43 skjulte bearish og 29 skjulte bullish registreringer, i alt 145. Disse antal beskriver stikprøven under disse regler. De er ikke træfprocenter, og ingen handelsresultater blev testet. Antal
En divergens beskriver to udsving, der allerede er sket. Hvad kursen gør bagefter, er et særskilt spørgsmål.
Hvornår en divergens bliver kendt
Bekræftelsesforsinkelsen
En pivot kræver 5 lukkede søjler til højre, så detektoren kan ikke kende pivot 2, før den sidste af disse søjler er lukket. Koden placerer pilen på bekræftelsessøjlen, ikke på pivot 2, og linjen mellem de to RSI-værdier vises samtidig. Den nyeste søjle i diagrammet betragtes som stadig under dannelse og bekræfter derfor aldrig en pivot. Kode

Gentegner den historiske værdier?
Når en registrering er skrevet, bliver den på sin plads, så længe den lukkede historik ikke ændres. Den native test genafspiller alle 5,000 søjler én ad gangen, først med et ændret mellemliggende tick på den nyeste søjle og dernæst med dens endelige værdier, og kontrollerer ved hvert trin, at registreringer kun vises på deres bekræftelsessøjle og aldrig ændres bagefter. RSI-værdien på den nyeste søjle bevæger sig stadig med hvert tick, som enhver RSI. Hvis selve kurshistorikken ændres, eksempelvis ved download af længere historik, sender terminalen nul som prev_calculated, og indikatoren genberegner alt ud fra de nye data. Nativ test MQL5-reference: OnCalculate
Et udsving kan ikke bekræftes, før de søjler, der definerer det, er lukket.
Kombination med andre værktøjer
Detektoren sammenligner to udsving med to RSI-værdier og intet andet. Alt yderligere er en særskilt regel, som du selv skal definere og teste. Denne guide tester ingen af følgende tilføjelser:
- Kursniveauer. Den prikkede linje i figur 2 til 5 forlænger niveauet for pivot 2. Om kursen senere passerer det, kan ses i diagrammet, og det gjorde den i figur 3 til 5.
- RSI-niveauer. Et filter som bullish registreringer kun under 30 ville være et nyt input. Denne download tegner linjerne ved 30 og 70, men filtrerer ikke efter dem.
- Andre RSI-fortolkninger. Hjælpen til MT5 beskriver også toppe og bunde, diagramformationer, mislykkede udsving samt støtte eller modstand på selve RSI-linjen. Detektoren leder ikke efter dem.
- Trendfiltre og højere tidsrammer. Et trendfilter som et glidende gennemsnit, eller samme regler på en højere tidsramme, ville ændre, hvilke registreringer der er tilbage. Denne side måler ingen af delene.
Begrænsninger
- Detektoren beskriver tidligere søjler. Den forudsiger ikke, og der rapporteres ingen træfprocent eller handelsresultater.
- Hver registrering kommer som følge af konstruktionen 5 lukkede søjler efter pivot 2.
- Små forskelle tæller. Blandt 621 evaluerede par var den mindste kursforskel 0.00001, symbolets mindste kurstrin, og den mindste RSI-forskel var 0.05 point. Præcis ens pivotkurser forekom i 1 par, som efter reglen ikke var en divergens.
- Pivoter bruger højeste og laveste kurser, men RSI bruger lukkekurser. Et kurslys med en lang væge kan sætte en ny yderværdi og stadig lukke langt fra den, som i figur 2 og 3.
- Kun nabopivoter sammenlignes, højst 60 søjler fra hinanden. En divergens mellem udsving, der ikke er naboer, rapporteres ikke.
- Værdier nær starten af den indlæste historik afhænger af startværdien og kan afvige fra andre RSI-implementeringer.
- Tiderne følger handelsserverens ur, UTC+3 ved registreringen; historiske skift til sommertid modelleres ikke. Diagrammerne komprimerer weekender og andre huller.
- MQL4-filen er ikke kompileret eller kørt i MT4.
Brug indikatoren
Trinnene nedenfor gælder MT5. Filen .mq4 er beregnet til MT4 og er ikke testet dér.
- Download kildefilen .mq5 eller den kompilerede .ex5 nedenfor.
- Åbn datamappen (Filer › Åbn datamappe i MetaEditor), og kopiér filen til mappen MQL5\Indicators.
- Hvis du bruger kildekoden, skal du åbne den i MetaEditor og trykke F7 for at kompilere. Det opretter filen .ex5.
- Træk indikatoren over på et diagram fra vinduet Navigator i MT5. Den åbner i et separat indikatorvindue med sin egen skala, fastsat fra 0 til 100.
- Behold standardværdierne for at matche denne side, eller ændr inputtene fra indstillingstabellen, når du tilføjer den.
Datamappe Indikatormappe og kompilering Tilføjelse af indikatorer
MQL5-kildekode
Redigerbar nativ MQL5-kode: RSI med divergenslinjer og pile i et separat vindue. Ingen ordrer, alarmer, DLL-importer eller webforespørgsler.
Kompileret MQL5
Bygget fra denne kildekode med MetaEditor: 0 fejl, 0 advarsler. Tilføjelse til et live-diagram er ikke testet.
MQL4-kildekode
Samme beregningsdel med bufferopsætning i MT4-stil. Kun statisk gennemgang: ikke kompileret eller kørt i MT4.
Hvad der blev kontrolleret
Beregningsdelen af MQL5-filen blev kompileret til et testprogram, hvor kun indgangsfunktionen blev omdøbt, og kørt i matematiktesteren i MT5 på de samme 5,000 søjler. En uafhængig referenceimplementering af de samme regler behandlede de samme rækker. Dens gennemsnit efter Wilder bruger et eksponentielt vægtet gennemsnit, en anden aritmetisk form af samme rekursion. Testprogrammets omfang MQL5-reference: test Eksponentielt vægtet gennemsnit
Alle 4,986 RSI-værdier stemmer overens inden for 4.97e-14 point, og 2,139 af dem er bitidentiske. Tolerancen for godkendelse var 1e-9 point: langt over den forventede flydende-komma-støj på cirka 1e-13 point og langt finere end de 2 decimaler, indikatoren viser. Alle 145 registreringer med ShowHidden slået til matcher præcist på type, bekræftelsessøjle og begge pivotsøjler. Ingen beslutning lå nær tolerancen: den mindste RSI-forskel bag noget evalueret par var 0.05 point. Krydskontrol Byggelog
Det native program bestod 41 af 41 kontroller, som dækkede opvarmning og startværdi, flade og ensrettede kurser, ens toppe og bunde, divergenser med kendt svar, utilstrækkelig historik, et gentaget tick, en ændret søjle under dannelse, en tilføjet søjle, genafspilning søjle for søjle og standardindstillingen for ShowHidden. Krydskontrolscriptet bestod 24 af 24 sammenligninger. Nativ test Krydskontrol
Disse kontroller dækker aritmetik og opdateringslogik. De dækker ikke tegning på et live-diagram, MT4 eller handelsresultater. Testprogrammets omfang
Risikoadvarsel. Handel indebærer risiko, og du kan tabe penge. Indikatoren markerer kun tidligere kurs- og RSI-mønstre: den forudsiger ikke kurser, placerer eller beskytter ikke ordrer og styrer ikke risiko. Eksemplerne illustrerer reglerne. De er ikke handelssignaler, og intet på siden lover et resultat.
Ofte stillede spørgsmål
Hvad er en RSI-divergens?
Det er en uoverensstemmelse mellem to kursudsving og RSI-værdierne på de samme to søjler. Ved en almindelig bearish divergens danner kursen en højere lokal top, mens RSI er lavere ved den anden top. Ved en almindelig bullish divergens danner kursen en lavere lokal bund, mens RSI er højere ved den anden bund.
Hvordan beregner denne download RSI?
Den bruger lukkekurser og udglatning efter Wilder med en periode på 14. Den første gennemsnitlige gevinst og det første gennemsnitlige tab er simple gennemsnit af de første 14 kursændringer; derefter indgår hver ny ændring med vægten 1/14. En RSI med en anden udglatning giver andre værdier hele vejen igennem. Med samme udglatning, men en anden startværdi eller første søjle, er forskellene størst nær starten af historikken og aftager senere.
Hvorfor vises en divergens 5 søjler efter udsvinget?
Et udsving bliver først en pivot, når de 5 søjler til højre er lukket uden at overskride det. Indikatoren rapporterer divergensen på den sidste af disse søjler og flytter den ikke tilbage til pivotsøjlen, så diagrammet viser, hvad indikatoren kunne vide på det tidspunkt.
Gentegner indikatoren historiske værdier?
Ikke efter bekræftelse, så længe den lukkede historik er den samme. En nativ genafspilning af alle 5,000 søjler med et mellemliggende tick på hver ny søjle fandt ingen registrering, som viste sig for tidligt, flyttede sig eller ændredes senere. RSI-værdien på søjlen under dannelse ændres stadig med hvert tick, og en ændring i den indlæste historik, eksempelvis download af længere historik, får indikatoren til at genberegne alt.
Hvad er skjulte divergenser?
En skjult bearish divergens er en lavere lokal top med højere RSI; en skjult bullish divergens er en højere lokal bund med lavere RSI. De er slået fra som standard. Indstillingen ShowHidden til true tegner dem som prikkede linjer med egne pile. Krydskontrollen sammenlignede dem med indstillingen slået til, og den native test bekræftede, at standardindstillingen ikke tegner skjulte divergenser og lader de almindelige være uændrede.
Betyder en divergens, at kursen vender?
Det viser denne side ikke. Den beskriver én stikprøve under faste regler, og figur 3, 4 og 5 viser alle kursen passere det andet udsving efter bekræftelsen. Ingen træfprocent eller handelsresultater blev testet.
Kan jeg bruge MQL4-filen i MT4?
Filen .mq4 indeholder samme beregningsdel som den testede MQL5-fil med bufferopsætning i MT4-stil. Den er kun gennemgået statisk: den er ikke kompileret eller kørt i MT4. Kompilér den i den MetaEditor, der følger med MT4, og kontrollér compilerloggen for fejl og advarsler inden brug.
Kilder og reproducerbarhed
Hjælp til MT5: relativt styrkeindeks: interval, perioden fra Wilder og populære alternativer, sædvanlige toppe og bunde, divergenser, formel.
Hjælp til MT5: glidende gennemsnit: formel for udglattet glidende gennemsnit.
MQL5-reference: OnCalculate: værdien prev_calculated og fuld genberegning efter ændring af kursdata.
MQL5-reference: copy_rates_from_pos: søjlepositioner for eksporten; position nul er den aktuelle søjle, som eksporten springer over.
MQL5-reference: test: den matematiske beregningstilstand, som den native test bruger.
Referencebibliotekets dokumentation: eksponentielt vægtet gennemsnit: rekursionen adjust=False, som den uafhængige kontrol bruger.
Hjælp til MetaEditor: platformsstruktur: datamappen og indikatormapperne.
Hjælp til MT5: algoritmisk handel: mappen MQL5\Indicators og kompilering med F7.
Hjælp til MT5: tekniske indikatorer: tilføjelse af en indikator fra Navigator og separate indikatorvinduer.
Værdier brugt på denne side og i diagrammerne · Eksporterede søjler · Eksportens oprindelse · Reference-RSI og pivoter · Referenceregistreringer · Native MQL5-buffere · Native MQL5-registreringer · Krydskontrol · Nativ testkørsel · Byggelog · Compilerlog · Specifikation
Diagrammerne komprimerer weekender og andre huller mellem søjlerne. Tiderne følger terminalens handelsserverur som eksporteret. Eksemplerne er fastlagt for reproducerbarhed og er ikke løbende markedskommentarer.
Gearede produkter kan hurtigt føre til tab af penge. For detailkunder i Danmark gælder der grænser for gearing ved handel med CFD'er.




