Buy signal β triggered when the price has been below both the 20-day and 50-day moving averages for 5 or more consecutive trading days. Sell signal β triggered when both RSI(15) and Stochastic %K(15) have each exceeded their 95th percentile (200-day rolling) within the last 15 trading days, AND the current price is above both MA20 and MA50. Price guidance (Buy) β π΅ below both MA3+MA5 = ideal entry Β· π’ between = ok Β· π above both = wait. (Sell) β π΅ above both MA3+MA5 = ideal exit Β· π΄ between = ok Β· π below both = wait.
ETF
Last Price
Buy Condition
RSI (15d) / 95p
Stochastic %K / 95p
Signal
Price Guidance (MA3 & MA5)
Last 10d
Last Trade
Buy signal β triggered when today's close breaks below the lowest close of the previous 8 trading days (Donchian breakout down β momentum continuation for leveraged instruments). Sell signal β triggered when today's close breaks above the highest close of the previous 9 trading days.
History is sourced from Google Sheets DailyPrices. ETFs marked β are not yet in Sheets β run backfillAllHistory() in Apps Script to import them.
ETF
ISIN
Last Price
Low 8d
High 9d
Signal
Days since signal
Last 10d
Last Trade
Add transaction
Google Sheets backup
Requires SHEETS_URL set in app.js Β· Monthly auto-capture runs via Apps Script trigger
Date
Type
ISIN
ETF Name
Units
Price
Value (β¬)
Fees (β¬)
Broker CCY
Realised (β¬)
Realised %
Add short transaction
Google Sheets backup
Run once to seed TransactionsShort sheet Β· future adds go there automatically
Date
Type
ISIN
ETF Name
Units
Price
Value (β¬)
Fees (β¬)
Broker CCY
Realised (β¬)
Realised %
Shows the last 30 daily closes with MA20, MA50, Stochastic %K(15) and RSI(15) for any ETF. The %K 95p and RSI 95p columns show the 95th-percentile threshold (200-day rolling) β values highlighted in red are breaching the threshold. Performance figures show price change over the last 1, 3 and 5 years using available daily data.