In dit artikel
Na dit artikel kun je…
- Een RSI-start en Wilder-updates uit volledige prijzen reproduceren.
- Weergaveafronding scheiden van werkelijk verlies van opgeslagen precisie.
- Exact nul, kleine positieve waarden en versiegebonden output onderscheiden.
Begrippen uitgelegd binnen het artikel
Relative Strength Index (RSI) Pip Divergentie MACDOm Relative Strength Index (RSI) te reproduceren heb je de veranderingen én beide afgevlakte toestanden nodig. Alleen het label RSI 14 of de laatste zichtbare waarde is onvoldoende. Hier blijven bronprijzen, initialisatie, recursie en weergave afzonderlijk controleerbaar. Geen van deze rekenvoorbeelden is een backtest of bewijs van winst.
Eerst de bouwstenen, dan de verhouding
Voor slotkoersen C is Δ = Cₜ − Cₜ₋₁, stijging U = max(Δ, 0) en dalingsgrootte D = max(−Δ, 0). Beide zijn niet-negatief; een onveranderde koers geeft twee nullen. Dit zijn prijsveranderingen, geen procentuele rendementen of deelnemersmotieven. De eerste n veranderingen leveren rekenkundige gemiddelden G en L. Bij n = 14 heb je dus vijftien slotkoersen nodig. Veertien slotkoersen bevatten maar dertien verschillen.
Na de start geldt Gₜ = [(n − 1)Gₜ₋₁ + Uₜ]/n en Lₜ = [(n − 1)Lₜ₋₁ + Dₜ]/n. Wanneer G + L positief is, is RSI = 100G/(G + L). Voor L > 0 kun je ook 100 − 100/(1 + G/L) gebruiken. De zichtbare chart kan minder geschiedenis tonen dan de draaiende berekening daadwerkelijk gebruikt.
Afronding kan het geheugen wissen
Gegeven n = 3, G = L = 0,0045 en een nieuwe stijging 0,001. Volledige opslag geeft G′ = (2 × 0,0045 + 0,001)/3 = 0,003333… en L′ = 0,003. RSI wordt 52,6316… . Beide vooraf werkelijk afronden tot twee decimalen maakt G = L = 0. Na dezelfde stijging is G′ positief, L′ nul en RSI 100 onder de genoemde positieve-totaalregel.
Een kort label hoeft niets te veranderen; werkelijk afronden van G/L kan dezelfde update naar een totaal andere RSI sturen.
- Volledig opgeslagen
- RSI 52,6316… – G′ 0,003333… en L′ 0,003.
- Vooraf beide naar nul
- RSI 100 – Nieuwe positieve G′, L′ nul; positieve-totaalregel.
Een spreadsheet die 0,00 toont maar 0,0045 bewaart, heeft het geheugen niet gewist. De fout ontstaat pas als de verkorte tekst of werkelijk afgeronde waarde als volgende toestand wordt gebruikt. Het diagram vergelijkt opslagmethoden en beschuldigt geen platform van deze fout.
Wilder is geen gewone EMA14
De nieuwe-waarnemingsfactor is 1/n: bij 14 ongeveer 0,07143. Een conventionele EMA14 gebruikt 2/15, ongeveer 0,13333. Dit zijn andere recursies. Een steeds opnieuw berekend rekenkundig laatste-n-gemiddelde is nog een derde methode. De afwijking is data-afhankelijk; er volgt geen vast aantal punten vertraging of garantie van extremere waarden uit. Bij G = L > 0 is RSI 50, zonder bewijs van een prijsrange.
Zeven prijzen, vier exacte uitkomsten
Neem uitsluitend slotkoersen 100, 102, 101, 104, 103, 103, 105. Er is geen oudere toestand, ontbrekende prijs of extra instabiliteitsperiode. Gebruik n = 3 om alle stappen te kunnen zien, niet als advies voor een instelling.
Schuif op een klein scherm door de tabel om alle kolommen te lezen.
| Tijd / Close | Δ; U; D | G; L | RSI |
|---|---|---|---|
| t0 / 100 | Start | Geen | Geen |
| t1 / 102 | +2; 2; 0 | Verzamelen | Geen |
| t2 / 101 | −1; 0; 1 | Verzamelen | Geen |
| t3 / 104 | +3; 3; 0 | 5/3; 1/3 | 83,3333 |
| t4 / 103 | −1; 0; 1 | 10/9; 5/9 | 66,6667 |
| t5 / 103 | 0; 0; 0 | 20/27; 10/27 | 66,6667 |
| t6 / 105 | +2; 2; 0 | 94/81; 20/81 | 82,4561 |
De start deelt zowel de stijgingssom 5 als dalingssom 1 door drie, inclusief nulcomponenten. Op t4: G = (2 × 5/3)/3 = 10/9; L = (2 × 1/3 + 1)/3 = 5/9. Een los venster met veranderingen −1, +3, −1 zou daar G = 1 en L = 2/3 geven: RSI 60. Dat verschil met 66,6667 komt uit de methode, niet uit weergaveafronding.
Op t5 worden beide positieve toestanden met 2/3 vermenigvuldigd. Hun verhouding blijft gelijk: een vlakke candle reset RSI niet naar 50. Op t6 geven exacte breuken 100 × 94/114 ≈ 82,4561. Gebruik de volledige breuken of opgeslagen precisie voor de volgende stap.
Nul vraagt een versiegebonden afspraak
Bij positieve G en L = 0 geeft de positieve-totaalformule 100; bij G = 0 en positieve L geeft ze 0. Beide nul leveren 0/0 en vereisen code. De vastgelegde C-release TA-Lib 0.6.4 gebruikt een nultolerantietest en retourneert 0 bij nul of voldoende kleine totale grootte. De nu geraadpleegde main-code test exact positief totaal en gebruikt anders 50. Een veranderlijke main-link definieert dus geen permanent identieke implementatie.
Vier prijzen 100, 101, 102, 103 geven voor RSI(3) G = 1, L = 0 en 100. De omgekeerde reeks 103, 102, 101, 100 geeft G = 0, L = 1 en 0. Viermaal 100 geeft twee nullen: release 0.6.4 retourneert 0, de geraadpleegde main 50. Het officiële MQL4-codevoorbeeld waarnaar het bronartikel verwijst gebruikt eveneens de 50-conventie voor exact twee nullen; dat is geen verklaring over iedere ingebouwde MetaTrader-versie.
Bewaar bronversie en bestandshash naast resultaten. Ontbrekende prijzen, exact nul en kleine positieve toestanden zijn verschillende situaties. Vul een ontbrekende prijs niet met nul aan: daarmee maak je zelf een kunstmatige koersval.
Dezelfde 50 kan anders reageren
Begin apart met n = 3 en G = L = 1. Na k vlakke veranderingen zijn beide g = (2/3)k, terwijl RSI 50 blijft. Een volgende stijging van precies één prijseenheid geeft G′ = (2g + 1)/3 en L′ = 2g/3, dus RSI′ = 100(2g + 1)/(4g + 1). Zonder vlakke voorgeschiedenis wordt dat 60. Na zes vlakke veranderingen is g = 64/729 en wordt dezelfde stijging ongeveer 87,0051. De zichtbare verhouding bewaart de absolute toestandschaal niet.
Eigen EUR-model. Neem een andere fictieve EUR-prijsreeks met n = 3, G = L = €0,60 en een volgende stijging €0,30. Direct wordt RSI 55,5556. Na drie vlakke veranderingen zijn beide toestanden €0,177777… en wordt dezelfde €0,30 gevolgd door RSI 64,8352. De vooraf zichtbare 50 was gelijk. Dit rekent alleen toestanden door; een latere order kan nog steeds verliezen. Een afzonderlijk aangenomen koop van twintig eenheden op €50, verkoopfill €49,70 en €2 kosten verliest €8, ongeacht welk van die RSI’s vooraf werd getoond.
Interpretatie blijft een afzonderlijke keuze
70/30 en alternatieve Brown/Cardwell-zoneconventies veranderen de onderliggende berekening niet. Reguliere bullish divergentie is lager prijsdal/hoger RSI-dal; reguliere bearish is hogere prijstop/lagere RSI-top. Verborgen bullish is hoger prijsdal/lager RSI-dal, verborgen bearish lagere prijstop/hogere RSI-top. De gebruikelijke associaties ommekeer respectievelijk voortzetting zijn hypothesen, geen bewezen rangorde van winstgevendheid. Verklaar puntselectie en herkenningstijd voordat je ze test.
Zoek de eerste afwijkende stap
- Vergelijk provider, symbool, prijsbron, candlegrenzen en gesloten status, daarna U/D en G/L.
- Controleer laatste-n-venster tegenover recursie, echte opslagafronding tegenover schermopmaak en versiegebonden nulregels.
- Gebruik de definitieve Close alleen nadat de candle gesloten en ontvangen is; een intrabarwaarde is andere informatie.
Berekening, weergave en handelsproef
Bij gelijke latere veranderingen krimpt een verschil tussen twee G-startwaarden per stap met (n − 1)/n; hetzelfde geldt voor L. Het verschil tussen uiteindelijke RSI-verhoudingen hoeft niet met precies die factor te krimpen. Er is daarom geen universeel aantal opwarmcandles. Eerst reproduceer je de toestanden, daarna hun beschikbaarheidstijd en pas daarna een volledige handelsregel met kosten.
Een controleprotocol voor je eigen vergelijking
- Bewaar algoritme, periode, prijsbron, initialisatie, bronhash en nulconventie.
- Reproduceer de zeven prijzen en exacte breuken voordat je drempels optimaliseert.
- Houd ongebruikte evaluatiedata en mislukte/niet-uitgevoerde gevallen apart; vijf patronen of één maand bewijst geen voordeel.
- Vraag voor een bestaande RSI(14) ook eerdere geschiedenis of de eerdere G/L-toestand op. Een gemiddelde van alleen veertien nieuwe veranderingen is een andere start.
RSI lezen: schaal, kruisingen en gesloten candles behandelt de observatieregels; MACD-mechanica: initialisatie, afronding en tegenvoorbeelden vergelijkt andere recursies en Divergentie op RSI en MACD: component, eenheid en herkenning de keuze en timing van punten. Dat zijn afzonderlijke lessen, geen bewijs dat de handelsregel hier winstgevend is.
Test wat je hebt geleerd
Ongeveer 2 minuten oefenen.
Antwoord en uitleg bekijken
Juist: de formule krijgt 0,0045 en niet de tekst 0,00. Bewaar ook L met volledige precisie.
Andere vragen
Hoeveel prijzen starten RSI 14?
De beschreven start vraagt veertien veranderingen en dus vijftien prijzen. Veertien slotkoersen geven dertien verschillen. Een bestaand platform kan eerdere geschiedenis gebruiken; het aantal is geen optimale periode of universele opwarmgarantie.
Hoe verschilt Wilder van een gewoon gemiddelde?
Na de rekenkundige start wordt G/L bijgewerkt met factor 1/n. Een laatste-n-venster gooit oude veranderingen weg; een gewone EMA gebruikt 2/(n+1). Op t4 van de volledige reeks geven recursie en venster 66,6667 respectievelijk 60.
Maakt een vlakke candle RSI automatisch 50?
Nee: op t5 blijven twee positieve toestanden in dezelfde verhouding en blijft RSI 66,6667. Een volledig vlakke start geeft twee nullen en vraagt code: vastgelegde TA-Lib 0.6.4 geeft 0, de geraadpleegde main 50. Het genoemde MQL4-voorbeeld is eveneens een beperkte 50-conventie, geen universele MetaTrader-regel.
Kan de vorige RSI 50 de volgende waarde reproduceren?
Nee. Bij G = L = 1 en n = 3 geeft een stijging 1 de waarde 60. Na zes vlakke veranderingen zijn G = L = 64/729 en geeft dezelfde stijging circa 87,0051, terwijl vooraf nog steeds 50 stond. Bewaar beide toestanden en de algoritmeversie.
Bronnen en controle
- TradingView — Relative Strength Index
Gain/loss-formule, rma-constructie en instellingen daadwerkelijk gelezen en hergebruikt. Interpretaties en alternatieve zones certificeren geen winstgevende regel.
- TA-Lib C — ta_RSI.c, release 0.6.4
Initialisatie, Wilder-update en TA_IS_ZERO-totaaltest met output 0 gelezen. Vastgelegde release; geen native bibliotheekuitvoering geclaimd.
- TA-Lib C — ta_RSI.c, main
De geraadpleegde code gebruikt exact positief totaal en anders 50. Main is veranderlijk; dit is een beschreven versieverschil, geen permanente eigenschap van iedere release.
- MetaQuotes — RSI-codevoorbeeld voor MetaTrader 4
Officiële voorbeeldpagina geraadpleegd. De download werd als octet-stream niet door de webtool gelezen; de 50-conventie blijft hier beperkt tot het in de volledige EN-bron beschreven voorbeeld, niet alle ingebouwde platformversies.
De berekeningen gebruiken expliciete aannames. Ze vervangen geen actuele marktgegevens of voorwaarden van de aanbieder.
