Loading…
Public trading strategy

Oil spiked on Iran strikes, but Saudi price cuts say crash the fear premium — sh

Created

Thesis

The U.S. strikes on Iran created a classic geopolitical fear spike in oil prices, with traders weighing disrupted flows through the Strait of Hormuz. However, combining this with the news that Hormuz is actually reopening and Saudi Arabia is preparing to slash prices tells a different story: supply is about to flood back. When the panic premium burns off, oil should snap back toward its pre-crisis levels. The Bloomberg article notes oil 'held a gain' — but that gain is built on fear, not fundamentals, and the Saudi price cut announcement signals the real-world supply picture is improving rapidly.

Strategy approach

Build a mean-reversion strategy on D1 timeframe that enters short USOIL (WTI Crude) when price closes >2% above its 20-day high AND the 10-day ATR is expanding (volatility spike). Exit condition: price closes below the 10-day EMA, or a 15 trading day max hold. Target a 3-5% decline from entry.

Markets and timeframes

USOD1

Latest published rule evaluation

Evaluated . This is a dated rule snapshot, not a live price or trade execution confirmation.

USO · 1d

2 of 3 published entry conditions marked met.

  • Price above Donchian (20) — met
  • ATR (10) above Price — unknown
  • ADX (14) above 20 — met
  • Price below EMA (10) — far

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: DONCHIAN/ATR/ADX Crossover Long (USO@1d) (4 conditions)
  • Exit: Position Exit Rule (USO@1d) (1 condition)
  • Exit: SL: Fib Retracement 38.2% (USO@1d) (1 condition)
  • Exit: TP: Near Resistance[2] (USO@1d) (1 condition)
  • Exit: Stop Loss at 2.7% (1 condition)
  • Exit: Take Profit at 5.4% (1 condition)

Shared strategy rules

Rule configuration

{
  "data_dependencies": [
    {
      "symbol": "USO",
      "timeframe": "1d"
    }
  ],
  "entry_rules": [
    {
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than",
          "right": {
            "chart_ref": {
              "symbol": "USO",
              "timeframe": "1d"
            },
            "field": "upper",
            "indicator": {
              "name": "donchian",
              "period": 20
            },
            "type": "indicator"
          }
        },
        {
          "left": {
            "chart_ref": {
              "symbol": "USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "atr",
              "period": 10
            },
            "type": "indicator"
          },
          "operator": "greater_than",
          "right": {
            "field": "close",
            "type": "price"
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "crossed_below",
          "right": {
            "rank": 1,
            "type": "resistance_level"
          }
        },
        {
          "left": {
            "chart_ref": {
              "symbol": "USO",
              "timeframe": "1d"
            },
            "field": "adx",
            "indicator": {
              "name": "adx",
              "period": 14
            },
            "type": "indicator"
          },
          "operator": "greater_than",
          "right": {
            "type": "constant",
            "value": 20
          }
        }
      ],
      "direction": "long",
      "enabled": true,
      "id": "entry_1",
      "name": "DONCHIAN/ATR/ADX Crossover Long (USO@1d)",
      "priority": 1,
      "trade_symbol": "USO"
    }
  ],
  "exit_rules": [
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than",
          "right": {
            "chart_ref": {
              "symbol": "USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "ema",
              "period": 10
            },
            "type": "indicator"
          }
        }
      ],
      "enabled": true,
      "id": "exit_1",
      "name": "Position Exit Rule (USO@1d)",
      "priority": 1,
      "purpose": "signal"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than_or_equal",
          "right": {
            "chart_ref": {
              "symbol": "USO",
              "timeframe": "1d"
            },
            "ratio": 382,
            "type": "fibonacci_retracement"
          }
        }
      ],
      "enabled": true,
      "id": "exit_2",
      "name": "SL: Fib Retracement 38.2% (USO@1d)",
      "priority": 97,
      "purpose": "take_profit",
      "target_symbol": "USO"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than",
          "right": {
            "rank": 2,
            "type": "resistance_level"
          }
        }
      ],
      "enabled": true,
      "id": "exit_3",
      "name": "TP: Near Resistance[2] (USO@1d)",
      "priority": 100,
      "purpose": "stop_loss",
      "target_symbol": "USO"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "unrealized_pnl_percent",
            "type": "position"
          },
          "operator": "less_than_or_equal",
          "right": {
            "type": "constant",
            "value": -2.7225
          }
        }
      ],
      "enabled": true,
      "id": "exit_4",
      "name": "Stop Loss at 2.7%",
      "priority": 100,
      "purpose": "stop_loss"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "unrealized_pnl_percent",
            "type": "position"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "type": "constant",
            "value": 5.445
          }
        }
      ],
      "enabled": true,
      "id": "exit_5",
      "name": "Take Profit at 5.4%",
      "priority": 100,
      "purpose": "take_profit"
    }
  ],
  "position_sizing": {
    "max_position_percent": 25,
    "method": {
      "resistance_stop_rank": 2,
      "risk_percent": 2.7225,
      "type": "fixed_risk"
    },
    "min_position_value": 100
  },
  "trigger_timeframe": "1d",
  "version": 1
}

