Iran peace deal floods market with oil — short major oil producers
Created
Thesis
A peace deal means Iran will be able to freely sell millions of barrels of oil that have been sitting in tankers. This huge new supply hitting the market will push prices down even further. Big oil companies like Exxon and Chevron make less money when oil prices drop, so their stocks usually follow oil downward. Betting against these major oil stocks is a simple way to play the oversupply crash.
Strategy approach
Build a mean-reversion breakout strategy that enters short XOM and CVX on the 1D timeframe. Entry condition: enter short when price breaks and closes below the lower Bollinger Band (20-period, 2 standard deviations) on increasing volume. Exit condition: cover the short if price closes back above the 20-day SMA, or if RSI(14) drops below 25. 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: BB Crossover Long (XOM@1d) (2 conditions)
- Entry: BB Crossover Long (CVX@1d) (2 conditions)
- Entry: BB Signal Long (XOM@1d) (1 condition)
- Entry: BB Signal Long (CVX@1d) (1 condition)
- Entry: Crossover Long (XOM@1d) (1 condition)
- Entry: Crossover Long (CVX@1d) (1 condition)
- Exit: Oversold RSI Exit (XOM@1d) (2 conditions)
- Exit: Oversold RSI Exit (CVX@1d) (2 conditions)
- Exit: SL: Below Support[2] (XOM@1d) (1 condition)
- Exit: SL: Below Support[2] (CVX@1d) (1 condition)
- Exit: SL: Fib Retracement 38.2% (XOM@1d) (1 condition)
- Exit: SL: Fib Retracement 38.2% (CVX@1d) (1 condition)
Shared strategy rules
Rule configuration
{
"data_dependencies": [
{
"symbol": "XOM",
"timeframe": "1d"
},
{
"symbol": "CVX",
"timeframe": "1d"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "1d"
},
"field": "lower",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_below",
"right": {
"rank": 1,
"type": "support_level"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_xom",
"name": "BB Crossover Long (XOM@1d)",
"priority": 1,
"trade_symbol": "XOM"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "1d"
},
"field": "lower",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_below",
"right": {
"rank": 1,
"type": "support_level"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_cvx",
"name": "BB Crossover Long (CVX@1d)",
"priority": 2,
"trade_symbol": "CVX"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "1d"
},
"field": "lower",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_2_xom",
"name": "BB Signal Long (XOM@1d)",
"priority": 2,
"trade_symbol": "XOM"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "1d"
},
"field": "lower",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_2_cvx",
"name": "BB Signal Long (CVX@1d)",
"priority": 3,
"trade_symbol": "CVX"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_below",
"right": {
"rank": 1,
"type": "support_level"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_3_xom",
"name": "Crossover Long (XOM@1d)",
"priority": 2,
"trade_symbol": "XOM"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_below",
"right": {
"rank": 1,
"type": "support_level"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_3_cvx",
"name": "Crossover Long (CVX@1d)",
"priority": 3,
"trade_symbol": "CVX"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "1d"
},
"field": "middle",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 25
}
}
],
"enabled": true,
"id": "exit_1_xom",
"name": "Oversold RSI Exit (XOM@1d)",
"priority": 1,
"purpose": "signal",
"target_symbol": "XOM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "1d"
},
"field": "middle",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 25
}
}
],
"enabled": true,
"id": "exit_1_cvx",
"name": "Oversold RSI Exit (CVX@1d)",
"priority": 2,
"purpose": "signal",
"target_symbol": "CVX"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than_or_equal",
"right": {
"rank": 2,
"type": "support_level"
}
}
],
"enabled": true,
"id": "exit_2_xom",
"name": "SL: Below Support[2] (XOM@1d)",
"priority": 97,
"purpose": "take_profit",
"target_symbol": "XOM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than_or_equal",
"right": {
"rank": 2,
"type": "support_level"
}
}
],
"enabled": true,
"id": "exit_2_cvx",
"name": "SL: Below Support[2] (CVX@1d)",
"priority": 98,
"purpose": "take_profit",
"target_symbol": "CVX"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "1d"
},
"ratio": 382,
"type": "fibonacci_retracement"
}
}
],
"enabled": true,
"id": "exit_3_xom",
"name": "SL: Fib Retracement 38.2% (XOM@1d)",
"priority": 100,
"purpose": "stop_loss",
"target_symbol": "XOM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "1d"
},
"ratio": 382,
"type": "fibonacci_retracement"
}
}
],
"enabled": true,
"id": "exit_3_cvx",
"name": "SL: Fib Retracement 38.2% (CVX@1d)",
"priority": 101,
"purpose": "stop_loss",
"target_symbol": "CVX"
}
],
"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": "bollinger_bands",
"period": 20,
"std_dev": 2
},
{
"name": "rsi",
"period": 14
},
{
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
{
"name": "rsi",
"period": 14
}
]
}Parsed strategy
{
"data_dependencies": [
{
"symbol": "XOM",
"timeframe": "1d"
},
{
"symbol": "CVX",
"timeframe": "1d"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "1d"
},
"field": "lower",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_below",
"right": {
"rank": 1,
"type": "support_level"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_xom",
"name": "BB Crossover Long (XOM@1d)",
"priority": 1,
"trade_symbol": "XOM"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "1d"
},
"field": "lower",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_below",
"right": {
"rank": 1,
"type": "support_level"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_cvx",
"name": "BB Crossover Long (CVX@1d)",
"priority": 2,
"trade_symbol": "CVX"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "1d"
},
"field": "lower",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_2_xom",
"name": "BB Signal Long (XOM@1d)",
"priority": 2,
"trade_symbol": "XOM"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "1d"
},
"field": "lower",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_2_cvx",
"name": "BB Signal Long (CVX@1d)",
"priority": 3,
"trade_symbol": "CVX"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_below",
"right": {
"rank": 1,
"type": "support_level"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_3_xom",
"name": "Crossover Long (XOM@1d)",
"priority": 2,
"trade_symbol": "XOM"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_below",
"right": {
"rank": 1,
"type": "support_level"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_3_cvx",
"name": "Crossover Long (CVX@1d)",
"priority": 3,
"trade_symbol": "CVX"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "1d"
},
"field": "middle",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 25
}
}
],
"enabled": true,
"id": "exit_1_xom",
"name": "Oversold RSI Exit (XOM@1d)",
"priority": 1,
"purpose": "signal",
"target_symbol": "XOM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "1d"
},
"field": "middle",
"indicator": {
"name": "bollinger_bands",
"period": 20,
"std_dev": 2
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "1d"
},
"indicator": {
"name": "rsi",
"period": 14
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": 25
}
}
],
"enabled": true,
"id": "exit_1_cvx",
"name": "Oversold RSI Exit (CVX@1d)",
"priority": 2,
"purpose": "signal",
"target_symbol": "CVX"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than_or_equal",
"right": {
"rank": 2,
"type": "support_level"
}
}
],
"enabled": true,
"id": "exit_2_xom",
"name": "SL: Below Support[2] (XOM@1d)",
"priority": 97,
"purpose": "take_profit",
"target_symbol": "XOM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than_or_equal",
"right": {
"rank": 2,
"type": "support_level"
}
}
],
"enabled": true,
"id": "exit_2_cvx",
"name": "SL: Below Support[2] (CVX@1d)",
"priority": 98,
"purpose": "take_profit",
"target_symbol": "CVX"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "XOM",
"timeframe": "1d"
},
"ratio": 382,
"type": "fibonacci_retracement"
}
}
],
"enabled": true,
"id": "exit_3_xom",
"name": "SL: Fib Retracement 38.2% (XOM@1d)",
"priority": 100,
"purpose": "stop_loss",
"target_symbol": "XOM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "CVX",
"timeframe": "1d"
},
"ratio": 382,
"type": "fibonacci_retracement"
}
}
],
"enabled": true,
"id": "exit_3_cvx",
"name": "SL: Fib Retracement 38.2% (CVX@1d)",
"priority": 101,
"purpose": "stop_loss",
"target_symbol": "CVX"
}
],
"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 'Iran peace deal floods market with oil — short major oil producers'. Thesis: A peace deal means Iran will be able to freely sell millions of barrels of oil that have been sitting in tankers. This huge new supply hitting the market will push prices down even further. Big oil companies like Exxon and Chevron make less money when oil prices drop, so their stocks usually follow oil downward. Betting against these major oil stocks is a simple way to play the oversupply crash.
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