Bli medlem idag
Indikatorer/probuilder · probacktest · proorder · proscreener

MoneyFlowIndex

MoneyFlowIndex i ProBuilder returnerar den volymviktade RSI:n, en oscillator från 0 till 100 för köp- och säljtryck. Syntax, formel och genomgångna exempel.

Syntax

probuilder
MoneyFlowIndex[N]

Parametrar

NamnTypStandardBeskrivning
NheltalingenLookback-period i barer över vilken positiva och negativa money flows summeras. Den vanligaste inställningen är 14.

Formel

kod
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))

En bars money flow räknas som positivt när dess typiska pris överstiger föregående bars typiska pris, och som negativt när det är lägre. Det sista steget mappar kvoten till det fasta intervallet 0 till 100.

Så fungerar det

Money Flow Index tillämpar RSI-transformationen på volymviktade prisförändringar i stället för på råa prisförändringar. Varje bars typiska pris multipliceras med dess volym, vilket ger ett money flow-tal som representerar det värde som handlats på den nivån. Barer där det typiska priset steg bidrar till den positiva poolen, barer där det föll bidrar till den negativa poolen.

Under de senaste N barer visar kvoten mellan dessa två pooler vilken sida som satsade mest handlat värde. Den RSI-liknande formeln komprimerar sedan den kvoten till en begränsad oscillator: kraftiga köp driver indexet mot 100, kraftiga försäljningar mot 0.

Volymviktningen är den praktiska skillnaden mot RSI. En stor prisrörelse på tunn volym rör MFI:n mycket mindre än samma rörelse på hög volym, så MFI och RSI kan skilja sig åt, och de skillnaderna används i sig som signaler om övertygelsen bakom en rörelse.

Exempel

Exempel 1, Enkel plot av Money Flow Index (Indikator)

probuilder
// 14-bar Money Flow Index with reference levels
mfiValue = MoneyFlowIndex[14]
RETURN mfiValue AS "MFI", 80 AS "Overbought", 20 AS "Oversold"

Ritar standardvarianten av MFI över 14 barer tillsammans med horisontella linjer vid de konventionella tröskelvärdena 80 och 20.

Exempel 2, Screener för översålt med volymbekräftelse (ProScreener)

probuilder
// Oversold instruments that still trade meaningful volume
mfi = MoneyFlowIndex[14]
active = volume > average[20](volume)
SCREENER[mfi < 20 AND active](mfi AS "MFI 14")

Returnerar instrument med ett MFI under 20 där den aktuella volymen överstiger sitt 20-bars medelvärde, vilket filtrerar bort illikvida namn vars värden är mindre tillförlitliga.

Exempel 3, Mean reversion med en MFI-trigger (ProBacktest)

probuilder
// 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
ENDIF

En pullback-mall. Medelvärdet över 200 barer begränsar entries till upptrender, MFI under 20 markerar den volymbekräftade utförsäljningen, och positionen stängs när indexet återhämtar sig över 60.

Tolkning

ZonRangeAvläsning
ÖversåldMFI < 20Säljandet har dominerat det handlade värdet. Föregår ofta en rekyl uppåt, men kan hålla i sig i nedtrender.
Neutral20 till 80Inget extremvärde i det volymviktade trycket.
ÖverköptMFI > 80Köpandet har dominerat det handlade värdet. Kan hålla i sig i starka upptrender.

Divergenser. Att priset sätter nya toppar medan MFI sätter lägre toppar tyder på att uppgången drar till sig mindre handlat värde, ett varningstecken. Den hausseartade motsvarigheten gäller vid bottnar. Som med alla oscillatorer identifierar divergens ett avtagande tryck, inte timing.

Vanliga fel och fallgropar

  • Fel typ av parentes. MoneyFlowIndex(14) kompilerar inte. Perioden anges inom hakparenteser: MoneyFlowIndex[14]. Instruktionen tar inget prisargument, den använder alltid typiskt pris.
  • Volym krävs. På instrument utan verklig volymdata är indexet inte meningsfullt, även om koden körs utan fel.
  • Fastnar vid extremvärden på korta fönster. Om varje bar i fönstret rörde sig i samma riktning är den ena flödespoolen noll och indexet fastnar på 100 eller 0. Mycket små N värden gör detta vanligt.
  • Inte utbytbar mot RSI. De två avviker ofta från varandra eftersom MFI viktar med volym. Tröskelvärden och signallogik som är intrimmade på RSI bör valideras om innan de tillämpas på MFI.
  • RSI, den rent prisbaserade oscillator som denna indikator utökar med volym.
  • MoneyFlow, ett begränsat tryckmått från -1 till 1 ur samma familj.
  • OBV, kumulativ volym med tecken, ett obegränsat alternativ.
  • Volume, den råa volymen per bar som används i beräkningen av money flow.
  • TypicalPrice, konstanten (high + low + close) / 3 i formelns kärna.
  • AccumDistr, ackumulations- och distributionslinjen.
  • ChaikinOsc, oscillator byggd på ackumulations- och distributionslinjen.
  • Stochastic, en annan begränsad oscillator med jämförbar tröskellogik.