Oil crashes below $80 on Iran peace deal — rotate into energy-hungry chemical st
Created
Thesis
Falling oil prices act like a massive tax cut for heavy manufacturing companies. JPMorgan just pointed out that energy-intensive industries, specifically chemical makers, are the very first place to look during an energy price drop. Because oil is at a three-month low and expected to stay cheap as Iranian supply returns, companies that use massive amounts of oil to make their products will see their profit margins expand quickly.
Strategy approach
Build a rule-based strategy that enters long BASFY on H4 when WTI 1-day price change is < -1.5% and price is above its 50-day SMA, with a 10-day max hold and a 4% trailing stop.
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: ROC/SMA Signal Long (USO@4h) (2 conditions)
- Entry: ROC/SMA Signal Long (XLE@4h) (2 conditions)
- Entry: ROC/SMA Signal Long (BASFY@4h) (2 conditions)
- Entry: ROC/SMA Signal Long (DOW@4h) (2 conditions)
- Entry: ROC/SMA Signal Long (GLD@4h) (2 conditions)
- Entry: ROC/SMA Signal Long (PPLT@4h) (2 conditions)
- Entry: ROC/SMA Signal Long (LIN@4h) (2 conditions)
- Entry: ROC/SMA Signal Long (SLV@4h) (2 conditions)
- Entry: ROC/SMA Signal Long (UNG@4h) (2 conditions)
- Exit: ROC Threshold Exit (USO@4h) (1 condition)
- Exit: Stop Loss at 4.0% (1 condition)
- Exit: Take Profit at 10.0% (1 condition)
Shared strategy rules
Rule configuration
{
"data_dependencies": [
{
"symbol": "BASFY",
"timeframe": "4h"
},
{
"symbol": "DOW",
"timeframe": "4h"
},
{
"symbol": "LIN",
"timeframe": "4h"
},
{
"symbol": "GLD",
"timeframe": "4h"
},
{
"symbol": "SLV",
"timeframe": "4h"
},
{
"symbol": "USO",
"timeframe": "4h"
},
{
"symbol": "XLE",
"timeframe": "4h"
},
{
"symbol": "UNG",
"timeframe": "4h"
},
{
"symbol": "PPLT",
"timeframe": "4h"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -1.5
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "BASFY",
"timeframe": "4h"
},
"indicator": {
"name": "sma",
"period": 50
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1",
"name": "ROC/SMA Signal Long (USO@4h)",
"priority": 1,
"trade_symbol": "USO"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -1.5
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "BASFY",
"timeframe": "4h"
},
"indicator": {
"name": "sma",
"period": 50
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_2",
"name": "ROC/SMA Signal Long (XLE@4h)",
"priority": 9,
"trade_symbol": "XLE"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -1.5
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "BASFY",
"timeframe": "4h"
},
"indicator": {
"name": "sma",
"period": 50
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_3",
"name": "ROC/SMA Signal Long (BASFY@4h)",
"priority": 9,
"trade_symbol": "BASFY"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -1.5
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "BASFY",
"timeframe": "4h"
},
"indicator": {
"name": "sma",
"period": 50
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_4",
"name": "ROC/SMA Signal Long (DOW@4h)",
"priority": 9,
"trade_symbol": "DOW"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -1.5
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "BASFY",
"timeframe": "4h"
},
"indicator": {
"name": "sma",
"period": 50
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_5",
"name": "ROC/SMA Signal Long (GLD@4h)",
"priority": 9,
"trade_symbol": "GLD"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -1.5
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "BASFY",
"timeframe": "4h"
},
"indicator": {
"name": "sma",
"period": 50
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_6",
"name": "ROC/SMA Signal Long (PPLT@4h)",
"priority": 9,
"trade_symbol": "PPLT"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -1.5
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "BASFY",
"timeframe": "4h"
},
"indicator": {
"name": "sma",
"period": 50
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_7",
"name": "ROC/SMA Signal Long (LIN@4h)",
"priority": 9,
"trade_symbol": "LIN"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -1.5
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "BASFY",
"timeframe": "4h"
},
"indicator": {
"name": "sma",
"period": 50
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_8",
"name": "ROC/SMA Signal Long (SLV@4h)",
"priority": 9,
"trade_symbol": "SLV"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -1.5
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "BASFY",
"timeframe": "4h"
},
"indicator": {
"name": "sma",
"period": 50
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_9",
"name": "ROC/SMA Signal Long (UNG@4h)",
"priority": 9,
"trade_symbol": "UNG"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 1.5
}
}
],
"enabled": true,
"id": "exit_1",
"name": "ROC Threshold Exit (USO@4h)",
"priority": 1,
"purpose": "signal",
"target_symbol": "USO"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "less_than_or_equal",
"right": {
"type": "constant",
"value": -4
}
}
],
"enabled": true,
"id": "exit_2",
"name": "Stop Loss at 4.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": 11.11111111111111,
"method": {
"risk_percent": 2,
"stop_loss_percent": 4,
"type": "fixed_risk"
},
"min_position_value": 100
},
"trigger_timeframe": "4h",
"version": 1
}Indicator configuration
{
"indicators": [
{
"name": "sma",
"period": 50
},
{
"name": "roc",
"period": 6
}
]
}Parsed strategy
{
"data_dependencies": [
{
"symbol": "BASFY",
"timeframe": "4h"
},
{
"symbol": "DOW",
"timeframe": "4h"
},
{
"symbol": "LIN",
"timeframe": "4h"
},
{
"symbol": "GLD",
"timeframe": "4h"
},
{
"symbol": "SLV",
"timeframe": "4h"
},
{
"symbol": "USO",
"timeframe": "4h"
},
{
"symbol": "XLE",
"timeframe": "4h"
},
{
"symbol": "UNG",
"timeframe": "4h"
},
{
"symbol": "PPLT",
"timeframe": "4h"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -1.5
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "BASFY",
"timeframe": "4h"
},
"indicator": {
"name": "sma",
"period": 50
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1",
"name": "ROC/SMA Signal Long (USO@4h)",
"priority": 1,
"trade_symbol": "USO"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -1.5
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "BASFY",
"timeframe": "4h"
},
"indicator": {
"name": "sma",
"period": 50
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_2",
"name": "ROC/SMA Signal Long (XLE@4h)",
"priority": 9,
"trade_symbol": "XLE"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -1.5
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "BASFY",
"timeframe": "4h"
},
"indicator": {
"name": "sma",
"period": 50
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_3",
"name": "ROC/SMA Signal Long (BASFY@4h)",
"priority": 9,
"trade_symbol": "BASFY"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -1.5
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "BASFY",
"timeframe": "4h"
},
"indicator": {
"name": "sma",
"period": 50
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_4",
"name": "ROC/SMA Signal Long (DOW@4h)",
"priority": 9,
"trade_symbol": "DOW"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -1.5
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "BASFY",
"timeframe": "4h"
},
"indicator": {
"name": "sma",
"period": 50
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_5",
"name": "ROC/SMA Signal Long (GLD@4h)",
"priority": 9,
"trade_symbol": "GLD"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -1.5
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "BASFY",
"timeframe": "4h"
},
"indicator": {
"name": "sma",
"period": 50
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_6",
"name": "ROC/SMA Signal Long (PPLT@4h)",
"priority": 9,
"trade_symbol": "PPLT"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -1.5
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "BASFY",
"timeframe": "4h"
},
"indicator": {
"name": "sma",
"period": 50
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_7",
"name": "ROC/SMA Signal Long (LIN@4h)",
"priority": 9,
"trade_symbol": "LIN"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -1.5
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "BASFY",
"timeframe": "4h"
},
"indicator": {
"name": "sma",
"period": 50
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_8",
"name": "ROC/SMA Signal Long (SLV@4h)",
"priority": 9,
"trade_symbol": "SLV"
},
{
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "less_than",
"right": {
"type": "constant",
"value": -1.5
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "BASFY",
"timeframe": "4h"
},
"indicator": {
"name": "sma",
"period": 50
},
"type": "indicator"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_9",
"name": "ROC/SMA Signal Long (UNG@4h)",
"priority": 9,
"trade_symbol": "UNG"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "USO",
"timeframe": "4h"
},
"indicator": {
"name": "roc",
"period": 6
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 1.5
}
}
],
"enabled": true,
"id": "exit_1",
"name": "ROC Threshold Exit (USO@4h)",
"priority": 1,
"purpose": "signal",
"target_symbol": "USO"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "less_than_or_equal",
"right": {
"type": "constant",
"value": -4
}
}
],
"enabled": true,
"id": "exit_2",
"name": "Stop Loss at 4.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": 11.11111111111111,
"method": {
"risk_percent": 2,
"stop_loss_percent": 4,
"type": "fixed_risk"
},
"min_position_value": 100
},
"trigger_timeframe": "4h",
"version": 1
}Strategy instructions
Trading agent generated from recommendation idea 'Oil crashes below $80 on Iran peace deal — rotate into energy-hungry chemical stocks'. Thesis: Falling oil prices act like a massive tax cut for heavy manufacturing companies. JPMorgan just pointed out that energy-intensive industries, specifically chemical makers, are the very first place to look during an energy price drop. Because oil is at a three-month low and expected to stay cheap as Iranian supply returns, companies that use massive amounts of oil to make their products will see their profit margins expand quickly.
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