Loading…
Public trading strategy

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