Indicator configuration

{
  "indicators": [
    {
      "name": "donchian",
      "period": 20
    },
    {
      "name": "atr",
      "period": 10
    },
    {
      "name": "ema",
      "period": 10
    },
    {
      "name": "adx",
      "period": 14
    }
  ]
}

Parsed strategy

{
  "data_dependencies": [
    {
      "symbol": "USO",
      "timeframe": "1d"
    }
  ],
  "entry_rules": [
    {
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than",
          "right": {
            "chart_ref": {
              "symbol": "USO",
              "timeframe": "1d"
            },
            "field": "upper",
            "indicator": {
              "name": "donchian",
              "period": 20
            },
            "type": "indicator"
          }
        },
        {
          "left": {
            "chart_ref": {
              "symbol": "USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "atr",
              "period": 10
            },
            "type": "indicator"
          },
          "operator": "greater_than",
          "right": {
            "field": "close",
            "type": "price"
          }
        },
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "crossed_below",
          "right": {
            "rank": 1,
            "type": "resistance_level"
          }
        },
        {
          "left": {
            "chart_ref": {
              "symbol": "USO",
              "timeframe": "1d"
            },
            "field": "adx",
            "indicator": {
              "name": "adx",
              "period": 14
            },
            "type": "indicator"
          },
          "operator": "greater_than",
          "right": {
            "type": "constant",
            "value": 20
          }
        }
      ],
      "direction": "long",
      "enabled": true,
      "id": "entry_1",
      "name": "DONCHIAN/ATR/ADX Crossover Long (USO@1d)",
      "priority": 1,
      "trade_symbol": "USO"
    }
  ],
  "exit_rules": [
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than",
          "right": {
            "chart_ref": {
              "symbol": "USO",
              "timeframe": "1d"
            },
            "indicator": {
              "name": "ema",
              "period": 10
            },
            "type": "indicator"
          }
        }
      ],
      "enabled": true,
      "id": "exit_1",
      "name": "Position Exit Rule (USO@1d)",
      "priority": 1,
      "purpose": "signal"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "less_than_or_equal",
          "right": {
            "chart_ref": {
              "symbol": "USO",
              "timeframe": "1d"
            },
            "ratio": 382,
            "type": "fibonacci_retracement"
          }
        }
      ],
      "enabled": true,
      "id": "exit_2",
      "name": "SL: Fib Retracement 38.2% (USO@1d)",
      "priority": 97,
      "purpose": "take_profit",
      "target_symbol": "USO"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "close",
            "type": "price"
          },
          "operator": "greater_than",
          "right": {
            "rank": 2,
            "type": "resistance_level"
          }
        }
      ],
      "enabled": true,
      "id": "exit_3",
      "name": "TP: Near Resistance[2] (USO@1d)",
      "priority": 100,
      "purpose": "stop_loss",
      "target_symbol": "USO"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "unrealized_pnl_percent",
            "type": "position"
          },
          "operator": "less_than_or_equal",
          "right": {
            "type": "constant",
            "value": -2.7225
          }
        }
      ],
      "enabled": true,
      "id": "exit_4",
      "name": "Stop Loss at 2.7%",
      "priority": 100,
      "purpose": "stop_loss"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "unrealized_pnl_percent",
            "type": "position"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "type": "constant",
            "value": 5.445
          }
        }
      ],
      "enabled": true,
      "id": "exit_5",
      "name": "Take Profit at 5.4%",
      "priority": 100,
      "purpose": "take_profit"
    }
  ],
  "position_sizing": {
    "max_position_percent": 25,
    "method": {
      "resistance_stop_rank": 2,
      "risk_percent": 2.7225,
      "type": "fixed_risk"
    },
    "min_position_value": 100
  },
  "trigger_timeframe": "1d",
  "version": 1
}

Strategy instructions

Trading agent generated from recommendation idea 'Oil spiked on Iran strikes, but Saudi price cuts say crash the fear premium — short oil'. Thesis: The U.S. strikes on Iran created a classic geopolitical fear spike in oil prices, with traders weighing disrupted flows through the Strait of Hormuz. However, combining this with the news that Hormuz is actually reopening and Saudi Arabia is preparing to slash prices tells a different story: supply is about to flood back. When the panic premium burns off, oil should snap back toward its pre-crisis levels. The Bloomberg article notes oil 'held a gain' — but that gain is built on fear, not fundamentals, and the Saudi price cut announcement signals the real-world supply picture is improving rapidly.

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 dated rule snapshot above shows the conditions evaluated at that time. It does not prove a current trigger or executed trade.
  • 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