Middle East tensions cooling, oil supply returning — short the oil bounce
Created
Thesis
The fear premium that kept oil prices inflated is rapidly draining out of the market. A fragile ceasefire is calming traders' nerves, and major producers like Kuwait are stepping up to sell more oil to the world. When supply increases and the immediate threat of supply disruptions fade, prices naturally tend to fall back down. This creates a compelling environment to bet against oil prices in the short term, as the market adjusts to the reality of resumed healthy supply chains.
Strategy approach
Build a mean-reversion strategy that initiates a short position on USO (United States Oil Fund) on a daily (1D) timeframe. Entry condition: Price closes below the 20-day Simple Moving Average (SMA) and RSI(14) is below 50. Exit condition: RSI(14) drops below 30 (oversold), or a 5% take-profit is hit, or a 2.5% hard stop-loss is triggered. Max hold period: 15 trading days.
Markets and timeframes
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: SMA/RSI Signal Long (USO@1d) (4 conditions)
- Entry: SMA/RSI Signal Long (XLE@1d) (4 conditions)
- Entry: SMA/RSI Signal Long (USO@1d) (2 conditions)
- Entry: SMA/RSI Signal Long (XLE@1d) (2 conditions)
- Entry: Long Entry Signal (USO@1d) (2 conditions)
- Entry: Long Entry Signal (XLE@1d) (2 conditions)
- Exit: Oversold RSI Exit (USO@1d) (1 condition)
- Exit: Oversold RSI Exit (XLE@1d) (1 condition)
- Exit: TP: Fib Extension 127.2% (USO@1d) (1 condition)
- Exit: TP: Fib Extension 127.2% (XLE@1d) (1 condition)
- Exit: TP: Near Resistance[1] (USO@1d) (1 condition)
- Exit: TP: Near Resistance[1] (XLE@1d) (1 condition)
Shared strategy rules
Rule configuration
{
"data_dependencies": [
{
"symbol": "USO",
"timeframe": "1d"
},
{
"symbol": "XLE",
"timeframe": "1d"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 50
}
},
{
"left": {
"field": "high",
"type": "price"
},
"operator": "greater_than_or_equal",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_uso",
"name": "SMA/RSI Signal Long (USO@1d)",
"priority": 1,
"trade_symbol": "USO"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 50
}
},
{
"left": {
"field": "high",
"type": "price"
},
"operator": "greater_than_or_equal",
"right": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_xle",
"name": "SMA/RSI Signal Long (XLE@1d)",
"priority": 2,
"trade_symbol": "XLE"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 50
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_2_uso",
"name": "SMA/RSI Signal Long (USO@1d)",
"priority": 2,
"trade_symbol": "USO"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 50
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_2_xle",
"name": "SMA/RSI Signal Long (XLE@1d)",
"priority": 3,
"trade_symbol": "XLE"
},
{
"conditions": [
{
"left": {
"field": "high",
"type": "price"
},
"operator": "greater_than_or_equal",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_3_uso",
"name": "Long Entry Signal (USO@1d)",
"priority": 2,
"trade_symbol": "USO"
},
{
"conditions": [
{
"left": {
"field": "high",
"type": "price"
},
"operator": "greater_than_or_equal",
"right": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_3_xle",
"name": "Long Entry Signal (XLE@1d)",
"priority": 3,
"trade_symbol": "XLE"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 30
}
}
],
"enabled": true,
"id": "exit_1_uso",
"name": "Oversold RSI Exit (USO@1d)",
"priority": 1,
"purpose": "signal",
"target_symbol": "USO"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 30
}
}
],
"enabled": true,
"id": "exit_1_xle",
"name": "Oversold RSI Exit (XLE@1d)",
"priority": 2,
"purpose": "signal",
"target_symbol": "XLE"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than_or_equal",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2_uso",
"name": "TP: Fib Extension 127.2% (USO@1d)",
"priority": 96,
"purpose": "take_profit",
"target_symbol": "USO"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than_or_equal",
"right": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2_xle",
"name": "TP: Fib Extension 127.2% (XLE@1d)",
"priority": 97,
"purpose": "take_profit",
"target_symbol": "XLE"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"rank": 1,
"type": "resistance_level"
}
}
],
"enabled": true,
"id": "exit_3_uso",
"name": "TP: Near Resistance[1] (USO@1d)",
"priority": 100,
"purpose": "stop_loss",
"target_symbol": "USO"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"rank": 1,
"type": "resistance_level"
}
}
],
"enabled": true,
"id": "exit_3_xle",
"name": "TP: Near Resistance[1] (XLE@1d)",
"priority": 101,
"purpose": "stop_loss",
"target_symbol": "XLE"
}
],
"position_sizing": {
"max_position_percent": 25,
"method": {
"fib_stop_ratio": 382,
"risk_percent": 2,
"type": "fixed_risk"
},
"min_position_value": 100
},
"trigger_timeframe": "1d",
"version": 1
}Indicator configuration
{
"indicators": [
{
"name": "sma",
"period": 20
},
{
"name": "rsi",
"period": 14
},
{
"name": "sma",
"period": 20
},
{
"name": "rsi",
"period": 14
}
]
}Parsed strategy
{
"data_dependencies": [
{
"symbol": "USO",
"timeframe": "1d"
},
{
"symbol": "XLE",
"timeframe": "1d"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 50
}
},
{
"left": {
"field": "high",
"type": "price"
},
"operator": "greater_than_or_equal",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_uso",
"name": "SMA/RSI Signal Long (USO@1d)",
"priority": 1,
"trade_symbol": "USO"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 50
}
},
{
"left": {
"field": "high",
"type": "price"
},
"operator": "greater_than_or_equal",
"right": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_xle",
"name": "SMA/RSI Signal Long (XLE@1d)",
"priority": 2,
"trade_symbol": "XLE"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 50
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_2_uso",
"name": "SMA/RSI Signal Long (USO@1d)",
"priority": 2,
"trade_symbol": "USO"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"indicator": {
"name": "sma",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 50
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_2_xle",
"name": "SMA/RSI Signal Long (XLE@1d)",
"priority": 3,
"trade_symbol": "XLE"
},
{
"conditions": [
{
"left": {
"field": "high",
"type": "price"
},
"operator": "greater_than_or_equal",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_3_uso",
"name": "Long Entry Signal (USO@1d)",
"priority": 2,
"trade_symbol": "USO"
},
{
"conditions": [
{
"left": {
"field": "high",
"type": "price"
},
"operator": "greater_than_or_equal",
"right": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"ratio": 618,
"type": "fibonacci_retracement"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_3_xle",
"name": "Long Entry Signal (XLE@1d)",
"priority": 3,
"trade_symbol": "XLE"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 30
}
}
],
"enabled": true,
"id": "exit_1_uso",
"name": "Oversold RSI Exit (USO@1d)",
"priority": 1,
"purpose": "signal",
"target_symbol": "USO"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 30
}
}
],
"enabled": true,
"id": "exit_1_xle",
"name": "Oversold RSI Exit (XLE@1d)",
"priority": 2,
"purpose": "signal",
"target_symbol": "XLE"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than_or_equal",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2_uso",
"name": "TP: Fib Extension 127.2% (USO@1d)",
"priority": 96,
"purpose": "take_profit",
"target_symbol": "USO"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than_or_equal",
"right": {
"chart_ref": {
"symbol": "XLE",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2_xle",
"name": "TP: Fib Extension 127.2% (XLE@1d)",
"priority": 97,
"purpose": "take_profit",
"target_symbol": "XLE"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"rank": 1,
"type": "resistance_level"
}
}
],
"enabled": true,
"id": "exit_3_uso",
"name": "TP: Near Resistance[1] (USO@1d)",
"priority": 100,
"purpose": "stop_loss",
"target_symbol": "USO"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"rank": 1,
"type": "resistance_level"
}
}
],
"enabled": true,
"id": "exit_3_xle",
"name": "TP: Near Resistance[1] (XLE@1d)",
"priority": 101,
"purpose": "stop_loss",
"target_symbol": "XLE"
}
],
"position_sizing": {
"max_position_percent": 25,
"method": {
"fib_stop_ratio": 382,
"risk_percent": 2,
"type": "fixed_risk"
},
"min_position_value": 100
},
"trigger_timeframe": "1d",
"version": 1
}Strategy instructions
Trading agent generated from recommendation idea 'Middle East tensions cooling, oil supply returning — short the oil bounce'. Thesis: The fear premium that kept oil prices inflated is rapidly draining out of the market. A fragile ceasefire is calming traders' nerves, and major producers like Kuwait are stepping up to sell more oil to the world. When supply increases and the immediate threat of supply disruptions fade, prices naturally tend to fall back down. This creates a compelling environment to bet against oil prices in the short term, as the market adjusts to the reality of resumed healthy supply chains.
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 thesis and strategy approach describe a market view. They do not show whether an entry or exit condition is currently met.
- 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