AI chip demand isn't slowing — ride the momentum on Nvidia and ASML
Created
Thesis
Nvidia's CEO is publicly forecasting huge sales volumes for their next product, showing end-user demand isn't slowing down. At the same time, ASML—the company that makes the machines physically required to print these advanced chips—is raising its own forecasts because of unrelenting AI demand. When the top chip designer and the top equipment maker both confirm booming business, it validates a momentum trade on the entire hardware side of the AI boom.
Strategy approach
Build a rule-based strategy that enters long NVDA and ASML on D1 when both symbols close above their 20-day high. Exit if either symbol closes below its 10-day low. Use a 10% trailing stop and a 30-day max hold period.
Markets and timeframes
Latest published rule evaluation
Evaluated . This is a dated rule snapshot, not a live price or trade execution confirmation.
ASML · 1d
4 of 5 published entry conditions marked met.
- RSI (14) above 50 — met
- RSI (14) above 50 — met
- Price crossed above EMA (20) — near
- Price above SMA (20) — met
- Price above SMA (20) — met
- Price below Donchian (10) — near
- RSI (14) at or above 75 — far
NVDA · 1d
4 of 6 published entry conditions marked met.
- RSI (14) above 50 — met
- RSI (14) above 50 — met
- Price crossed above EMA (20) — near
- Price crossed above EMA (20) — near
- Price above SMA (20) — met
- Price above SMA (20) — met
- Price below Donchian (10) — near
- RSI (14) at or above 75 — far
Entry and exit at a glance
These are the named rules in the shared configuration. Review the full conditions below before using a strategy.
- Entry: Pullback to 20-EMA Long (NVDA@1d) (6 conditions)
- Entry: Pullback to 20-EMA Long (ASML@1d) (5 conditions)
- Exit: SL: Below 10-Day Low (NVDA@1d) (1 condition)
- Exit: SL: Below 10-Day Low (ASML@1d) (1 condition)
- Exit: TP: RSI Extension ≥75 (NVDA@1d) (1 condition)
- Exit: TP: RSI Extension ≥75 (ASML@1d) (1 condition)
- Exit: 10% Trailing Stop (1 condition)
- Exit: Time Stop: 60-Day Max Hold (1 condition)
Shared strategy rules
Rule configuration
{
"data_dependencies": [
{
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
{
"symbol": "STOCK:ASML",
"timeframe": "1d"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 50
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 50
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_nvda",
"name": "Pullback to 20-EMA Long (NVDA@1d)",
"priority": 1,
"trade_symbol": "STOCK:NVDA"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 50
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 50
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_asml",
"name": "Pullback to 20-EMA Long (ASML@1d)",
"priority": 2,
"trade_symbol": "STOCK:ASML"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"field": "lower",
"indicator": {
"name": "donchian",
"period": 10
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_nvda",
"name": "SL: Below 10-Day Low (NVDA@1d)",
"priority": 1,
"purpose": "stop_loss",
"target_symbol": "STOCK:NVDA"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"field": "lower",
"indicator": {
"name": "donchian",
"period": 10
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_asml",
"name": "SL: Below 10-Day Low (ASML@1d)",
"priority": 2,
"purpose": "stop_loss",
"target_symbol": "STOCK:ASML"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 75
}
}
],
"enabled": true,
"id": "exit_2_nvda",
"name": "TP: RSI Extension ≥75 (NVDA@1d)",
"priority": 96,
"purpose": "take_profit",
"target_symbol": "STOCK:NVDA"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 75
}
}
],
"enabled": true,
"id": "exit_2_asml",
"name": "TP: RSI Extension ≥75 (ASML@1d)",
"priority": 97,
"purpose": "take_profit",
"target_symbol": "STOCK:ASML"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "less_than_or_equal",
"right": {
"type": "constant",
"value": -10
}
}
],
"enabled": true,
"id": "exit_3",
"name": "10% Trailing Stop",
"priority": 100,
"purpose": "stop_loss"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "holding_period_bars",
"type": "position"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 60
}
}
],
"enabled": true,
"id": "exit_4",
"name": "Time Stop: 60-Day Max Hold",
"priority": 99,
"purpose": "signal"
}
],
"position_sizing": {
"max_position_percent": 25,
"method": {
"risk_percent": 2,
"type": "fixed_risk"
},
"min_position_value": 100
},
"trigger_timeframe": "1d",
"version": 1
}Indicator configuration
{
"indicators": [
{
"name": "donchian",
"period": 20
},
{
"name": "ema",
"period": 21
},
{
"name": "rsi",
"period": 14
},
{
"name": "adx",
"period": 14
},
{
"name": "donchian",
"period": 20
},
{
"name": "ema",
"period": 21
},
{
"name": "rsi",
"period": 14
},
{
"name": "adx",
"period": 14
}
]
}Parsed strategy
{
"data_dependencies": [
{
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
{
"symbol": "STOCK:ASML",
"timeframe": "1d"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 50
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 50
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_nvda",
"name": "Pullback to 20-EMA Long (NVDA@1d)",
"priority": 1,
"trade_symbol": "STOCK:NVDA"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 50
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 50
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_asml",
"name": "Pullback to 20-EMA Long (ASML@1d)",
"priority": 2,
"trade_symbol": "STOCK:ASML"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"field": "lower",
"indicator": {
"name": "donchian",
"period": 10
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_nvda",
"name": "SL: Below 10-Day Low (NVDA@1d)",
"priority": 1,
"purpose": "stop_loss",
"target_symbol": "STOCK:NVDA"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"field": "lower",
"indicator": {
"name": "donchian",
"period": 10
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_asml",
"name": "SL: Below 10-Day Low (ASML@1d)",
"priority": 2,
"purpose": "stop_loss",
"target_symbol": "STOCK:ASML"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:NVDA",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 75
}
}
],
"enabled": true,
"id": "exit_2_nvda",
"name": "TP: RSI Extension ≥75 (NVDA@1d)",
"priority": 96,
"purpose": "take_profit",
"target_symbol": "STOCK:NVDA"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "STOCK:ASML",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 75
}
}
],
"enabled": true,
"id": "exit_2_asml",
"name": "TP: RSI Extension ≥75 (ASML@1d)",
"priority": 97,
"purpose": "take_profit",
"target_symbol": "STOCK:ASML"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "less_than_or_equal",
"right": {
"type": "constant",
"value": -10
}
}
],
"enabled": true,
"id": "exit_3",
"name": "10% Trailing Stop",
"priority": 100,
"purpose": "stop_loss"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "holding_period_bars",
"type": "position"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 60
}
}
],
"enabled": true,
"id": "exit_4",
"name": "Time Stop: 60-Day Max Hold",
"priority": 99,
"purpose": "signal"
}
],
"position_sizing": {
"max_position_percent": 25,
"method": {
"risk_percent": 2,
"type": "fixed_risk"
},
"min_position_value": 100
},
"trigger_timeframe": "1d",
"version": 1
}Strategy instructions
Trading agent generated from recommendation idea 'AI chip demand isn't slowing — ride the momentum on Nvidia and ASML'. Thesis: Nvidia's CEO is publicly forecasting huge sales volumes for their next product, showing end-user demand isn't slowing down. At the same time, ASML—the company that makes the machines physically required to print these advanced chips—is raising its own forecasts because of unrelenting AI demand. When the top chip designer and the top equipment maker both confirm booming business, it validates a momentum trade on the entire hardware side of the AI boom.
Performance
No trade count, win rate, or realized P&L figures are provided in this public preview. The thesis and shared rules do not establish a performance record.
What this public preview can establish
- The dated rule snapshot above shows the conditions evaluated at that time. It does not prove a current trigger or executed trade.
- Technical strategy fields are shared above. Inspect the actual conditions and check when they were evaluated before relying on them.
- No trade count, win rate, or P&L figure is published in this preview. It cannot establish a performance record.
Explore
How CommonQuant researches and tests strategies · Public paper-trading record and its limits · Discover public strategies