명시
I would like to develop a market-monitoring and notification system that automatically analyses historical price action on a higher timeframe, identifies a specific price level according to a predefined rule, and then monitors a corresponding lower timeframe for a confirmation/breakout condition.
The system should allow multiple timeframe combinations and multiple financial instruments to be monitored simultaneously.
The initial pattern logic is based on identifying a bullish candle that is immediately followed by a bearish candle, selecting the qualifying bullish candle with the highest closing price, and then monitoring the corresponding lower timeframe for a bullish close above that level.
The system should automatically:
-
Obtain historical OHLC data.
-
Analyse the previous completed candle/day/week/month/year on the selected higher timeframe.
-
Identify the qualifying bullish → bearish pattern.
-
Determine the relevant resistance level.
-
Switch to the corresponding lower monitoring timeframe.
-
Monitor the current price action on that lower timeframe.
-
Detect when the defined breakout/confirmation condition occurs.
-
Send a notification via mobile and/or email.
-
Record the setup and alert in the dashboard/history.
The initial objective is a functional MVP, preferably using free or very low-cost data sources and infrastructure where possible.
2. Multi-Timeframe Architecture
A key requirement is that the system must support a higher timeframe (HTF) for identifying the setup and a corresponding lower timeframe (LTF) for monitoring the confirmation/breakout.
The timeframe relationship should initially be:
| Higher Timeframe | Monitoring Timeframe |
|---|---|
| Yearly | Monthly |
| Monthly | Daily |
| Weekly | H4 |
| Daily | H1 |
| H1 | M5 |
Therefore:
Yearly → Monthly
Monthly → Daily
Weekly → H4
Daily → H1
H1 → M5
The purpose is to use the higher timeframe to establish the important price level and then use the lower timeframe to identify a more precise confirmation/breakout.
3. Higher-Timeframe Setup Identification
The system should analyse the previous completed period on the selected higher timeframe.
For example:
If HTF = Daily
Analyse the previous trading day's H1 candles to establish the setup.
If HTF = H1
Analyse the previous H1 candle's M5 price action.
If HTF = Weekly
Analyse the previous week's H4 candles.
If HTF = Monthly
Analyse the previous month's Daily candles.
If HTF = Yearly
Analyse the previous year's Monthly candles.
The exact implementation should preserve the same underlying pattern logic across these timeframe combinations.
In other words, the system should use the higher timeframe as the reference period and the associated lower timeframe to analyse the price action contained within that reference period.
4. Core Pattern Logic
Within the relevant higher-timeframe period, the system must analyse the corresponding lower-timeframe candles.
A bullish candle is defined as:
Close > Open
A bearish candle is defined as:
Close < Open
The system must identify every instance where:
A bullish lower-timeframe candle is immediately followed by a bearish lower-timeframe candle.
For example, for a Daily → H1 setup:
PREVIOUS DAY — H1 09:00 Bullish 10:00 Bearish ← qualifying pair 11:00 Bullish 12:00 Bullish ← does not qualify 13:00 Bullish 14:00 Bearish ← qualifying pair
The same principle applies to all timeframe combinations.
5. Selecting the Relevant Bullish Candle
After identifying all qualifying bullish → bearish pairs within the relevant higher-timeframe period, the system must compare the closing prices of the qualifying bullish candles.
The system must select:
The qualifying bullish candle with the highest closing price.
The system should NOT select based on:
-
Highest wick/high;
-
Largest candle body;
-
Largest percentage move;
-
Most recent qualifying candle.
It must specifically select the qualifying bullish candle with the highest closing price.
6. Resistance Level
The closing price of the selected bullish candle becomes the resistance level for the subsequent monitoring period.
For example:
Daily HTF
Previous day contains several H1 bullish → bearish pairs.
The highest qualifying bullish H1 candle closes at:
24,150
Therefore:
24,150 becomes the resistance level for today's monitoring.
The system then monitors the corresponding lower timeframe according to the configured timeframe relationship.
7. Lower-Timeframe Monitoring
Once the resistance level has been established, the system monitors the corresponding lower timeframe.
The monitoring timeframe depends on the selected higher timeframe:
| Setup Timeframe | Confirmation Timeframe |
|---|---|
| Yearly | Monthly |
| Monthly | Daily |
| Weekly | H4 |
| Daily | H1 |
| H1 | M5 |
The system waits for a bullish candle on the monitoring timeframe to close above the resistance level.
The breakout condition is:
Monitoring candle Close > Monitoring candle Open
AND
Monitoring candle Close > Resistance Level
If both conditions are satisfied:
TRIGGER ALERT.
8. Example — Daily → H1
Suppose the selected higher timeframe is Daily.
The system analyses the previous trading day's H1 candles.
It finds:
09:00 Bullish → 10:00 Bearish 13:00 Bullish → 14:00 Bearish 15:00 Bullish → 16:00 Bearish
The qualifying bullish candle closing prices are:
24,050 24,100 24,150
Therefore:
Resistance = 24,150
The system then monitors today's H1 candles.
09:00 H1 Open: 24,100 Close: 24,120 → Bullish but below resistance → No alert 10:00 H1 Open: 24,120 Close: 24,140 → Bullish but below resistance → No alert 11:00 H1 Open: 24,140 Close: 24,185 → Bullish → Close above 24,150 → ALERT
9. Example — Weekly → H4
If the selected higher timeframe is Weekly:
-
Take the previous completed trading week.
-
Analyse its H4 candles.
-
Identify bullish H4 candles immediately followed by bearish H4 candles.
-
Find the qualifying bullish H4 candle with the highest closing price.
-
Use that closing price as the resistance level.
-
During the current week, monitor H4 candles.
-
Alert when an H4 bullish candle closes above that level.
10. Example — Monthly → Daily
If the selected higher timeframe is Monthly:
-
Take the previous completed month.
-
Analyse its Daily candles.
-
Identify bullish Daily candles immediately followed by bearish Daily candles.
-
Find the qualifying bullish Daily candle with the highest closing price.
-
Use that closing price as the resistance level.
-
During the current month, monitor Daily candles.
-
Alert when a Daily bullish candle closes above that level.
11. Example — Yearly → Monthly
If the selected higher timeframe is Yearly:
-
Take the previous completed year.
-
Analyse its Monthly candles.
-
Identify bullish Monthly candles immediately followed by bearish Monthly candles.
-
Find the qualifying bullish Monthly candle with the highest closing price.
-
Use that closing price as the resistance level.
-
During the current year, monitor Monthly candles.
-
Alert when a Monthly bullish candle closes above that level.
12. Timeframe Configuration
The timeframe relationships should ideally be configurable rather than hard-coded.
The initial default mapping should be:
Yearly → Monthly Monthly → Daily Weekly → H4 Daily → H1 H1 → M5
I would like the architecture to allow additional timeframe relationships to be added later.
13. Multiple Instruments + Multiple Timeframes
The system should be capable of monitoring multiple instruments and multiple timeframe combinations simultaneously.
For example:
| Instrument | HTF | Monitoring TF | Status |
|---|---|---|---|
| NAS100 | Daily | H1 | Watching |
| XAUUSD | Daily | H1 | Triggered |
| EURUSD | H1 | M5 | Watching |
| BTCUSD | Weekly | H4 | Watching |
| US30 | Monthly | Daily | Watching |
Each instrument/timeframe combination should operate independently.
14. Dashboard
The remotely accessible dashboard should display the active setups.
Ideally:
| Instrument | HTF | Monitor TF | Resistance | Status |
|---|---|---|---|---|
| NAS100 | Daily | H1 | 24,150 | 🟢 Watching |
| XAUUSD | Daily | H1 | 3,742 | 🔴 Triggered |
| BTCUSD | Weekly | H4 | 112,500 | 🟢 Watching |
The dashboard should ideally allow me to:
-
Add/remove instruments;
-
Select the higher timeframe;
-
See the automatically selected monitoring timeframe;
-
View the resistance level;
-
See the qualifying source candle;
-
See when the setup was created;
-
See whether the alert has triggered;
-
View previous alerts;
-
Enable/disable alerts.
15. Remote Access
The dashboard should preferably be cloud-hosted and accessible remotely via a web browser.
I do not want the system to depend on my personal computer being switched on.
Ideally:
-
Accessible from desktop;
-
Accessible from mobile browser;
-
Secure login;
-
Data stored remotely;
-
Monitoring continues 24/7 without my computer being online;
-
Dashboard updates automatically;
-
Mobile-friendly interface;
-
Potentially installable as a PWA/home-screen web app in the future.
16. Alert Logic
The alert should only trigger when the monitoring-timeframe candle has fully closed.
It should NOT trigger merely because price trades above the resistance intrabar.
For example:
Resistance = 108.
Monitoring candle:
-
Open = 105
-
High = 110
-
Close = 107
No alert.
Even though price traded above 108, the candle closed below the resistance.
Instead:
-
Open = 105
-
High = 110
-
Close = 109
Alert.
Because:
Close > Open
and
Close > Resistance
17. Duplicate Alerts
By default, there should be one initial breakout alert per instrument/timeframe setup.
Once the setup has triggered:
Resistance = 108 Candle 1 closes 109 → ALERT Candle 2 closes 111 → No second alert Candle 3 closes 115 → No second alert
This should ideally be configurable in the future.
18. Alert Message
A notification should contain enough information to understand the setup without opening the dashboard.
For example:
H1 BREAKOUT ALERT — NAS100
HTF: Daily
Monitoring TF: H1
Previous-day resistance: 24,150
Breakout candle: 11:00 H1
Open: 24,140
Close: 24,185
Status: Bullish close above resistance
For a different timeframe:
H4 BREAKOUT ALERT — BTCUSD
HTF: Weekly
Monitoring TF: H4
Previous-week resistance: 112,500
Breakout candle: 12:00 H4
Close: 113,100
19. Future Expansion
The architecture should ideally allow additional pattern rules to be added later.
For example:
-
Bearish equivalent of the current setup;
-
Support identification;
-
Previous-day high/low;
-
Previous-week high/low;
-
Daily pivots;
-
Asia session levels;
-
London session levels;
-
Multiple candle patterns;
-
Different confirmation conditions;
-
Additional timeframe combinations;
-
Multiple rules running simultaneously.
The current bullish → bearish → highest qualifying close → lower-timeframe bullish breakout rule should therefore be treated as Rule #1.
The ultimate objective is to create a general market-condition alert engine rather than a single-purpose indicator.
20. Core Logic — Developer Summary
The system should operate according to the following general framework:
Step 1 — Select HTF
User selects:
-
Yearly
-
Monthly
-
Weekly
-
Daily
-
H1
Step 2 — Automatically select monitoring timeframe
Yearly → Monthly Monthly → Daily Weekly → H4 Daily → H1 H1 → M5
Step 3 — Analyse the previous completed HTF period
Within that period, analyse the associated lower timeframe candles.
Step 4 — Identify qualifying candle pairs
Find every:
Bullish candle ( C > O )
immediately followed by:
Bearish candle ( C < O )
Step 5 — Select the highest closing bullish candle
Compare the Close of every qualifying bullish candle.
Select the one with the highest Close.
Step 6 — Establish resistance
The selected bullish candle's Close = Resistance Level.
Step 7 — Monitor the current period
Watch the corresponding lower timeframe.
Step 8 — Detect confirmation
Trigger when:
Current monitoring candle Close > Current monitoring candle Open
AND
Current monitoring candle Close > Resistance
Step 9 — Notify
Send mobile/email notification.
Step 10 — Record
Store the setup and alert in the database/dashboard for future analysis.
21. MVP Requirement
For the MVP, I would like the developer to focus on getting the following working reliably:
Multiple instruments + multiple HTF/LTF combinations + automatic previous-period analysis + resistance identification + lower-timeframe breakout detection + notification + remotely accessible dashboard.
The initial timeframe mapping is:
Yearly → Monthly
Monthly → Daily
Weekly → H4
Daily → H1
H1 → M5
The system should be designed so that additional rules, instruments and timeframe combinations can be added later without having to rebuild the entire application.