Middle East war + hot inflation = perfect storm — rotate into big banks for safe
Created
Thesis
The U.S. military strike on Iran in the Strait of Hormuz injects massive geopolitical risk into the market, driving investors to seek safe havens away from volatile tech stocks. At the same time, stubbornly high inflation over 4% has flipped Wall Street's expectations, meaning interest rates will stay elevated — which is bad for borrowing-heavy sectors but great for banks' net interest margins. JPMorgan and Goldman Sachs just passed the Fed's stress test with flying colors and announced a massive $50 billion buyback plus dividend hikes, giving them a fundamental floor. When you combine geopolitical fear, high interest rates, and massive shareholder return programs, big banks become the perfect defensive growth trade.
Strategy approach
Build a rule-based strategy that enters long JPM and GS on D1 when VIX rises above 20 and the 10-year Treasury yield rises week-over-week, with a 21-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: EMA/ADX/ROC/VWAP Crossover Long (JPM@1d) (6 conditions)
- Entry: EMA/ADX/ROC/VWAP Crossover Long (GS@1d) (6 conditions)
- Entry: EMA/ADX/ROC/VWAP Crossover Long (XLF@1d) (6 conditions)
- Entry: EMA/ADX Crossover Long (JPM@1d) (3 conditions)
- Entry: EMA/ADX Crossover Long (GS@1d) (3 conditions)
- Entry: EMA/ADX Crossover Long (XLF@1d) (3 conditions)
- Entry: Crossover Long (JPM@1d) (1 condition)
- Entry: Crossover Long (GS@1d) (1 condition)
- Entry: Crossover Long (XLF@1d) (1 condition)
- Exit: EMA Crosses Below Exit (JPM@1d) (1 condition)
- Exit: EMA Crosses Below Exit (GS@1d) (1 condition)
- Exit: EMA Crosses Below Exit (XLF@1d) (1 condition)
- Exit: TP: Fib Extension 127.2% (JPM@1d) (1 condition)
- Exit: TP: Fib Extension 127.2% (GS@1d) (1 condition)
- Exit: TP: Fib Extension 127.2% (XLF@1d) (1 condition)
- Exit: SL: Below Support[2] (JPM@1d) (1 condition)
- Exit: SL: Below Support[2] (GS@1d) (1 condition)
- Exit: SL: Below Support[2] (XLF@1d) (1 condition)
- Exit: SL: Below Support[1] (JPM@1d) (2 conditions)
- Exit: SL: Below Support[1] (GS@1d) (2 conditions)
- Exit: SL: Below Support[1] (XLF@1d) (2 conditions)
- Exit: Stop Loss at 2.3% (1 condition)
- Exit: Take Profit at 4.6% (1 condition)
Shared strategy rules
Rule configuration
{
"data_dependencies": [
{
"symbol": "JPM",
"timeframe": "1d"
},
{
"symbol": "GS",
"timeframe": "1d"
},
{
"symbol": "XLF",
"timeframe": "1d"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
},
"operator": "crossed_above",
"right": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 21
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"field": "adx",
"indicator": {
"name": "adx",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 20
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 1,
"type": "resistance_level"
}
},
{
"left": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "roc",
"period": 12
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 0.5
}
},
{
"left": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "vwap"
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 1
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_jpm",
"name": "EMA/ADX/ROC/VWAP Crossover Long (JPM@1d)",
"priority": 1,
"trade_symbol": "JPM"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
},
"operator": "crossed_above",
"right": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 21
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"field": "adx",
"indicator": {
"name": "adx",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 20
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 1,
"type": "resistance_level"
}
},
{
"left": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "roc",
"period": 12
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 0.5
}
},
{
"left": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "vwap"
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 1
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_gs",
"name": "EMA/ADX/ROC/VWAP Crossover Long (GS@1d)",
"priority": 2,
"trade_symbol": "GS"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
},
"operator": "crossed_above",
"right": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 21
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"field": "adx",
"indicator": {
"name": "adx",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 20
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 1,
"type": "resistance_level"
}
},
{
"left": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "roc",
"period": 12
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 0.5
}
},
{
"left": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "vwap"
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 1
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_xlf",
"name": "EMA/ADX/ROC/VWAP Crossover Long (XLF@1d)",
"priority": 3,
"trade_symbol": "XLF"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
},
"operator": "crossed_above",
"right": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 21
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "JPM",
"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_2_jpm",
"name": "EMA/ADX Crossover Long (JPM@1d)",
"priority": 2,
"trade_symbol": "JPM"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
},
"operator": "crossed_above",
"right": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 21
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "GS",
"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_2_gs",
"name": "EMA/ADX Crossover Long (GS@1d)",
"priority": 3,
"trade_symbol": "GS"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
},
"operator": "crossed_above",
"right": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 21
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "XLF",
"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_2_xlf",
"name": "EMA/ADX Crossover Long (XLF@1d)",
"priority": 4,
"trade_symbol": "XLF"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 1,
"type": "resistance_level"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_3_jpm",
"name": "Crossover Long (JPM@1d)",
"priority": 2,
"trade_symbol": "JPM"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 1,
"type": "resistance_level"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_3_gs",
"name": "Crossover Long (GS@1d)",
"priority": 3,
"trade_symbol": "GS"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 1,
"type": "resistance_level"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_3_xlf",
"name": "Crossover Long (XLF@1d)",
"priority": 4,
"trade_symbol": "XLF"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
},
"operator": "crossed_below",
"right": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 21
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_jpm",
"name": "EMA Crosses Below Exit (JPM@1d)",
"priority": 1,
"purpose": "signal",
"target_symbol": "JPM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
},
"operator": "crossed_below",
"right": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 21
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_gs",
"name": "EMA Crosses Below Exit (GS@1d)",
"priority": 2,
"purpose": "signal",
"target_symbol": "GS"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
},
"operator": "crossed_below",
"right": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 21
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_xlf",
"name": "EMA Crosses Below Exit (XLF@1d)",
"priority": 3,
"purpose": "signal",
"target_symbol": "XLF"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than_or_equal",
"right": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2_jpm",
"name": "TP: Fib Extension 127.2% (JPM@1d)",
"priority": 96,
"purpose": "take_profit",
"target_symbol": "JPM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than_or_equal",
"right": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2_gs",
"name": "TP: Fib Extension 127.2% (GS@1d)",
"priority": 97,
"purpose": "take_profit",
"target_symbol": "GS"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than_or_equal",
"right": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2_xlf",
"name": "TP: Fib Extension 127.2% (XLF@1d)",
"priority": 98,
"purpose": "take_profit",
"target_symbol": "XLF"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 2,
"type": "support_level"
}
}
],
"enabled": true,
"id": "exit_3_jpm",
"name": "SL: Below Support[2] (JPM@1d)",
"priority": 100,
"purpose": "stop_loss",
"target_symbol": "JPM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 2,
"type": "support_level"
}
}
],
"enabled": true,
"id": "exit_3_gs",
"name": "SL: Below Support[2] (GS@1d)",
"priority": 101,
"purpose": "stop_loss",
"target_symbol": "GS"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 2,
"type": "support_level"
}
}
],
"enabled": true,
"id": "exit_3_xlf",
"name": "SL: Below Support[2] (XLF@1d)",
"priority": 102,
"purpose": "stop_loss",
"target_symbol": "XLF"
},
{
"applies_to": "long",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 1,
"type": "support_level"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"ratio": 786,
"type": "fibonacci_retracement"
}
}
],
"enabled": true,
"id": "exit_4_jpm",
"name": "SL: Below Support[1] (JPM@1d)",
"priority": 100,
"purpose": "stop_loss",
"target_symbol": "JPM"
},
{
"applies_to": "long",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 1,
"type": "support_level"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"ratio": 786,
"type": "fibonacci_retracement"
}
}
],
"enabled": true,
"id": "exit_4_gs",
"name": "SL: Below Support[1] (GS@1d)",
"priority": 101,
"purpose": "stop_loss",
"target_symbol": "GS"
},
{
"applies_to": "long",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 1,
"type": "support_level"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"ratio": 786,
"type": "fibonacci_retracement"
}
}
],
"enabled": true,
"id": "exit_4_xlf",
"name": "SL: Below Support[1] (XLF@1d)",
"priority": 102,
"purpose": "stop_loss",
"target_symbol": "XLF"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "less_than_or_equal",
"right": {
"type": "constant",
"value": -2.3248333333333333
}
}
],
"enabled": true,
"id": "exit_5",
"name": "Stop Loss at 2.3%",
"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": 4.649666666666667
}
}
],
"enabled": true,
"id": "exit_6",
"name": "Take Profit at 4.6%",
"priority": 100,
"purpose": "take_profit"
}
],
"position_sizing": {
"max_position_percent": 25,
"method": {
"fib_stop_ratio": 786,
"risk_percent": 2.3248333333333333,
"type": "fixed_risk"
},
"min_position_value": 100
},
"trigger_timeframe": "1d",
"version": 1
}Indicator configuration
{
"indicators": [
{
"name": "ema",
"period": 9
},
{
"name": "ema",
"period": 21
},
{
"name": "adx",
"period": 14
},
{
"name": "roc",
"period": 12
},
{
"name": "vwap"
},
{
"name": "ema",
"period": 9
},
{
"name": "ema",
"period": 21
},
{
"name": "adx",
"period": 14
},
{
"name": "roc",
"period": 12
},
{
"name": "vwap"
},
{
"name": "ema",
"period": 9
},
{
"name": "ema",
"period": 21
},
{
"name": "adx",
"period": 14
},
{
"name": "roc",
"period": 12
},
{
"name": "vwap"
}
]
}Parsed strategy
{
"data_dependencies": [
{
"symbol": "JPM",
"timeframe": "1d"
},
{
"symbol": "GS",
"timeframe": "1d"
},
{
"symbol": "XLF",
"timeframe": "1d"
}
],
"entry_rules": [
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
},
"operator": "crossed_above",
"right": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 21
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"field": "adx",
"indicator": {
"name": "adx",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 20
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 1,
"type": "resistance_level"
}
},
{
"left": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "roc",
"period": 12
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 0.5
}
},
{
"left": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "vwap"
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 1
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_jpm",
"name": "EMA/ADX/ROC/VWAP Crossover Long (JPM@1d)",
"priority": 1,
"trade_symbol": "JPM"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
},
"operator": "crossed_above",
"right": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 21
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"field": "adx",
"indicator": {
"name": "adx",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 20
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 1,
"type": "resistance_level"
}
},
{
"left": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "roc",
"period": 12
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 0.5
}
},
{
"left": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "vwap"
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 1
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_gs",
"name": "EMA/ADX/ROC/VWAP Crossover Long (GS@1d)",
"priority": 2,
"trade_symbol": "GS"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
},
"operator": "crossed_above",
"right": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 21
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"field": "adx",
"indicator": {
"name": "adx",
"period": 14
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 20
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 1,
"type": "resistance_level"
}
},
{
"left": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "roc",
"period": 12
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 0.5
}
},
{
"left": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "vwap"
},
"type": "indicator"
},
"operator": "greater_than",
"right": {
"type": "constant",
"value": 1
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_1_xlf",
"name": "EMA/ADX/ROC/VWAP Crossover Long (XLF@1d)",
"priority": 3,
"trade_symbol": "XLF"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
},
"operator": "crossed_above",
"right": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 21
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "JPM",
"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_2_jpm",
"name": "EMA/ADX Crossover Long (JPM@1d)",
"priority": 2,
"trade_symbol": "JPM"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
},
"operator": "crossed_above",
"right": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 21
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "GS",
"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_2_gs",
"name": "EMA/ADX Crossover Long (GS@1d)",
"priority": 3,
"trade_symbol": "GS"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than",
"right": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
},
"operator": "crossed_above",
"right": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 21
},
"type": "indicator"
}
},
{
"left": {
"chart_ref": {
"symbol": "XLF",
"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_2_xlf",
"name": "EMA/ADX Crossover Long (XLF@1d)",
"priority": 4,
"trade_symbol": "XLF"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 1,
"type": "resistance_level"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_3_jpm",
"name": "Crossover Long (JPM@1d)",
"priority": 2,
"trade_symbol": "JPM"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 1,
"type": "resistance_level"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_3_gs",
"name": "Crossover Long (GS@1d)",
"priority": 3,
"trade_symbol": "GS"
},
{
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 1,
"type": "resistance_level"
}
}
],
"direction": "long",
"enabled": true,
"id": "entry_3_xlf",
"name": "Crossover Long (XLF@1d)",
"priority": 4,
"trade_symbol": "XLF"
}
],
"exit_rules": [
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
},
"operator": "crossed_below",
"right": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 21
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_jpm",
"name": "EMA Crosses Below Exit (JPM@1d)",
"priority": 1,
"purpose": "signal",
"target_symbol": "JPM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
},
"operator": "crossed_below",
"right": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 21
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_gs",
"name": "EMA Crosses Below Exit (GS@1d)",
"priority": 2,
"purpose": "signal",
"target_symbol": "GS"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 9
},
"type": "indicator"
},
"operator": "crossed_below",
"right": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"indicator": {
"name": "ema",
"period": 21
},
"type": "indicator"
}
}
],
"enabled": true,
"id": "exit_1_xlf",
"name": "EMA Crosses Below Exit (XLF@1d)",
"priority": 3,
"purpose": "signal",
"target_symbol": "XLF"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than_or_equal",
"right": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2_jpm",
"name": "TP: Fib Extension 127.2% (JPM@1d)",
"priority": 96,
"purpose": "take_profit",
"target_symbol": "JPM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than_or_equal",
"right": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2_gs",
"name": "TP: Fib Extension 127.2% (GS@1d)",
"priority": 97,
"purpose": "take_profit",
"target_symbol": "GS"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "greater_than_or_equal",
"right": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"ratio": 1272,
"type": "fibonacci_extension"
}
}
],
"enabled": true,
"id": "exit_2_xlf",
"name": "TP: Fib Extension 127.2% (XLF@1d)",
"priority": 98,
"purpose": "take_profit",
"target_symbol": "XLF"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 2,
"type": "support_level"
}
}
],
"enabled": true,
"id": "exit_3_jpm",
"name": "SL: Below Support[2] (JPM@1d)",
"priority": 100,
"purpose": "stop_loss",
"target_symbol": "JPM"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 2,
"type": "support_level"
}
}
],
"enabled": true,
"id": "exit_3_gs",
"name": "SL: Below Support[2] (GS@1d)",
"priority": 101,
"purpose": "stop_loss",
"target_symbol": "GS"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 2,
"type": "support_level"
}
}
],
"enabled": true,
"id": "exit_3_xlf",
"name": "SL: Below Support[2] (XLF@1d)",
"priority": 102,
"purpose": "stop_loss",
"target_symbol": "XLF"
},
{
"applies_to": "long",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 1,
"type": "support_level"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "JPM",
"timeframe": "1d"
},
"ratio": 786,
"type": "fibonacci_retracement"
}
}
],
"enabled": true,
"id": "exit_4_jpm",
"name": "SL: Below Support[1] (JPM@1d)",
"priority": 100,
"purpose": "stop_loss",
"target_symbol": "JPM"
},
{
"applies_to": "long",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 1,
"type": "support_level"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "GS",
"timeframe": "1d"
},
"ratio": 786,
"type": "fibonacci_retracement"
}
}
],
"enabled": true,
"id": "exit_4_gs",
"name": "SL: Below Support[1] (GS@1d)",
"priority": 101,
"purpose": "stop_loss",
"target_symbol": "GS"
},
{
"applies_to": "long",
"conditions": [
{
"left": {
"field": "close",
"type": "price"
},
"operator": "crossed_above",
"right": {
"rank": 1,
"type": "support_level"
}
},
{
"left": {
"field": "close",
"type": "price"
},
"operator": "less_than",
"right": {
"chart_ref": {
"symbol": "XLF",
"timeframe": "1d"
},
"ratio": 786,
"type": "fibonacci_retracement"
}
}
],
"enabled": true,
"id": "exit_4_xlf",
"name": "SL: Below Support[1] (XLF@1d)",
"priority": 102,
"purpose": "stop_loss",
"target_symbol": "XLF"
},
{
"applies_to": "both",
"conditions": [
{
"left": {
"field": "unrealized_pnl_percent",
"type": "position"
},
"operator": "less_than_or_equal",
"right": {
"type": "constant",
"value": -2.3248333333333333
}
}
],
"enabled": true,
"id": "exit_5",
"name": "Stop Loss at 2.3%",
"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": 4.649666666666667
}
}
],
"enabled": true,
"id": "exit_6",
"name": "Take Profit at 4.6%",
"priority": 100,
"purpose": "take_profit"
}
],
"position_sizing": {
"max_position_percent": 25,
"method": {
"fib_stop_ratio": 786,
"risk_percent": 2.3248333333333333,
"type": "fixed_risk"
},
"min_position_value": 100
},
"trigger_timeframe": "1d",
"version": 1
}Strategy instructions
Trading agent generated from recommendation idea 'Middle East war + hot inflation = perfect storm — rotate into big banks for safety and yield'. Thesis: The U.S. military strike on Iran in the Strait of Hormuz injects massive geopolitical risk into the market, driving investors to seek safe havens away from volatile tech stocks. At the same time, stubbornly high inflation over 4% has flipped Wall Street's expectations, meaning interest rates will stay elevated — which is bad for borrowing-heavy sectors but great for banks' net interest margins. JPMorgan and Goldman Sachs just passed the Fed's stress test with flying colors and announced a massive $50 billion buyback plus dividend hikes, giving them a fundamental floor. When you combine geopolitical fear, high interest rates, and massive shareholder return programs, big banks become the perfect defensive growth trade.
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