MoneyFlowIndex
MoneyFlowIndex in ProBuilder geeft de volumegewogen RSI terug, een oscillator van 0 tot 100 voor koop- en verkoopdruk. Syntaxis, formule en uitgewerkte voorbeelden.
Syntaxis
MoneyFlowIndex[N]Parameters
| Naam | Type | Standaard | Beschrijving |
|---|---|---|---|
N | geheel getal | geen | Lookbackperiode in bars waarover positieve en negatieve money flows worden opgeteld. De meest gebruikte instelling is 14. |
Formule
TypicalPrice = (high + low + close) / 3
MoneyFlow = TypicalPrice * volume
MR = Sum of positive MoneyFlow over N bars / Sum of negative MoneyFlow over N bars
MFI = 100 - (100 / (1 + MR))De money flow van een bar geldt als positief wanneer de typische prijs hoger is dan de typische prijs van de vorige bar, en als negatief wanneer die lager is. De laatste stap zet de verhouding om naar het vaste bereik van 0 tot 100.
Hoe het werkt
De Money Flow Index past de RSI-transformatie toe op volumegewogen prijsveranderingen in plaats van op ruwe prijsveranderingen. De typische prijs van elke bar wordt vermenigvuldigd met het volume, wat een money flow-cijfer oplevert dat de op dat niveau verhandelde waarde weergeeft. Bars waarop de typische prijs steeg dragen bij aan de positieve pool, bars waarop die daalde dragen bij aan de negatieve pool.
Over de laatste N bars laat de verhouding tussen deze twee groepen zien welke kant meer verhandelde waarde inzette. De formule in RSI-stijl perst die verhouding vervolgens in een begrensde oscillator: zwaar kopen duwt de index naar 100, zwaar verkopen naar 0.
De volumeweging is het praktische verschil met RSI. Een grote prijsbeweging bij dun volume beweegt de MFI veel minder dan dezelfde beweging bij zwaar volume, dus MFI en RSI kunnen van elkaar afwijken, en die verschillen worden zelf gebruikt als signaal over de overtuiging achter een beweging.
Voorbeelden
Voorbeeld 1, Basisplot van de Money Flow Index (Indicator)
// 14-bar Money Flow Index with reference levels
mfiValue = MoneyFlowIndex[14]
RETURN mfiValue AS "MFI", 80 AS "Overbought", 20 AS "Oversold"Plot de standaard-MFI over 14 bars samen met horizontale lijnen op de gebruikelijke drempels 80 en 20.
Voorbeeld 2, Oversold-screener met volumebevestiging (ProScreener)
// Oversold instruments that still trade meaningful volume
mfi = MoneyFlowIndex[14]
active = volume > average[20](volume)
SCREENER[mfi < 20 AND active](mfi AS "MFI 14")Geeft instrumenten terug met een MFI onder 20 waarbij het huidige volume boven het gemiddelde over 20 bars ligt, zodat illiquide namen met minder betrouwbare waarden eruit worden gefilterd.
Voorbeeld 3, Mean reversion met een MFI-trigger (ProBacktest)
// Buy oversold readings in an uptrend, exit when pressure normalises
trend = Average[200](close)
mfi = MoneyFlowIndex[14]
IF NOT OnMarket AND close > trend AND mfi < 20 THEN
BUY 1 CONTRACT AT MARKET
ENDIF
IF LongOnMarket AND mfi > 60 THEN
SELL AT MARKET
ENDIFEen pullback-sjabloon. Het gemiddelde over 200 bars beperkt instappen tot opwaartse trends, een MFI onder 20 markeert de door volume bevestigde uitverkoop, en de positie stapt uit zodra de index herstelt tot boven 60.
Interpretatie
| Zone | Range | Stand |
|---|---|---|
| Oververkocht | MFI < 20 | Verkopen heeft de verhandelde waarde gedomineerd. Gaat vaak aan een opveer vooraf, maar kan in neerwaartse trends aanhouden. |
| Neutraal | 20 tot 80 | Geen extreem in de volumegewogen druk. |
| Overgekocht | MFI > 80 | Kopen heeft de verhandelde waarde gedomineerd. Kan in sterke opwaartse trends aanhouden. |
Divergenties. Een prijs die nieuwe highs maakt terwijl MFI lagere highs maakt, suggereert dat de opmars minder verhandelde waarde aantrekt, een waarschuwingssignaal. Het bullish spiegelbeeld geldt bij lows. Zoals bij alle oscillatoren identificeert divergentie afnemende druk, niet de timing.
Veelvoorkomende fouten en valkuilen
- Verkeerd type haakjes.
MoneyFlowIndex(14)compileert niet. De periode hoort tussen vierkante haken:MoneyFlowIndex[14]. De instructie neemt geen prijsargument, hij gebruikt altijd de typische prijs. - Volume vereist. Op instrumenten zonder echte volumedata is de index niet zinvol, ook al loopt de code zonder fouten.
- Blijft bij korte vensters aan de extremen hangen. Als elke bar in het venster dezelfde richting op ging, is een van de flowpools nul en blijft de index vastzitten op 100 of 0. Zeer kleine
Nwaarden maken dit gebruikelijk. - Niet uitwisselbaar met RSI. De twee lopen vaak uiteen omdat MFI naar volume weegt. Drempels en signaallogica die op RSI zijn afgestemd, moeten opnieuw worden gevalideerd voordat ze op MFI worden toegepast.
Gerelateerde instructies
RSI, de oscillator op alleen prijs die deze indicator uitbreidt met volume.MoneyFlow, een begrensde drukmeter van -1 tot 1 uit dezelfde familie.OBV, cumulatief volume met teken, een onbegrensd alternatief.Volume, het ruwe volume per bar dat in de money flow-berekening wordt gebruikt.TypicalPrice, de constante (high + low + close) / 3 die de kern van de formule vormt.AccumDistr, accumulation and distribution-lijn.ChaikinOsc, oscillator gebouwd op de accumulatie- en distributielijn.Stochastic, nog een begrensde oscillator met vergelijkbare drempellogica.