Loading…
Public trading strategy

Trump threatens fresh strikes on Iran — jump on rising oil prices

Created

Thesis

Threats of military action in the Middle East create immediate fear that oil supplies could be disrupted, which pushes oil prices higher. Major oil companies like ExxonMobil and Chevron, along with broad oil funds, directly profit from these rising prices. As long as the geopolitical tension remains, oil prices have a strong reason to stay elevated. We will buy into this momentum and keep the trade active until the short-term trend starts pointing back down.

Strategy approach

Build a rule-based strategy that enters long USO on D1 when the 5-day EMA crosses above the 20-day EMA and RSI(14) is between 50 and 70. Exit the position when the 5-day EMA crosses back below the 20-day EMA. Use an 8% stop loss based on the entry price.

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 Crossover Long (USO@4h) (3 conditions)
  • Exit: EMA Crosses Below Exit (USO@4h) (1 condition)
  • Exit: Stop Loss at 8.0% (1 condition)
  • Exit: Take Profit at 15.0% (1 condition)

Shared strategy rules

Rule configuration

{
  "data_dependencies": [
    {
      "symbol": "USO",
      "timeframe": "4h"
    }
  ],
  "entry_rules": [
    {
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "USO",
              "timeframe": "4h"
            },
            "indicator": {
              "name": "ema",
              "period": 5
            },
            "type": "indicator"
          },
          "operator": "crossed_above",
          "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": "greater_than",
          "right": {
            "type": "constant",
            "value": 50
          }
        },
        {
          "left": {
            "chart_ref": {
              "symbol": "USO",
              "timeframe": "4h"
            },
            "indicator": {
              "name": "rsi",
              "period": 14
            },
            "type": "indicator"
          },
          "operator": "less_than",
          "right": {
            "type": "constant",
            "value": 70
          }
        }
      ],
      "direction": "long",
      "enabled": true,
      "id": "entry_1",
      "name": "EMA/RSI Crossover Long (USO@4h)",
      "priority": 1,
      "trade_symbol": "USO"
    }
  ],
  "exit_rules": [
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "USO",
              "timeframe": "4h"
            },
            "indicator": {
              "name": "ema",
              "period": 5
            },
            "type": "indicator"
          },
          "operator": "crossed_below",
          "right": {
            "chart_ref": {
              "symbol": "USO",
              "timeframe": "4h"
            },
            "indicator": {
              "name": "ema",
              "period": 20
            },
            "type": "indicator"
          }
        }
      ],
      "enabled": true,
      "id": "exit_signal",
      "name": "EMA Crosses Below 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": -8
          }
        }
      ],
      "enabled": true,
      "id": "exit_stop",
      "name": "Stop Loss at 8.0%",
      "priority": 10,
      "purpose": "stop_loss",
      "target_symbol": "USO"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "unrealized_pnl_percent",
            "type": "position"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "type": "constant",
            "value": 15
          }
        }
      ],
      "enabled": true,
      "id": "exit_tp",
      "name": "Take Profit at 15.0%",
      "priority": 5,
      "purpose": "take_profit",
      "target_symbol": "USO"
    }
  ],
  "position_sizing": {
    "max_position_percent": 25,
    "method": {
      "risk_percent": 2,
      "stop_loss_percent": 8,
      "type": "fixed_risk"
    },
    "min_position_value": 100
  },
  "trigger_timeframe": "4h",
  "version": 1
}

Indicator configuration

{
  "indicators": [
    {
      "name": "ema",
      "period": 5
    },
    {
      "name": "ema",
      "period": 20
    },
    {
      "name": "rsi",
      "period": 14
    },
    {
      "name": "atr",
      "period": 14
    }
  ]
}

Parsed strategy

{
  "data_dependencies": [
    {
      "symbol": "USO",
      "timeframe": "4h"
    }
  ],
  "entry_rules": [
    {
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "USO",
              "timeframe": "4h"
            },
            "indicator": {
              "name": "ema",
              "period": 5
            },
            "type": "indicator"
          },
          "operator": "crossed_above",
          "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": "greater_than",
          "right": {
            "type": "constant",
            "value": 50
          }
        },
        {
          "left": {
            "chart_ref": {
              "symbol": "USO",
              "timeframe": "4h"
            },
            "indicator": {
              "name": "rsi",
              "period": 14
            },
            "type": "indicator"
          },
          "operator": "less_than",
          "right": {
            "type": "constant",
            "value": 70
          }
        }
      ],
      "direction": "long",
      "enabled": true,
      "id": "entry_1",
      "name": "EMA/RSI Crossover Long (USO@4h)",
      "priority": 1,
      "trade_symbol": "USO"
    }
  ],
  "exit_rules": [
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "chart_ref": {
              "symbol": "USO",
              "timeframe": "4h"
            },
            "indicator": {
              "name": "ema",
              "period": 5
            },
            "type": "indicator"
          },
          "operator": "crossed_below",
          "right": {
            "chart_ref": {
              "symbol": "USO",
              "timeframe": "4h"
            },
            "indicator": {
              "name": "ema",
              "period": 20
            },
            "type": "indicator"
          }
        }
      ],
      "enabled": true,
      "id": "exit_signal",
      "name": "EMA Crosses Below 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": -8
          }
        }
      ],
      "enabled": true,
      "id": "exit_stop",
      "name": "Stop Loss at 8.0%",
      "priority": 10,
      "purpose": "stop_loss",
      "target_symbol": "USO"
    },
    {
      "applies_to": "both",
      "conditions": [
        {
          "left": {
            "field": "unrealized_pnl_percent",
            "type": "position"
          },
          "operator": "greater_than_or_equal",
          "right": {
            "type": "constant",
            "value": 15
          }
        }
      ],
      "enabled": true,
      "id": "exit_tp",
      "name": "Take Profit at 15.0%",
      "priority": 5,
      "purpose": "take_profit",
      "target_symbol": "USO"
    }
  ],
  "position_sizing": {
    "max_position_percent": 25,
    "method": {
      "risk_percent": 2,
      "stop_loss_percent": 8,
      "type": "fixed_risk"
    },
    "min_position_value": 100
  },
  "trigger_timeframe": "4h",
  "version": 1
}

Strategy instructions

Trading agent generated from recommendation idea 'Trump threatens fresh strikes on Iran — jump on rising oil prices'. Thesis: Threats of military action in the Middle East create immediate fear that oil supplies could be disrupted, which pushes oil prices higher. Major oil companies like ExxonMobil and Chevron, along with broad oil funds, directly profit from these rising prices. As long as the geopolitical tension remains, oil prices have a strong reason to stay elevated. We will buy into this momentum and keep the trade active until the short-term trend starts pointing back down.

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