Peace breaks out, oil tanks — short the energy patch as crude slides
Created
Thesis
Geopolitical risk was the main reason oil prices had a floor of support over the last few months. With the shipping lane reopening and the conflict halting, that risk premium is rapidly draining from the price. Energy stocks and oil ETFs are likely to continue sliding lower as supply fears fade, making this a clear opportunity to bet against the energy sector in the short term.
Strategy approach
Build a rule-based momentum strategy on USO (or CL=F) on the 4-hour timeframe. Enter short when price breaks and closes below the 20-period EMA, RSI(14) < 45, and trading volume is above its 20-period average. Exit the trade entirely if the price closes back above the 50-period EMA. Use a 5% hard stop loss.
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: EMA/RSI/OBV Signal Long (USO@4h) (3 conditions)
- Entry: EMA/RSI/OBV Signal Long (XOM@4h) (3 conditions)
- Entry: EMA/RSI/OBV Signal Long (CVX@4h) (3 conditions)
- Exit: Position Exit Rule (USO@4h) (1 condition)
- Exit: Position Exit Rule (XOM@4h) (1 condition)
- Exit: Position Exit Rule (CVX@4h) (1 condition)
- Exit: Stop Loss at 5.0% (1 condition)
- Exit: Take Profit at 10.0% (1 condition)
Shared strategy rules
Rule configuration
{
"data_dependencies": [
{
"symbol": "USO",
"timeframe": "4h"
},
{
"symbol": "XOM",
"timeframe": "4h"
},
{
"symbol": "CVX",
"timeframe": "4h"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "ema",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 45
}
},
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "obv"
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "obv"
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1",
"name": "EMA/RSI/OBV Signal Long (USO@4h)",
"priority": 1,
"trade_symbol": "USO"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "ema",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "4h"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 45
}
},
{
"left": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "4h"
},
"indicator": {
"name": "obv"
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "obv"
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_2",
"name": "EMA/RSI/OBV Signal Long (XOM@4h)",
"priority": 2,
"trade_symbol": "XOM"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "ema",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "4h"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 45
}
},
{
"left": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "4h"
},
"indicator": {
"name": "obv"
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "obv"
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_3",
"name": "EMA/RSI/OBV Signal Long (CVX@4h)",
"priority": 3,
"trade_symbol": "CVX"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "ema",
"period": 20
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_uso",
"name": "Position Exit Rule (USO@4h)",
"priority": 1,
"purpose": "signal",
"target_symbol": "USO"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "4h"
},
"indicator": {
"name": "ema",
"period": 20
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_xom",
"name": "Position Exit Rule (XOM@4h)",
"priority": 2,
"purpose": "signal",
"target_symbol": "XOM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "4h"
},
"indicator": {
"name": "ema",
"period": 20
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_cvx",
"name": "Position Exit Rule (CVX@4h)",
"priority": 3,
"purpose": "signal",
"target_symbol": "CVX"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "less_than_or_equal",
"right": {
"type": "constant",
"value": -5
}
}
],
"enabled": true,
"id": "exit_2",
"name": "Stop Loss at 5.0%",
"priority": 10,
"purpose": "stop_loss"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 10
}
}
],
"enabled": true,
"id": "exit_3",
"name": "Take Profit at 10.0%",
"priority": 11,
"purpose": "take_profit"
}
],
"position_sizing": {
"max_position_percent": 25,
"method": {
"risk_percent": 2,
"stop_loss_percent": 5,
"type": "fixed_risk"
},
"min_position_value": 100
},
"trigger_timeframe": "4h",
"version": 1
}Indicator configuration
{
"indicators": [
{
"name": "ema",
"period": 20
},
{
"name": "ema",
"period": 50
},
{
"name": "rsi",
"period": 14
},
{
"name": "obv"
},
{
"name": "ema",
"period": 20
},
{
"name": "ema",
"period": 50
},
{
"name": "rsi",
"period": 14
},
{
"name": "obv"
},
{
"name": "ema",
"period": 20
},
{
"name": "ema",
"period": 50
},
{
"name": "rsi",
"period": 14
},
{
"name": "obv"
}
]
}Parsed strategy
{
"data_dependencies": [
{
"symbol": "USO",
"timeframe": "4h"
},
{
"symbol": "XOM",
"timeframe": "4h"
},
{
"symbol": "CVX",
"timeframe": "4h"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "ema",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 45
}
},
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "obv"
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "obv"
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1",
"name": "EMA/RSI/OBV Signal Long (USO@4h)",
"priority": 1,
"trade_symbol": "USO"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "ema",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "4h"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 45
}
},
{
"left": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "4h"
},
"indicator": {
"name": "obv"
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "obv"
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_2",
"name": "EMA/RSI/OBV Signal Long (XOM@4h)",
"priority": 2,
"trade_symbol": "XOM"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "ema",
"period": 20
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "4h"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 45
}
},
{
"left": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "4h"
},
"indicator": {
"name": "obv"
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "obv"
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_3",
"name": "EMA/RSI/OBV Signal Long (CVX@4h)",
"priority": 3,
"trade_symbol": "CVX"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "ema",
"period": 20
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_uso",
"name": "Position Exit Rule (USO@4h)",
"priority": 1,
"purpose": "signal",
"target_symbol": "USO"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "4h"
},
"indicator": {
"name": "ema",
"period": 20
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_xom",
"name": "Position Exit Rule (XOM@4h)",
"priority": 2,
"purpose": "signal",
"target_symbol": "XOM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "4h"
},
"indicator": {
"name": "ema",
"period": 20
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_cvx",
"name": "Position Exit Rule (CVX@4h)",
"priority": 3,
"purpose": "signal",
"target_symbol": "CVX"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "less_than_or_equal",
"right": {
"type": "constant",
"value": -5
}
}
],
"enabled": true,
"id": "exit_2",
"name": "Stop Loss at 5.0%",
"priority": 10,
"purpose": "stop_loss"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "greater_than_or_equal",
"right": {
"type": "constant",
"value": 10
}
}
],
"enabled": true,
"id": "exit_3",
"name": "Take Profit at 10.0%",
"priority": 11,
"purpose": "take_profit"
}
],
"position_sizing": {
"max_position_percent": 25,
"method": {
"risk_percent": 2,
"stop_loss_percent": 5,
"type": "fixed_risk"
},
"min_position_value": 100
},
"trigger_timeframe": "4h",
"version": 1
}Strategy instructions
Trading agent generated from recommendation idea 'Peace breaks out, oil tanks — short the energy patch as crude slides'. Thesis: Geopolitical risk was the main reason oil prices had a floor of support over the last few months. With the shipping lane reopening and the conflict halting, that risk premium is rapidly draining from the price. Energy stocks and oil ETFs are likely to continue sliding lower as supply fears fade, making this a clear opportunity to bet against the energy sector in the short term.
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