{"categories":["config","custom","data","discovery","feature-engineering","generate","indicators","ml-model","models","optimization","pos-rules","risk","risk-function","signal","template","train"],"examples":[{"category":"generate","code":"import requests\n\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"MACD (12,26,9)\",\n    \"signals\": \"Buy when MACD crosses above signal line, sell when crosses below\",\n    \"model\": \"XGBoost\",\n    \"optimization\": \"Maximize Sharpe ratio\",\n    \"risk\": \"Stop loss 0.3%\",\n    \"indicators\": {\"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9},\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Simple MACD crossover strategy with XGBoost","id":1,"title":"MACD Crossover \u2014 Basic"},{"category":"generate","code":"resp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"RSI 14, Bollinger Bands (20,2), Volume Z-score\",\n    \"signals\": \"Buy when RSI < 30 and price near lower BB, sell when RSI > 70 and price near upper BB\",\n    \"model\": \"Random Forest\",\n    \"optimization\": \"Maximize Calmar ratio\",\n    \"risk\": \"Stop loss 0.5%, max 3 trades per day\",\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0},\n    \"pos_rules\": {\"max_pos\": 1, \"on_opposite\": \"close_only\", \"direction\": \"both\", \"cooldown\": 2},\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers=HEADERS)","description":"Buy oversold RSI, sell overbought RSI with Bollinger confirmation","id":2,"title":"RSI Mean Reversion"},{"category":"generate","code":"resp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"EMA Cross (50/200), ATR 14\",\n    \"signals\": \"Buy when EMA 50 crosses above EMA 200 (golden cross)\",\n    \"model\": \"Gradient Boosting\",\n    \"optimization\": \"Maximize return\",\n    \"risk\": \"Stop loss 0.5%, Kelly position sizing\",\n    \"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"50,200\", \"atr_enabled\": true, \"atr_period\": 14},\n    \"pos_rules\": {\"max_pos\": 1, \"direction\": \"long\", \"on_opposite\": \"close_only\", \"cooldown\": 3},\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers=HEADERS)","description":"Long-only trend strategy using EMA 50/200 golden cross","id":3,"title":"EMA Trend Following \u2014 Long Only"},{"category":"generate","code":"resp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"Stochastic (14,3), Bollinger Bands (20,2), RSI 14, ATR 14\",\n    \"signals\": \"Buy when Stochastic K < 20 and price below lower BB, sell when K > 80 and price above upper BB\",\n    \"model\": \"XGBoost\",\n    \"optimization\": \"Maximize win rate\",\n    \"risk\": \"Stop loss 0.3%, max 3 trades per day\",\n    \"indicators\": {\n        \"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3,\n        \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0,\n        \"rsi_enabled\": true, \"rsi_period\": 14,\n        \"atr_enabled\": true, \"atr_period\": 14\n    },\n    \"pos_rules\": {\"max_pos\": 1, \"on_opposite\": \"reverse\", \"cooldown\": 1},\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers=HEADERS)","description":"High-frequency scalping with Stochastic oversold/overbought + Bollinger breakout","id":4,"title":"Stochastic + BB Scalper"},{"category":"generate","code":"resp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"SMA (50,200), RSI 14, Bollinger Bands (20,2), ATR 14\",\n    \"signals\": \"Buy when price above SMA 200, RSI between 40-60, and close to BB mid\",\n    \"model\": \"Logistic Regression\",\n    \"optimization\": \"Sharpe > 1 with MDD < 10%\",\n    \"risk\": \"Stop loss 0.5%, fixed 1% risk per trade\",\n    \"indicators\": {\n        \"sma_enabled\": true, \"sma_periods\": \"50,200\",\n        \"rsi_enabled\": true, \"rsi_period\": 14,\n        \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0,\n        \"atr_enabled\": true, \"atr_period\": 14\n    },\n    \"pos_rules\": {\"max_pos\": 1, \"direction\": \"long\", \"on_opposite\": \"close_only\", \"cooldown\": 5},\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers=HEADERS)","description":"Conservative strategy combining SMA, RSI, BB with tight drawdown control","id":5,"title":"Multi-Indicator Conservative"},{"category":"template","code":"resp = requests.post(\"https://api.quantifyme.ai/api/v1/generate/from-template\", json={\n    \"template\": \"macd_momentum\",\n    \"start_date\": \"2025-06-01\",\n    \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7,\n    \"claude_model\": \"sonnet\"\n}, headers=HEADERS)\n\nprint(resp.json()[\"template_name\"])  # \"MACD Momentum\"","description":"Use the built-in MACD Momentum template with no customization","id":6,"title":"Template \u2014 MACD Momentum"},{"category":"template","code":"resp = requests.post(\"https://api.quantifyme.ai/api/v1/generate/from-template\", json={\n    \"template\": \"scalper\",\n    \"start_date\": \"2025-06-01\",\n    \"end_date\": \"2026-04-01\",\n    \"pos_rules\": {\"direction\": \"long\"},\n    \"indicators\": {\"rsi_period\": 21},\n    \"claude_model\": \"sonnet\"\n}, headers=HEADERS)\n\n# Template indicators (stoch, bb, rsi, atr) preserved\n# RSI period overridden from 14 to 21\n# Direction overridden to long-only","description":"Use scalper template but override to long-only with custom RSI period","id":7,"title":"Template \u2014 Scalper, Long Only Override"},{"category":"template","code":"resp = requests.post(\"https://api.quantifyme.ai/api/v1/generate/from-template\", json={\n    \"template\": \"mean_reversion\",\n    \"start_date\": \"2025-06-01\",\n    \"end_date\": \"2026-04-01\",\n    \"risk_function\": \"Only trade during London-NY overlap (13:00-17:00 UTC), skip Fridays after 18:00\",\n    \"claude_model\": \"sonnet\"\n}, headers=HEADERS)","description":"Mean reversion template with custom risk filter for session hours","id":8,"title":"Template \u2014 Mean Reversion + Custom Risk"},{"category":"indicators","code":"resp = requests.post(\"https://api.quantifyme.ai/api/v1/indicators\", json={\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14},\n    \"symbol\": \"EURUSD\",\n    \"timeframe\": \"15min\",\n    \"limit\": 100,\n    \"format\": \"columns\"\n}, headers=HEADERS)\n\ndata = resp.json()\nprint(data[\"ind_rsi14\"][:5])     # [45.2, 48.1, 52.3, ...]\nprint(data[\"timestamps\"][:5])    # [\"2026-04-13 22:00:00\", ...]","description":"Get RSI 14 values for last 100 bars without training","id":9,"title":"Compute RSI Values"},{"category":"indicators","code":"resp = requests.post(\"https://api.quantifyme.ai/api/v1/indicators\", json={\n    \"indicators\": {\n        \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9,\n        \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0,\n        \"atr_enabled\": true, \"atr_period\": 14\n    },\n    \"symbol\": \"EURUSD\",\n    \"timeframe\": \"1h\",\n    \"start\": \"2026-04-01\",\n    \"limit\": 50,\n    \"format\": \"rows\"\n}, headers=HEADERS)\n\nfor row in resp.json()[\"data\"][:3]:\n    print(row[\"timestamp\"], row[\"ind_macd_line\"], row[\"ind_bb_pct\"])","description":"Get multiple indicators at once in row format","id":10,"title":"Compute MACD + BB + ATR"},{"category":"indicators","code":"resp = requests.post(\"https://api.quantifyme.ai/api/v1/indicators\", json={\n    \"indicators\": {\"sma_enabled\": true, \"sma_periods\": \"20,50,200\"},\n    \"timeframe\": \"15min\",\n    \"limit\": 200\n}, headers=HEADERS)\n\ndata = resp.json()\n# data[\"ind_sma20\"]    \u2014 raw SMA 20 values\n# data[\"ind_dm_sma20\"] \u2014 distance: (close - sma20) / sma20\n# data[\"ind_sma50\"], data[\"ind_dm_sma50\"], etc.\nprint(f\"Indicators computed: {data['meta']['indicators_computed']}\")","description":"SMA 20/50/200 with distance-from-price features","id":11,"title":"Compute SMA Distance from Price"},{"category":"custom","code":"resp = requests.post(\"https://api.quantifyme.ai/api/v1/indicators/custom\", json={\n    \"source\": \"Supertrend indicator with ATR period 10 and multiplier 3. Show buy/sell signals on crossover.\",\n    \"symbol\": \"EURUSD\",\n    \"timeframe\": \"15min\",\n    \"limit\": 2000,\n    \"provider\": \"anthropic\",\n    \"fe_mode\": \"basic\"\n}, headers=HEADERS)\n\nresult = resp.json()\nprint(f\"Name: {result['name']}\")\nprint(f\"Overlays: {len(result['overlays'])}\")\nprint(f\"Signals: {len(result['signals'])}\")\nprint(f\"Features: {list(result['features'].keys())}\")","description":"Generate a Supertrend indicator from natural language","id":12,"title":"Custom Indicator \u2014 Supertrend"},{"category":"custom","code":"resp = requests.post(\"https://api.quantifyme.ai/api/v1/indicators/custom\", json={\n    \"source\": \"Hull Moving Average (HMA) with period 20. Color green when rising, red when falling. Generate buy signal when HMA turns from falling to rising, sell when turns from rising to falling.\",\n    \"timeframe\": \"15min\",\n    \"fe_mode\": \"full\"\n}, headers=HEADERS)\n\nresult = resp.json()\nprint(f\"{result['name']}: {len(result['signals'])} signals\")\nprint(f\"ML features: {len(result['features'])} columns\")","description":"Hull Moving Average with trend coloring","id":13,"title":"Custom Indicator \u2014 Hull MA"},{"category":"custom","code":"pine_code = \"\"\"\n//@version=5\nindicator('RSI Divergence', overlay=false)\nrsi_len = input(14)\nrsi_val = ta.rsi(close, rsi_len)\nbull_div = rsi_val < 30 and rsi_val > rsi_val[5] and close < close[5]\nbear_div = rsi_val > 70 and rsi_val < rsi_val[5] and close > close[5]\nplot(rsi_val)\nplotshape(bull_div, style=shape.triangleup, location=location.bottom)\nplotshape(bear_div, style=shape.triangledown, location=location.top)\n\"\"\"\n\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/indicators/custom\", json={\n    \"source\": pine_code,\n    \"timeframe\": \"15min\",\n    \"fe_mode\": \"basic\"\n}, headers=HEADERS)","description":"Convert Pine Script RSI divergence detector to Python","id":14,"title":"Custom Indicator \u2014 Pine Script RSI Divergence"},{"category":"train","code":"import time\n\n# Step 1: Generate\ngen = requests.post(f\"{BASE}/api/v1/generate\", json={\n    \"features\": \"MACD, RSI 14\",\n    \"signals\": \"MACD crossover with RSI confirmation\",\n    \"model\": \"XGBoost\",\n    \"optimization\": \"Maximize Sharpe\",\n    \"risk\": \"Stop loss 0.3%\",\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers=HEADERS)\ncode = gen.json()[\"code\"]\n\n# Step 2: Train\ntrain = requests.post(f\"{BASE}/api/v1/train\", json={\n    \"code\": code, \"model_name\": \"My MACD Model\",\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"timeframe\": \"15min\"\n}, headers=HEADERS)\njob_id = train.json()[\"job_id\"]\n\n# Step 3: Poll\nwhile True:\n    s = requests.get(f\"{BASE}/api/v1/train/{job_id}\", headers=HEADERS).json()\n    print(s[\"status\"])\n    if s[\"status\"] in (\"done\", \"failed\"): break\n    time.sleep(3)\n\nif s[\"status\"] == \"done\":\n    print(s[\"metrics\"])","description":"Generate strategy, then submit for training and poll until done","id":15,"title":"Train Model from Generated Code"},{"category":"models","code":"resp = requests.get(f\"{BASE}/api/v1/models\", headers=HEADERS)\n\nfor m in resp.json()[\"models\"]:\n    print(f\"{m['model_name']:20} trained: {m.get('train_start','')} \u2192 {m.get('train_end','')}\")","description":"Fetch all your trained models with metadata","id":16,"title":"List All Trained Models"},{"category":"generate","code":"resp = requests.post(f\"{BASE}/api/v1/generate\", json={\n    \"features\": \"MACD (8,21,5), RSI 14\",\n    \"signals\": \"MACD crossover \u2014 faster periods for quicker entries\",\n    \"model\": \"XGBoost\",\n    \"optimization\": \"Maximize Sharpe ratio\",\n    \"risk\": \"Stop loss 0.3%\",\n    \"indicators\": {\"macd_enabled\": true, \"macd_fast\": 8, \"macd_slow\": 21, \"macd_signal\": 5, \"rsi_enabled\": true},\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers=HEADERS)","description":"MACD with non-standard periods (8,21,5) for faster signals","id":17,"title":"MACD with Custom Fast/Slow"},{"category":"generate","code":"resp = requests.post(f\"{BASE}/api/v1/generate\", json={\n    \"features\": \"RSI 14, Bollinger Bands (20,2)\",\n    \"signals\": \"Short when RSI > 75 and price above upper Bollinger Band\",\n    \"model\": \"Random Forest\",\n    \"optimization\": \"Maximize win rate\",\n    \"risk\": \"Stop loss 0.5%\",\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"bb_enabled\": true},\n    \"pos_rules\": {\"max_pos\": 1, \"direction\": \"short\", \"on_opposite\": \"ignore\", \"cooldown\": 3},\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers=HEADERS)","description":"Short-only RSI overbought strategy with ignore on opposite signals","id":18,"title":"Short-Only Strategy"},{"category":"generate","code":"resp = requests.post(f\"{BASE}/api/v1/generate\", json={\n    \"features\": \"MACD (12,26,9), ATR 14, Volume Z-score\",\n    \"signals\": \"MACD crossover with volume confirmation\",\n    \"model\": \"XGBoost\",\n    \"optimization\": \"Maximize Sharpe ratio\",\n    \"risk\": \"Stop loss 0.3%, fixed 1% risk per trade\",\n    \"risk_function\": \"Only trade during London-NY overlap (13:00-17:00 UTC). No trading on Fridays after 18:00 UTC. Skip if ATR is below its 20-bar average.\",\n    \"indicators\": {\"macd_enabled\": true, \"atr_enabled\": true, \"atr_period\": 14},\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers=HEADERS)","description":"Only trade during London-NY overlap with risk filter","id":19,"title":"Session-Filtered Strategy"},{"category":"discovery","code":"# No auth needed for discovery endpoints\npresets = requests.get(f\"{BASE}/api/v1/presets\").json()\n\nprint(\"Feature chips:\", presets[\"chips\"][\"features\"])\nprint(\"Signal chips:\", presets[\"chips\"][\"signals\"])\nprint(\"Model chips:\", presets[\"chips\"][\"model\"])\nprint()\nprint(\"Templates:\")\nfor key, t in presets[\"templates\"].items():\n    print(f\"  {key}: {t['name']} \u2014 {t['description']}\")\nprint()\nprint(\"Position rules:\")\nfor k, v in presets[\"pos_rules_schema\"].items():\n    print(f\"  {k}: options={v.get('options','any')}, default={v['default']}\")","description":"List all chip presets, templates, and position rules options","id":20,"title":"Discover Available Presets"},{"category":"discovery","code":"schema = requests.get(f\"{BASE}/api/v1/indicator-schema\").json()\n\nfor name, ind in schema[\"indicators\"].items():\n    params = \", \".join(f\"{k}={v['default']}\" for k, v in ind[\"params\"].items())\n    features = \", \".join(ind[\"features_generated\"])\n    print(f\"{name:8} | {ind['description'][:50]:50} | {params}\")\n    print(f\"{'':8} | features: {features}\")","description":"List all available indicators with params and defaults","id":21,"title":"Discover Indicator Schema"},{"category":"data","code":"resp = requests.get(f\"{BASE}/api/v1/ohlc\", params={\n    \"symbol\": \"EURUSD\",\n    \"timeframe\": \"15min\",\n    \"start\": \"2026-04-01\",\n    \"limit\": 100\n}, headers=HEADERS)\n\ndata = resp.json()\nprint(f\"{data['rows']} rows, {data['tokens_remaining']} tokens left\")\nfor bar in data[\"data\"][:3]:\n    print(f\"{bar['time']} O={bar['open']:.5f} H={bar['high']:.5f} L={bar['low']:.5f} C={bar['close']:.5f}\")","description":"Fetch raw OHLC candle data for analysis","id":22,"title":"Get OHLC Data"},{"category":"generate","code":"resp = requests.post(f\"{BASE}/api/v1/generate\", json={\n    \"features\": \"EMA Cross (50/200), ATR 14, RSI 14\",\n    \"signals\": \"MA crossover with RSI between 40-60 as filter\",\n    \"model\": \"Gradient Boosting\",\n    \"optimization\": \"Minimize max drawdown\",\n    \"risk\": \"ATR-based stop loss: stop = 2 x ATR(14). Position size = 1% account risk / stop distance. Scale down when ATR > 1.5x its 20-bar average.\",\n    \"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"50,200\", \"atr_enabled\": true, \"atr_period\": 14, \"rsi_enabled\": true},\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers=HEADERS)","description":"Use ATR to dynamically size positions \u2014 wider stops when volatile","id":23,"title":"ATR-Based Position Sizing"},{"category":"generate","code":"resp = requests.post(f\"{BASE}/api/v1/generate\", json={\n    \"features\": \"WMA 20, Stochastic (14,3), ATR 14\",\n    \"signals\": \"Buy when price above WMA and Stochastic crosses above 20 from below. Sell when price below WMA and Stochastic crosses below 80 from above.\",\n    \"model\": \"XGBoost\",\n    \"optimization\": \"Maximize Sharpe ratio\",\n    \"risk\": \"Stop loss 0.4%\",\n    \"indicators\": {\"wma_enabled\": true, \"wma_periods\": \"20\", \"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3, \"atr_enabled\": true},\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers=HEADERS)","description":"Weighted Moving Average trend + Stochastic timing","id":24,"title":"WMA + Stochastic Combo"},{"category":"generate","code":"resp = requests.post(f\"{BASE}/api/v1/generate\", json={\n    \"features\": \"MACD (12,26,9), RSI 14, Bollinger Bands (20,2)\",\n    \"signals\": \"MACD crossover confirmed by RSI\",\n    \"model\": \"XGBoost\",\n    \"optimization\": \"Maximize return\",\n    \"risk\": \"Stop loss 0.3% per position\",\n    \"indicators\": {\"macd_enabled\": true, \"rsi_enabled\": true, \"bb_enabled\": true},\n    \"pos_rules\": {\"max_pos\": 2, \"on_opposite\": \"reverse\", \"direction\": \"both\", \"cooldown\": 5},\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers=HEADERS)","description":"Allow 2 concurrent positions with 5-bar cooldown between trades","id":25,"title":"Max 2 Positions + Cooldown"},{"category":"config","code":"\"capital\": 10000,\n\"lot_size\": 1.0,\n\"leverage\": 30,\n\"confidence_threshold\": 55,\n\"commission\": 6.0,\n\"swap_long\": -1.0,\n\"swap_short\": 0.3,\n\"timeframe\": \"15min\"","description":"Default config \u2014 $10K capital, 1 lot, 30x leverage, 55% threshold","id":100,"title":"Config: Default (beginner)"},{"category":"config","code":"\"capital\": 10000,\n\"lot_size\": 0.5,\n\"leverage\": 50,\n\"confidence_threshold\": 65,\n\"commission\": 6.0,\n\"swap_long\": -1.0,\n\"swap_short\": 0.3,\n\"timeframe\": \"15min\"","description":"Lower leverage, tighter threshold","id":101,"title":"Config: Conservative"},{"category":"config","code":"\"capital\": 10000,\n\"lot_size\": 2.0,\n\"leverage\": 200,\n\"confidence_threshold\": 50,\n\"commission\": 6.0,\n\"swap_long\": -1.0,\n\"swap_short\": 0.3,\n\"timeframe\": \"15min\"","description":"Higher leverage, lower threshold","id":102,"title":"Config: Aggressive"},{"category":"config","code":"\"capital\": 1000,\n\"lot_size\": 0.1,\n\"leverage\": 100,\n\"confidence_threshold\": 55,\n\"commission\": 0.6,\n\"swap_long\": -0.1,\n\"swap_short\": 0.03,\n\"timeframe\": \"15min\"","description":"$1K capital, 0.1 lot","id":103,"title":"Config: Micro account"},{"category":"config","code":"\"capital\": 100000,\n\"lot_size\": 10.0,\n\"leverage\": 100,\n\"confidence_threshold\": 60,\n\"commission\": 60.0,\n\"swap_long\": -10.0,\n\"swap_short\": 3.0,\n\"timeframe\": \"15min\"","description":"$100K capital, 10 lots","id":104,"title":"Config: Large account"},{"category":"config","code":"\"timeframe\": \"1min\",\n\"confidence_threshold\": 50","description":"1-minute timeframe","id":105,"title":"Config: 1-min scalping"},{"category":"config","code":"\"timeframe\": \"5min\",\n\"confidence_threshold\": 55","description":"5-minute timeframe","id":106,"title":"Config: 5-min intraday"},{"category":"config","code":"\"timeframe\": \"1h\",\n\"leverage\": 50,\n\"confidence_threshold\": 60","description":"1-hour timeframe","id":107,"title":"Config: 1-hour swing"},{"category":"config","code":"\"confidence_threshold\": 70\n# Fewer trades, higher conviction","description":"Only trade when very confident","id":108,"title":"Config: High confidence (70%)"},{"category":"config","code":"\"confidence_threshold\": 50\n# More trades, more noise","description":"Trade on any edge","id":109,"title":"Config: Low threshold (50%)"},{"category":"config","code":"\"commission\": 0.0,\n\"swap_long\": 0.0,\n\"swap_short\": 0.0\n# Tests pure signal quality","description":"No costs \u2014 pure signal test","id":110,"title":"Config: Zero commission"},{"category":"config","code":"\"commission\": 12.0,\n\"swap_long\": -2.0,\n\"swap_short\": 0.6\n# If still profitable, strategy is robust","description":"Double costs \u2014 stress test","id":111,"title":"Config: High commission stress"},{"category":"config","code":"\"train_split\": 0.8\n# 80% train, 20% test","description":"More training data","id":112,"title":"Config: 80/20 split"},{"category":"config","code":"\"train_split\": 0.6\n# 60% train, 40% test \u2014 better validation","description":"More validation data","id":113,"title":"Config: 60/40 split"},{"category":"config","code":"\"start_date\": \"2026-03-01\",\n\"end_date\": \"2026-04-01\"","description":"Quick test","id":114,"title":"Config: Short range (1 month)"},{"category":"config","code":"\"start_date\": \"2025-06-01\",\n\"end_date\": \"2026-04-01\"","description":"Maximum data","id":115,"title":"Config: Full range (10 months)"},{"category":"config","code":"\"pos_rules\": {\"max_pos\": 1, \"direction\": \"long\", \"on_opposite\": \"close_only\", \"cooldown\": 0}","description":"Only buy positions","id":116,"title":"Config: Long only"},{"category":"config","code":"\"pos_rules\": {\"max_pos\": 1, \"direction\": \"short\", \"on_opposite\": \"close_only\", \"cooldown\": 0}","description":"Only sell positions","id":117,"title":"Config: Short only"},{"category":"config","code":"\"pos_rules\": {\"max_pos\": 2, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 5}","description":"Allow 2 concurrent, 5-bar cooldown","id":118,"title":"Config: 2 positions + cooldown"},{"category":"config","code":"\"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"ignore\", \"cooldown\": 0}\n# Stays until stop/TP","description":"Stay in trade, ignore reversals","id":119,"title":"Config: Ignore opposite"},{"category":"config","code":"{\n    \"capital\": 10000, \"lot_size\": 0.5,\n    \"leverage\": 50, \"confidence_threshold\": 60,\n    \"commission\": 6.0, \"timeframe\": \"5min\",\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7\n}","description":"Complete config combo","id":120,"title":"Config: Conservative scalper (full)"},{"category":"config","code":"{\n    \"capital\": 50000, \"lot_size\": 5.0,\n    \"leverage\": 200, \"confidence_threshold\": 55,\n    \"commission\": 30.0, \"timeframe\": \"1h\",\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.8\n}","description":"Complete config combo","id":121,"title":"Config: Aggressive trend (full)"},{"category":"feature-engineering","code":"import requests\n\n# FE: RSI 14 only\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Single indicator \u2014 RSI default period 14","id":26,"short":"# FE: RSI 14 only\n\"features\": \"RSI 14\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14}   # exact params enforced","subcategory":"RSI","title":"FE: RSI 14 only"},{"category":"feature-engineering","code":"import requests\n\n# FE: RSI 7 (fast)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 7},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Fast RSI for scalping","id":27,"short":"# FE: RSI 7 (fast)\n\"features\": \"RSI 7\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 7}   # exact params enforced","subcategory":"RSI","title":"FE: RSI 7 (fast)"},{"category":"feature-engineering","code":"import requests\n\n# FE: RSI 21 (slow)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 21},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Slow RSI for swing trading","id":28,"short":"# FE: RSI 21 (slow)\n\"features\": \"RSI 21\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 21}   # exact params enforced","subcategory":"RSI","title":"FE: RSI 21 (slow)"},{"category":"feature-engineering","code":"import requests\n\n# FE: RSI 5 (ultra-fast)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 5},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Ultra-fast RSI","id":29,"short":"# FE: RSI 5 (ultra-fast)\n\"features\": \"RSI 5\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 5}   # exact params enforced","subcategory":"RSI","title":"FE: RSI 5 (ultra-fast)"},{"category":"feature-engineering","code":"import requests\n\n# FE: MACD standard (12,26,9)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Standard MACD","id":30,"short":"# FE: MACD standard (12,26,9)\n\"features\": \"MACD (12,26,9)\",   # NL context for Claude\n\"indicators\": {\"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9}   # exact params enforced","subcategory":"MACD","title":"FE: MACD standard (12,26,9)"},{"category":"feature-engineering","code":"import requests\n\n# FE: MACD fast (8,21,5)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"macd_enabled\": true, \"macd_fast\": 8, \"macd_slow\": 21, \"macd_signal\": 5},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Faster MACD","id":31,"short":"# FE: MACD fast (8,21,5)\n\"features\": \"MACD (8,21,5)\",   # NL context for Claude\n\"indicators\": {\"macd_enabled\": true, \"macd_fast\": 8, \"macd_slow\": 21, \"macd_signal\": 5}   # exact params enforced","subcategory":"MACD","title":"FE: MACD fast (8,21,5)"},{"category":"feature-engineering","code":"import requests\n\n# FE: MACD slow (19,39,9)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"macd_enabled\": true, \"macd_fast\": 19, \"macd_slow\": 39, \"macd_signal\": 9},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Slow MACD","id":32,"short":"# FE: MACD slow (19,39,9)\n\"features\": \"MACD (19,39,9)\",   # NL context for Claude\n\"indicators\": {\"macd_enabled\": true, \"macd_fast\": 19, \"macd_slow\": 39, \"macd_signal\": 9}   # exact params enforced","subcategory":"MACD","title":"FE: MACD slow (19,39,9)"},{"category":"feature-engineering","code":"import requests\n\n# FE: MACD ultra-fast (5,13,3)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"macd_enabled\": true, \"macd_fast\": 5, \"macd_slow\": 13, \"macd_signal\": 3},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Ultra-fast MACD","id":33,"short":"# FE: MACD ultra-fast (5,13,3)\n\"features\": \"MACD (5,13,3)\",   # NL context for Claude\n\"indicators\": {\"macd_enabled\": true, \"macd_fast\": 5, \"macd_slow\": 13, \"macd_signal\": 3}   # exact params enforced","subcategory":"MACD","title":"FE: MACD ultra-fast (5,13,3)"},{"category":"feature-engineering","code":"import requests\n\n# FE: BB standard (20,2)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Standard BB","id":34,"short":"# FE: BB standard (20,2)\n\"features\": \"Bollinger Bands (20,2)\",   # NL context for Claude\n\"indicators\": {\"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0}   # exact params enforced","subcategory":"Bollinger Bands","title":"FE: BB standard (20,2)"},{"category":"feature-engineering","code":"import requests\n\n# FE: BB tight (20,1.5)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 1.5},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Tighter bands","id":35,"short":"# FE: BB tight (20,1.5)\n\"features\": \"Bollinger Bands (20,1.5)\",   # NL context for Claude\n\"indicators\": {\"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 1.5}   # exact params enforced","subcategory":"Bollinger Bands","title":"FE: BB tight (20,1.5)"},{"category":"feature-engineering","code":"import requests\n\n# FE: BB wide (20,2.5)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.5},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Wider bands","id":36,"short":"# FE: BB wide (20,2.5)\n\"features\": \"Bollinger Bands (20,2.5)\",   # NL context for Claude\n\"indicators\": {\"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.5}   # exact params enforced","subcategory":"Bollinger Bands","title":"FE: BB wide (20,2.5)"},{"category":"feature-engineering","code":"import requests\n\n# FE: BB fast (10,2)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"bb_enabled\": true, \"bb_period\": 10, \"bb_std\": 2.0},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Fast BB","id":37,"short":"# FE: BB fast (10,2)\n\"features\": \"Bollinger Bands (10,2)\",   # NL context for Claude\n\"indicators\": {\"bb_enabled\": true, \"bb_period\": 10, \"bb_std\": 2.0}   # exact params enforced","subcategory":"Bollinger Bands","title":"FE: BB fast (10,2)"},{"category":"feature-engineering","code":"import requests\n\n# FE: BB slow (50,2)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"bb_enabled\": true, \"bb_period\": 50, \"bb_std\": 2.0},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Slow BB","id":38,"short":"# FE: BB slow (50,2)\n\"features\": \"Bollinger Bands (50,2)\",   # NL context for Claude\n\"indicators\": {\"bb_enabled\": true, \"bb_period\": 50, \"bb_std\": 2.0}   # exact params enforced","subcategory":"Bollinger Bands","title":"FE: BB slow (50,2)"},{"category":"feature-engineering","code":"import requests\n\n# FE: SMA 20/50/200\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"sma_enabled\": true, \"sma_periods\": \"20,50,200\"},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Classic triple SMA","id":39,"short":"# FE: SMA 20/50/200\n\"features\": \"SMA 20, 50, 200\",   # NL context for Claude\n\"indicators\": {\"sma_enabled\": true, \"sma_periods\": \"20,50,200\"}   # exact params enforced","subcategory":"SMA","title":"FE: SMA 20/50/200"},{"category":"feature-engineering","code":"import requests\n\n# FE: SMA 10/30\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"sma_enabled\": true, \"sma_periods\": \"10,30\"},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Fast SMA pair","id":40,"short":"# FE: SMA 10/30\n\"features\": \"SMA 10/30\",   # NL context for Claude\n\"indicators\": {\"sma_enabled\": true, \"sma_periods\": \"10,30\"}   # exact params enforced","subcategory":"SMA","title":"FE: SMA 10/30"},{"category":"feature-engineering","code":"import requests\n\n# FE: SMA 50/100/200\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"sma_enabled\": true, \"sma_periods\": \"50,100,200\"},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Position trading SMA","id":41,"short":"# FE: SMA 50/100/200\n\"features\": \"SMA 50/100/200\",   # NL context for Claude\n\"indicators\": {\"sma_enabled\": true, \"sma_periods\": \"50,100,200\"}   # exact params enforced","subcategory":"SMA","title":"FE: SMA 50/100/200"},{"category":"feature-engineering","code":"import requests\n\n# FE: SMA single 200\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"sma_enabled\": true, \"sma_periods\": \"200\"},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"SMA 200 trend king","id":42,"short":"# FE: SMA single 200\n\"features\": \"SMA 200\",   # NL context for Claude\n\"indicators\": {\"sma_enabled\": true, \"sma_periods\": \"200\"}   # exact params enforced","subcategory":"SMA","title":"FE: SMA single 200"},{"category":"feature-engineering","code":"import requests\n\n# FE: EMA 9/21/50\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"9,21,50\"},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Fast EMA trio","id":43,"short":"# FE: EMA 9/21/50\n\"features\": \"EMA 9/21/50\",   # NL context for Claude\n\"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"9,21,50\"}   # exact params enforced","subcategory":"EMA","title":"FE: EMA 9/21/50"},{"category":"feature-engineering","code":"import requests\n\n# FE: EMA 50/200 (golden cross)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"50,200\"},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Golden cross","id":44,"short":"# FE: EMA 50/200 (golden cross)\n\"features\": \"EMA 50/200\",   # NL context for Claude\n\"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"50,200\"}   # exact params enforced","subcategory":"EMA","title":"FE: EMA 50/200 (golden cross)"},{"category":"feature-engineering","code":"import requests\n\n# FE: EMA 5/13/34 (Fibonacci)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"5,13,34\"},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Fibonacci EMA","id":45,"short":"# FE: EMA 5/13/34 (Fibonacci)\n\"features\": \"EMA 5/13/34\",   # NL context for Claude\n\"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"5,13,34\"}   # exact params enforced","subcategory":"EMA","title":"FE: EMA 5/13/34 (Fibonacci)"},{"category":"feature-engineering","code":"import requests\n\n# FE: EMA 8/21 scalping\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"8,21\"},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Fast EMA scalping","id":46,"short":"# FE: EMA 8/21 scalping\n\"features\": \"EMA 8/21\",   # NL context for Claude\n\"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"8,21\"}   # exact params enforced","subcategory":"EMA","title":"FE: EMA 8/21 scalping"},{"category":"feature-engineering","code":"import requests\n\n# FE: WMA 20\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"wma_enabled\": true, \"wma_periods\": \"20\"},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Weighted MA","id":47,"short":"# FE: WMA 20\n\"features\": \"WMA 20\",   # NL context for Claude\n\"indicators\": {\"wma_enabled\": true, \"wma_periods\": \"20\"}   # exact params enforced","subcategory":"WMA","title":"FE: WMA 20"},{"category":"feature-engineering","code":"import requests\n\n# FE: WMA 10/30\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"wma_enabled\": true, \"wma_periods\": \"10,30\"},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"WMA crossover","id":48,"short":"# FE: WMA 10/30\n\"features\": \"WMA 10/30\",   # NL context for Claude\n\"indicators\": {\"wma_enabled\": true, \"wma_periods\": \"10,30\"}   # exact params enforced","subcategory":"WMA","title":"FE: WMA 10/30"},{"category":"feature-engineering","code":"import requests\n\n# FE: Stochastic (14,3)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Standard Stochastic","id":49,"short":"# FE: Stochastic (14,3)\n\"features\": \"Stochastic (14,3)\",   # NL context for Claude\n\"indicators\": {\"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3}   # exact params enforced","subcategory":"Stochastic","title":"FE: Stochastic (14,3)"},{"category":"feature-engineering","code":"import requests\n\n# FE: Stochastic fast (5,3)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"stoch_enabled\": true, \"stoch_k\": 5, \"stoch_d\": 3},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Fast Stochastic","id":50,"short":"# FE: Stochastic fast (5,3)\n\"features\": \"Stochastic (5,3)\",   # NL context for Claude\n\"indicators\": {\"stoch_enabled\": true, \"stoch_k\": 5, \"stoch_d\": 3}   # exact params enforced","subcategory":"Stochastic","title":"FE: Stochastic fast (5,3)"},{"category":"feature-engineering","code":"import requests\n\n# FE: Stochastic slow (21,5)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"stoch_enabled\": true, \"stoch_k\": 21, \"stoch_d\": 5},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Slow Stochastic","id":51,"short":"# FE: Stochastic slow (21,5)\n\"features\": \"Stochastic (21,5)\",   # NL context for Claude\n\"indicators\": {\"stoch_enabled\": true, \"stoch_k\": 21, \"stoch_d\": 5}   # exact params enforced","subcategory":"Stochastic","title":"FE: Stochastic slow (21,5)"},{"category":"feature-engineering","code":"import requests\n\n# FE: ATR 14\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"atr_enabled\": true, \"atr_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Average True Range","id":52,"short":"# FE: ATR 14\n\"features\": \"ATR 14\",   # NL context for Claude\n\"indicators\": {\"atr_enabled\": true, \"atr_period\": 14}   # exact params enforced","subcategory":"ATR","title":"FE: ATR 14"},{"category":"feature-engineering","code":"import requests\n\n# FE: ATR 7 (fast)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"atr_enabled\": true, \"atr_period\": 7},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Fast ATR","id":53,"short":"# FE: ATR 7 (fast)\n\"features\": \"ATR 7\",   # NL context for Claude\n\"indicators\": {\"atr_enabled\": true, \"atr_period\": 7}   # exact params enforced","subcategory":"ATR","title":"FE: ATR 7 (fast)"},{"category":"feature-engineering","code":"import requests\n\n# FE: ATR 21 (slow)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"atr_enabled\": true, \"atr_period\": 21},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Slow ATR","id":54,"short":"# FE: ATR 21 (slow)\n\"features\": \"ATR 21\",   # NL context for Claude\n\"indicators\": {\"atr_enabled\": true, \"atr_period\": 21}   # exact params enforced","subcategory":"ATR","title":"FE: ATR 21 (slow)"},{"category":"feature-engineering","code":"import requests\n\n# FE: RSI + MACD\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Momentum + trend","id":55,"short":"# FE: RSI + MACD\n\"features\": \"RSI 14, MACD (12,26,9)\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9}   # exact params enforced","subcategory":"2-Indicator Combos","title":"FE: RSI + MACD"},{"category":"feature-engineering","code":"import requests\n\n# FE: RSI + BB\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"RSI + Bollinger","id":56,"short":"# FE: RSI + BB\n\"features\": \"RSI 14, Bollinger Bands (20,2)\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0}   # exact params enforced","subcategory":"2-Indicator Combos","title":"FE: RSI + BB"},{"category":"feature-engineering","code":"import requests\n\n# FE: RSI + EMA\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"ema_enabled\": true, \"ema_periods\": \"50,200\"},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"RSI + EMA trend","id":57,"short":"# FE: RSI + EMA\n\"features\": \"RSI 14, EMA 50/200\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"ema_enabled\": true, \"ema_periods\": \"50,200\"}   # exact params enforced","subcategory":"2-Indicator Combos","title":"FE: RSI + EMA"},{"category":"feature-engineering","code":"import requests\n\n# FE: RSI + ATR\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"atr_enabled\": true, \"atr_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"RSI + ATR sizing","id":58,"short":"# FE: RSI + ATR\n\"features\": \"RSI 14, ATR 14\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"atr_enabled\": true, \"atr_period\": 14}   # exact params enforced","subcategory":"2-Indicator Combos","title":"FE: RSI + ATR"},{"category":"feature-engineering","code":"import requests\n\n# FE: RSI + Stochastic\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Double oscillator","id":59,"short":"# FE: RSI + Stochastic\n\"features\": \"RSI 14, Stochastic (14,3)\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3}   # exact params enforced","subcategory":"2-Indicator Combos","title":"FE: RSI + Stochastic"},{"category":"feature-engineering","code":"import requests\n\n# FE: MACD + BB\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"MACD + Bollinger","id":60,"short":"# FE: MACD + BB\n\"features\": \"MACD (12,26,9), Bollinger Bands (20,2)\",   # NL context for Claude\n\"indicators\": {\"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0}   # exact params enforced","subcategory":"2-Indicator Combos","title":"FE: MACD + BB"},{"category":"feature-engineering","code":"import requests\n\n# FE: MACD + ATR\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"atr_enabled\": true, \"atr_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"MACD + ATR","id":61,"short":"# FE: MACD + ATR\n\"features\": \"MACD (12,26,9), ATR 14\",   # NL context for Claude\n\"indicators\": {\"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"atr_enabled\": true, \"atr_period\": 14}   # exact params enforced","subcategory":"2-Indicator Combos","title":"FE: MACD + ATR"},{"category":"feature-engineering","code":"import requests\n\n# FE: MACD + EMA\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"ema_enabled\": true, \"ema_periods\": \"50,200\"},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"MACD + EMA","id":62,"short":"# FE: MACD + EMA\n\"features\": \"MACD (12,26,9), EMA 50/200\",   # NL context for Claude\n\"indicators\": {\"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"ema_enabled\": true, \"ema_periods\": \"50,200\"}   # exact params enforced","subcategory":"2-Indicator Combos","title":"FE: MACD + EMA"},{"category":"feature-engineering","code":"import requests\n\n# FE: EMA + BB\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"50,200\", \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"EMA + Bollinger","id":63,"short":"# FE: EMA + BB\n\"features\": \"EMA 50/200, Bollinger Bands (20,2)\",   # NL context for Claude\n\"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"50,200\", \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0}   # exact params enforced","subcategory":"2-Indicator Combos","title":"FE: EMA + BB"},{"category":"feature-engineering","code":"import requests\n\n# FE: EMA + ATR\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"50,200\", \"atr_enabled\": true, \"atr_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"EMA + ATR","id":64,"short":"# FE: EMA + ATR\n\"features\": \"EMA 50/200, ATR 14\",   # NL context for Claude\n\"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"50,200\", \"atr_enabled\": true, \"atr_period\": 14}   # exact params enforced","subcategory":"2-Indicator Combos","title":"FE: EMA + ATR"},{"category":"feature-engineering","code":"import requests\n\n# FE: SMA + RSI\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"sma_enabled\": true, \"sma_periods\": \"50,200\", \"rsi_enabled\": true, \"rsi_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"SMA + RSI","id":65,"short":"# FE: SMA + RSI\n\"features\": \"SMA 50/200, RSI 14\",   # NL context for Claude\n\"indicators\": {\"sma_enabled\": true, \"sma_periods\": \"50,200\", \"rsi_enabled\": true, \"rsi_period\": 14}   # exact params enforced","subcategory":"2-Indicator Combos","title":"FE: SMA + RSI"},{"category":"feature-engineering","code":"import requests\n\n# FE: Stoch + BB\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Stochastic + BB","id":66,"short":"# FE: Stoch + BB\n\"features\": \"Stochastic (14,3), Bollinger Bands (20,2)\",   # NL context for Claude\n\"indicators\": {\"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0}   # exact params enforced","subcategory":"2-Indicator Combos","title":"FE: Stoch + BB"},{"category":"feature-engineering","code":"import requests\n\n# FE: Stoch + ATR\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3, \"atr_enabled\": true, \"atr_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Stochastic + ATR","id":67,"short":"# FE: Stoch + ATR\n\"features\": \"Stochastic (14,3), ATR 14\",   # NL context for Claude\n\"indicators\": {\"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3, \"atr_enabled\": true, \"atr_period\": 14}   # exact params enforced","subcategory":"2-Indicator Combos","title":"FE: Stoch + ATR"},{"category":"feature-engineering","code":"import requests\n\n# FE: RSI + MACD + BB\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Triple combo","id":68,"short":"# FE: RSI + MACD + BB\n\"features\": \"RSI 14, MACD (12,26,9), Bollinger Bands (20,2)\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0}   # exact params enforced","subcategory":"3-4 Indicator Combos","title":"FE: RSI + MACD + BB"},{"category":"feature-engineering","code":"import requests\n\n# FE: RSI + MACD + ATR\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"atr_enabled\": true, \"atr_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Momentum+trend+vol","id":69,"short":"# FE: RSI + MACD + ATR\n\"features\": \"RSI 14, MACD (12,26,9), ATR 14\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"atr_enabled\": true, \"atr_period\": 14}   # exact params enforced","subcategory":"3-4 Indicator Combos","title":"FE: RSI + MACD + ATR"},{"category":"feature-engineering","code":"import requests\n\n# FE: RSI + EMA + ATR\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"ema_enabled\": true, \"ema_periods\": \"50,200\", \"atr_enabled\": true, \"atr_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"RSI+EMA+ATR","id":70,"short":"# FE: RSI + EMA + ATR\n\"features\": \"RSI 14, EMA 50/200, ATR 14\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"ema_enabled\": true, \"ema_periods\": \"50,200\", \"atr_enabled\": true, \"atr_period\": 14}   # exact params enforced","subcategory":"3-4 Indicator Combos","title":"FE: RSI + EMA + ATR"},{"category":"feature-engineering","code":"import requests\n\n# FE: MACD + BB + ATR\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0, \"atr_enabled\": true, \"atr_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Trend+vol+sizing","id":71,"short":"# FE: MACD + BB + ATR\n\"features\": \"MACD (12,26,9), BB (20,2), ATR 14\",   # NL context for Claude\n\"indicators\": {\"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0, \"atr_enabled\": true, \"atr_period\": 14}   # exact params enforced","subcategory":"3-4 Indicator Combos","title":"FE: MACD + BB + ATR"},{"category":"feature-engineering","code":"import requests\n\n# FE: EMA + BB + RSI\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"50,200\", \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0, \"rsi_enabled\": true, \"rsi_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Trend+vol+momentum","id":72,"short":"# FE: EMA + BB + RSI\n\"features\": \"EMA 50/200, BB (20,2), RSI 14\",   # NL context for Claude\n\"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"50,200\", \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0, \"rsi_enabled\": true, \"rsi_period\": 14}   # exact params enforced","subcategory":"3-4 Indicator Combos","title":"FE: EMA + BB + RSI"},{"category":"feature-engineering","code":"import requests\n\n# FE: Stoch + RSI + BB\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3, \"rsi_enabled\": true, \"rsi_period\": 14, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Double osc+vol","id":73,"short":"# FE: Stoch + RSI + BB\n\"features\": \"Stochastic (14,3), RSI 14, BB (20,2)\",   # NL context for Claude\n\"indicators\": {\"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3, \"rsi_enabled\": true, \"rsi_period\": 14, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0}   # exact params enforced","subcategory":"3-4 Indicator Combos","title":"FE: Stoch + RSI + BB"},{"category":"feature-engineering","code":"import requests\n\n# FE: Stoch + MACD + ATR\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"atr_enabled\": true, \"atr_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Osc+trend+vol","id":74,"short":"# FE: Stoch + MACD + ATR\n\"features\": \"Stochastic (14,3), MACD (12,26,9), ATR 14\",   # NL context for Claude\n\"indicators\": {\"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"atr_enabled\": true, \"atr_period\": 14}   # exact params enforced","subcategory":"3-4 Indicator Combos","title":"FE: Stoch + MACD + ATR"},{"category":"feature-engineering","code":"import requests\n\n# FE: SMA + EMA combo\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"sma_enabled\": true, \"sma_periods\": \"200\", \"ema_enabled\": true, \"ema_periods\": \"9,21\"},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"SMA trend+EMA entries","id":75,"short":"# FE: SMA + EMA combo\n\"features\": \"SMA 200, EMA 9/21\",   # NL context for Claude\n\"indicators\": {\"sma_enabled\": true, \"sma_periods\": \"200\", \"ema_enabled\": true, \"ema_periods\": \"9,21\"}   # exact params enforced","subcategory":"2-Indicator Combos","title":"FE: SMA + EMA combo"},{"category":"feature-engineering","code":"import requests\n\n# FE: RSI+MACD+BB+ATR\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0, \"atr_enabled\": true, \"atr_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Full quad","id":76,"short":"# FE: RSI+MACD+BB+ATR\n\"features\": \"RSI 14, MACD, BB, ATR\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0, \"atr_enabled\": true, \"atr_period\": 14}   # exact params enforced","subcategory":"3-4 Indicator Combos","title":"FE: RSI+MACD+BB+ATR"},{"category":"feature-engineering","code":"import requests\n\n# FE: RSI+MACD+EMA+ATR\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"ema_enabled\": true, \"ema_periods\": \"50,200\", \"atr_enabled\": true, \"atr_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Momentum+trend+vol","id":77,"short":"# FE: RSI+MACD+EMA+ATR\n\"features\": \"RSI 14, MACD, EMA 50/200, ATR 14\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"ema_enabled\": true, \"ema_periods\": \"50,200\", \"atr_enabled\": true, \"atr_period\": 14}   # exact params enforced","subcategory":"3-4 Indicator Combos","title":"FE: RSI+MACD+EMA+ATR"},{"category":"feature-engineering","code":"import requests\n\n# FE: Stoch+RSI+MACD+ATR\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3, \"rsi_enabled\": true, \"rsi_period\": 14, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"atr_enabled\": true, \"atr_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Double osc+trend+vol","id":78,"short":"# FE: Stoch+RSI+MACD+ATR\n\"features\": \"Stoch, RSI, MACD, ATR\",   # NL context for Claude\n\"indicators\": {\"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3, \"rsi_enabled\": true, \"rsi_period\": 14, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"atr_enabled\": true, \"atr_period\": 14}   # exact params enforced","subcategory":"3-4 Indicator Combos","title":"FE: Stoch+RSI+MACD+ATR"},{"category":"feature-engineering","code":"import requests\n\n# FE: EMA+SMA+BB+RSI\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"9,21\", \"sma_enabled\": true, \"sma_periods\": \"50,200\", \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0, \"rsi_enabled\": true, \"rsi_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Double MA+vol+momentum","id":79,"short":"# FE: EMA+SMA+BB+RSI\n\"features\": \"EMA 9/21, SMA 50/200, BB, RSI\",   # NL context for Claude\n\"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"9,21\", \"sma_enabled\": true, \"sma_periods\": \"50,200\", \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0, \"rsi_enabled\": true, \"rsi_period\": 14}   # exact params enforced","subcategory":"3-4 Indicator Combos","title":"FE: EMA+SMA+BB+RSI"},{"category":"feature-engineering","code":"import requests\n\n# FE: All 5 core\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0, \"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3, \"atr_enabled\": true, \"atr_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"RSI+MACD+BB+Stoch+ATR","id":80,"short":"# FE: All 5 core\n\"features\": \"All 5 core indicators\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0, \"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3, \"atr_enabled\": true, \"atr_period\": 14}   # exact params enforced","subcategory":"All Indicators","title":"FE: All 5 core"},{"category":"feature-engineering","code":"import requests\n\n# FE: All 8 (kitchen sink)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"sma_enabled\": true, \"sma_periods\": \"20,50,200\", \"ema_enabled\": true, \"ema_periods\": \"9,21,50\", \"wma_enabled\": true, \"wma_periods\": \"20\", \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0, \"rsi_enabled\": true, \"rsi_period\": 14, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3, \"atr_enabled\": true, \"atr_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Every indicator","id":81,"short":"# FE: All 8 (kitchen sink)\n\"features\": \"All 8 indicators\",   # NL context for Claude\n\"indicators\": {\"sma_enabled\": true, \"sma_periods\": \"20,50,200\", \"ema_enabled\": true, \"ema_periods\": \"9,21,50\", \"wma_enabled\": true, \"wma_periods\": \"20\", \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0, \"rsi_enabled\": true, \"rsi_period\": 14, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3, \"atr_enabled\": true, \"atr_period\": 14}   # exact params enforced","subcategory":"All Indicators","title":"FE: All 8 (kitchen sink)"},{"category":"feature-engineering","code":"import requests\n\n# FE: NL \u2014 price action\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"features\": \"Candle body ratio, wicks, engulfing, doji, hammer/shooting star, consecutive bull/bear count\",   # NL only \u2014 Claude interprets freely\n    \"indicators\": {},   # no structured params \u2014 relying on NL above\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Candle patterns","id":82,"short":"# FE: NL \u2014 price action\n\"features\": \"Candle body ratio, wicks, engulfing, doji, hammer/shooting star, consecutive bull/bear count\",   # NL only \u2014 Claude interprets freely\n\"indicators\": {}   # no structured params","subcategory":"Natural Language","title":"FE: NL \u2014 price action"},{"category":"feature-engineering","code":"import requests\n\n# FE: NL \u2014 volume\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"features\": \"Volume Z-score, volume momentum, OBV, volume spike detection\",   # NL only \u2014 Claude interprets freely\n    \"indicators\": {},   # no structured params \u2014 relying on NL above\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Volume features","id":83,"short":"# FE: NL \u2014 volume\n\"features\": \"Volume Z-score, volume momentum, OBV, volume spike detection\",   # NL only \u2014 Claude interprets freely\n\"indicators\": {}   # no structured params","subcategory":"Natural Language","title":"FE: NL \u2014 volume"},{"category":"feature-engineering","code":"import requests\n\n# FE: NL \u2014 multi-timeframe\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"features\": \"15-min RSI 14, 1-hour SMA 50 trend, 4-hour support/resistance\",   # NL only \u2014 Claude interprets freely\n    \"indicators\": {},   # no structured params \u2014 relying on NL above\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Multi-TF","id":84,"short":"# FE: NL \u2014 multi-timeframe\n\"features\": \"15-min RSI 14, 1-hour SMA 50 trend, 4-hour support/resistance\",   # NL only \u2014 Claude interprets freely\n\"indicators\": {}   # no structured params","subcategory":"Natural Language","title":"FE: NL \u2014 multi-timeframe"},{"category":"feature-engineering","code":"import requests\n\n# FE: NL \u2014 returns\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"features\": \"Log returns (1,3,5,10,20 bar), momentum, volatility, z-score\",   # NL only \u2014 Claude interprets freely\n    \"indicators\": {},   # no structured params \u2014 relying on NL above\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Statistical returns","id":85,"short":"# FE: NL \u2014 returns\n\"features\": \"Log returns (1,3,5,10,20 bar), momentum, volatility, z-score\",   # NL only \u2014 Claude interprets freely\n\"indicators\": {}   # no structured params","subcategory":"Natural Language","title":"FE: NL \u2014 returns"},{"category":"feature-engineering","code":"import requests\n\n# FE: NL \u2014 session\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"features\": \"Hour sin/cos, day of week, is_london, is_ny, is_overlap\",   # NL only \u2014 Claude interprets freely\n    \"indicators\": {},   # no structured params \u2014 relying on NL above\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Time features","id":86,"short":"# FE: NL \u2014 session\n\"features\": \"Hour sin/cos, day of week, is_london, is_ny, is_overlap\",   # NL only \u2014 Claude interprets freely\n\"indicators\": {}   # no structured params","subcategory":"Natural Language","title":"FE: NL \u2014 session"},{"category":"feature-engineering","code":"import requests\n\n# FE: NL \u2014 S/R levels\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"features\": \"Distance from 20-bar high/low, pivot points, level touches\",   # NL only \u2014 Claude interprets freely\n    \"indicators\": {},   # no structured params \u2014 relying on NL above\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Price structure","id":87,"short":"# FE: NL \u2014 S/R levels\n\"features\": \"Distance from 20-bar high/low, pivot points, level touches\",   # NL only \u2014 Claude interprets freely\n\"indicators\": {}   # no structured params","subcategory":"Natural Language","title":"FE: NL \u2014 S/R levels"},{"category":"feature-engineering","code":"import requests\n\n# FE: NL \u2014 order flow\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"features\": \"CLV, A/D line, Chaikin Money Flow, buying/selling pressure\",   # NL only \u2014 Claude interprets freely\n    \"indicators\": {},   # no structured params \u2014 relying on NL above\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Order flow proxies","id":88,"short":"# FE: NL \u2014 order flow\n\"features\": \"CLV, A/D line, Chaikin Money Flow, buying/selling pressure\",   # NL only \u2014 Claude interprets freely\n\"indicators\": {}   # no structured params","subcategory":"Natural Language","title":"FE: NL \u2014 order flow"},{"category":"feature-engineering","code":"import requests\n\n# FE: NL + structured\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"atr_enabled\": true, \"atr_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"NL custom+structured","id":89,"short":"# FE: NL + structured\n\"features\": \"Volume Z-score, candle body ratio\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"atr_enabled\": true, \"atr_period\": 14}   # exact params enforced","subcategory":"NL + Structured","title":"FE: NL + structured"},{"category":"feature-engineering","code":"import requests\n\n# FE: NL + structured session\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"50,200\", \"rsi_enabled\": true, \"rsi_period\": 14, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Session NL+indicators","id":90,"short":"# FE: NL + structured session\n\"features\": \"Hour sin/cos, is_london, is_overlap\",   # NL context for Claude\n\"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"50,200\", \"rsi_enabled\": true, \"rsi_period\": 14, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0}   # exact params enforced","subcategory":"NL + Structured","title":"FE: NL + structured session"},{"category":"feature-engineering","code":"import requests\n\n# FE: Fast scalping set\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 5, \"macd_enabled\": true, \"macd_fast\": 5, \"macd_slow\": 13, \"macd_signal\": 3, \"bb_enabled\": true, \"bb_period\": 10, \"bb_std\": 1.5, \"stoch_enabled\": true, \"stoch_k\": 5, \"stoch_d\": 3, \"ema_enabled\": true, \"ema_periods\": \"5,13\", \"atr_enabled\": true, \"atr_period\": 7},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"All fast-period","id":91,"short":"# FE: Fast scalping set\n\"features\": \"Fast scalping\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 5, \"macd_enabled\": true, \"macd_fast\": 5, \"macd_slow\": 13, \"macd_signal\": 3, \"bb_enabled\": true, \"bb_period\": 10, \"bb_std\": 1.5, \"stoch_enabled\": true, \"stoch_k\": 5, \"stoch_d\": 3, \"ema_enabled\": true, \"ema_periods\": \"5,13\", \"atr_enabled\": true, \"atr_period\": 7}   # exact params enforced","subcategory":"Strategy Sets","title":"FE: Fast scalping set"},{"category":"feature-engineering","code":"import requests\n\n# FE: Slow swing set\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 21, \"macd_enabled\": true, \"macd_fast\": 19, \"macd_slow\": 39, \"macd_signal\": 9, \"bb_enabled\": true, \"bb_period\": 50, \"bb_std\": 2.5, \"stoch_enabled\": true, \"stoch_k\": 21, \"stoch_d\": 5, \"sma_enabled\": true, \"sma_periods\": \"50,100,200\", \"atr_enabled\": true, \"atr_period\": 21},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"All slow-period","id":92,"short":"# FE: Slow swing set\n\"features\": \"Slow swing\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 21, \"macd_enabled\": true, \"macd_fast\": 19, \"macd_slow\": 39, \"macd_signal\": 9, \"bb_enabled\": true, \"bb_period\": 50, \"bb_std\": 2.5, \"stoch_enabled\": true, \"stoch_k\": 21, \"stoch_d\": 5, \"sma_enabled\": true, \"sma_periods\": \"50,100,200\", \"atr_enabled\": true, \"atr_period\": 21}   # exact params enforced","subcategory":"Strategy Sets","title":"FE: Slow swing set"},{"category":"feature-engineering","code":"import requests\n\n# FE: Fibonacci set\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 13, \"ema_enabled\": true, \"ema_periods\": \"5,8,13,21,34\", \"bb_enabled\": true, \"bb_period\": 21, \"bb_std\": 2.0, \"stoch_enabled\": true, \"stoch_k\": 13, \"stoch_d\": 3, \"atr_enabled\": true, \"atr_period\": 13},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Fibonacci periods","id":93,"short":"# FE: Fibonacci set\n\"features\": \"Fibonacci indicators\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 13, \"ema_enabled\": true, \"ema_periods\": \"5,8,13,21,34\", \"bb_enabled\": true, \"bb_period\": 21, \"bb_std\": 2.0, \"stoch_enabled\": true, \"stoch_k\": 13, \"stoch_d\": 3, \"atr_enabled\": true, \"atr_period\": 13}   # exact params enforced","subcategory":"Strategy Sets","title":"FE: Fibonacci set"},{"category":"feature-engineering","code":"import requests\n\n# FE: Mean reversion set\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Oscillators+bands","id":94,"short":"# FE: Mean reversion set\n\"features\": \"Mean reversion\",   # NL context for Claude\n\"indicators\": {\"rsi_enabled\": true, \"rsi_period\": 14, \"stoch_enabled\": true, \"stoch_k\": 14, \"stoch_d\": 3, \"bb_enabled\": true, \"bb_period\": 20, \"bb_std\": 2.0}   # exact params enforced","subcategory":"Strategy Sets","title":"FE: Mean reversion set"},{"category":"feature-engineering","code":"import requests\n\n# FE: Trend following set\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    # \u2550\u2550\u2550 FEATURE ENGINEERING (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"50,200\", \"sma_enabled\": true, \"sma_periods\": \"200\", \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"atr_enabled\": true, \"atr_period\": 14},   # structured \u2014 enforces exact params\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"MAs+MACD+ATR","id":95,"short":"# FE: Trend following set\n\"features\": \"Trend following\",   # NL context for Claude\n\"indicators\": {\"ema_enabled\": true, \"ema_periods\": \"50,200\", \"sma_enabled\": true, \"sma_periods\": \"200\", \"macd_enabled\": true, \"macd_fast\": 12, \"macd_slow\": 26, \"macd_signal\": 9, \"atr_enabled\": true, \"atr_period\": 14}   # exact params enforced","subcategory":"Strategy Sets","title":"FE: Trend following set"},{"category":"signal","code":"import requests\n\n# SIG: MACD crossover\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when MACD line crosses above signal line, sell when crosses below\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Buy on MACD cross above signal, sell on cross below","id":200,"short":"# SIG: MACD crossover\n\"signals\": \"Buy when MACD line crosses above signal line, sell when crosses below\"","subcategory":"MACD","title":"SIG: MACD crossover"},{"category":"signal","code":"import requests\n\n# SIG: MACD zero cross\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when MACD histogram crosses above zero, sell when crosses below zero\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Buy on MACD crossing above zero, sell below","id":201,"short":"# SIG: MACD zero cross\n\"signals\": \"Buy when MACD histogram crosses above zero, sell when crosses below zero\"","subcategory":"MACD","title":"SIG: MACD zero cross"},{"category":"signal","code":"import requests\n\n# SIG: MACD histogram reversal\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when MACD histogram starts increasing (reversal from negative), sell when starts decreasing\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Trade MACD histogram direction change","id":202,"short":"# SIG: MACD histogram reversal\n\"signals\": \"Buy when MACD histogram starts increasing (reversal from negative), sell when starts decreasing\"","subcategory":"MACD","title":"SIG: MACD histogram reversal"},{"category":"signal","code":"import requests\n\n# SIG: MACD divergence\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy on bullish divergence (price lower low but MACD higher low), sell on bearish divergence\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Trade MACD divergence with price","id":203,"short":"# SIG: MACD divergence\n\"signals\": \"Buy on bullish divergence (price lower low but MACD higher low), sell on bearish divergence\"","subcategory":"MACD","title":"SIG: MACD divergence"},{"category":"signal","code":"import requests\n\n# SIG: RSI oversold/overbought\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when RSI crosses above 30 (leaving oversold), sell when RSI crosses below 70 (leaving overbought)\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Classic RSI threshold signals","id":204,"short":"# SIG: RSI oversold/overbought\n\"signals\": \"Buy when RSI crosses above 30 (leaving oversold), sell when RSI crosses below 70 (leaving overbought)\"","subcategory":"RSI","title":"SIG: RSI oversold/overbought"},{"category":"signal","code":"import requests\n\n# SIG: RSI extreme (20/80)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when RSI < 20, sell when RSI > 80\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Tighter RSI thresholds for stronger signals","id":205,"short":"# SIG: RSI extreme (20/80)\n\"signals\": \"Buy when RSI < 20, sell when RSI > 80\"","subcategory":"RSI","title":"SIG: RSI extreme (20/80)"},{"category":"signal","code":"import requests\n\n# SIG: RSI midline cross\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when RSI crosses above 50, sell when crosses below 50\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"RSI 50 as trend filter","id":206,"short":"# SIG: RSI midline cross\n\"signals\": \"Buy when RSI crosses above 50, sell when crosses below 50\"","subcategory":"RSI","title":"SIG: RSI midline cross"},{"category":"signal","code":"import requests\n\n# SIG: RSI divergence\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy on bullish RSI divergence (price new low, RSI higher low), sell on bearish divergence\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"RSI divergence with price","id":207,"short":"# SIG: RSI divergence\n\"signals\": \"Buy on bullish RSI divergence (price new low, RSI higher low), sell on bearish divergence\"","subcategory":"RSI","title":"SIG: RSI divergence"},{"category":"signal","code":"import requests\n\n# SIG: BB breakout\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when price breaks above upper Bollinger Band, sell when breaks below lower band\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Trade Bollinger Band breakouts","id":208,"short":"# SIG: BB breakout\n\"signals\": \"Buy when price breaks above upper Bollinger Band, sell when breaks below lower band\"","subcategory":"Bollinger Bands","title":"SIG: BB breakout"},{"category":"signal","code":"import requests\n\n# SIG: BB mean reversion\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when price touches lower BB and starts rising, sell when touches upper BB and starts falling. Target: BB mid\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Fade BB extremes back to middle","id":209,"short":"# SIG: BB mean reversion\n\"signals\": \"Buy when price touches lower BB and starts rising, sell when touches upper BB and starts falling. Target: BB mid\"","subcategory":"Bollinger Bands","title":"SIG: BB mean reversion"},{"category":"signal","code":"import requests\n\n# SIG: BB squeeze breakout\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when BB width is at 20-bar low and price breaks above upper band, sell on break below lower band\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Trade BB squeeze (low volatility breakout)","id":210,"short":"# SIG: BB squeeze breakout\n\"signals\": \"Buy when BB width is at 20-bar low and price breaks above upper band, sell on break below lower band\"","subcategory":"Bollinger Bands","title":"SIG: BB squeeze breakout"},{"category":"signal","code":"import requests\n\n# SIG: BB %B threshold\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when %B < 0.1 (near lower band), sell when %B > 0.9 (near upper band)\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Trade based on BB percent B position","id":211,"short":"# SIG: BB %B threshold\n\"signals\": \"Buy when %B < 0.1 (near lower band), sell when %B > 0.9 (near upper band)\"","subcategory":"Bollinger Bands","title":"SIG: BB %B threshold"},{"category":"signal","code":"import requests\n\n# SIG: EMA golden/death cross\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy on golden cross (EMA 50 crosses above EMA 200), sell on death cross (EMA 50 crosses below)\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"EMA 50/200 crossover","id":212,"short":"# SIG: EMA golden/death cross\n\"signals\": \"Buy on golden cross (EMA 50 crosses above EMA 200), sell on death cross (EMA 50 crosses below)\"","subcategory":"MA Crossover","title":"SIG: EMA golden/death cross"},{"category":"signal","code":"import requests\n\n# SIG: EMA fast cross (8/21)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when EMA 8 crosses above EMA 21, sell when crosses below\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Fast EMA crossover for scalping","id":213,"short":"# SIG: EMA fast cross (8/21)\n\"signals\": \"Buy when EMA 8 crosses above EMA 21, sell when crosses below\"","subcategory":"MA Crossover","title":"SIG: EMA fast cross (8/21)"},{"category":"signal","code":"import requests\n\n# SIG: SMA triple cross\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when SMA 20 > SMA 50 > SMA 200 (all aligned bullish), sell when reversed\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"SMA 20/50/200 alignment","id":214,"short":"# SIG: SMA triple cross\n\"signals\": \"Buy when SMA 20 > SMA 50 > SMA 200 (all aligned bullish), sell when reversed\"","subcategory":"MA Crossover","title":"SIG: SMA triple cross"},{"category":"signal","code":"import requests\n\n# SIG: Price above/below MA200\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when price closes above SMA 200, sell when closes below\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Simple trend filter","id":215,"short":"# SIG: Price above/below MA200\n\"signals\": \"Buy when price closes above SMA 200, sell when closes below\"","subcategory":"MA Crossover","title":"SIG: Price above/below MA200"},{"category":"signal","code":"import requests\n\n# SIG: MA ribbon expansion\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when EMA 9 > EMA 21 > EMA 50 and gap between them is widening, sell when reversed\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Trade when MAs fan out","id":216,"short":"# SIG: MA ribbon expansion\n\"signals\": \"Buy when EMA 9 > EMA 21 > EMA 50 and gap between them is widening, sell when reversed\"","subcategory":"MA Crossover","title":"SIG: MA ribbon expansion"},{"category":"signal","code":"import requests\n\n# SIG: Stochastic cross\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when %K crosses above %D below 20 (oversold), sell when %K crosses below %D above 80 (overbought)\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"K/D crossover in extreme zones","id":217,"short":"# SIG: Stochastic cross\n\"signals\": \"Buy when %K crosses above %D below 20 (oversold), sell when %K crosses below %D above 80 (overbought)\"","subcategory":"Stochastic","title":"SIG: Stochastic cross"},{"category":"signal","code":"import requests\n\n# SIG: Stochastic extreme\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when Stochastic < 10, sell when > 90\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Simple threshold","id":218,"short":"# SIG: Stochastic extreme\n\"signals\": \"Buy when Stochastic < 10, sell when > 90\"","subcategory":"Stochastic","title":"SIG: Stochastic extreme"},{"category":"signal","code":"import requests\n\n# SIG: Stochastic midline\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when Stochastic K crosses above 50, sell when crosses below 50\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"50 level crossover","id":219,"short":"# SIG: Stochastic midline\n\"signals\": \"Buy when Stochastic K crosses above 50, sell when crosses below 50\"","subcategory":"Stochastic","title":"SIG: Stochastic midline"},{"category":"signal","code":"import requests\n\n# SIG: Momentum reversal\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when momentum turns positive after being negative for 5+ bars, sell on opposite\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Trade momentum shifts","id":220,"short":"# SIG: Momentum reversal\n\"signals\": \"Buy when momentum turns positive after being negative for 5+ bars, sell on opposite\"","subcategory":"Momentum","title":"SIG: Momentum reversal"},{"category":"signal","code":"import requests\n\n# SIG: Price rejection\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy on hammer candle (long lower wick > 2x body, bullish close), sell on shooting star (long upper wick)\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Candle wick rejection signals","id":221,"short":"# SIG: Price rejection\n\"signals\": \"Buy on hammer candle (long lower wick > 2x body, bullish close), sell on shooting star (long upper wick)\"","subcategory":"Momentum","title":"SIG: Price rejection"},{"category":"signal","code":"import requests\n\n# SIG: Engulfing pattern\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy on bullish engulfing (current bar body fully engulfs previous bearish bar), sell on bearish engulfing\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Bullish/bearish engulfing","id":222,"short":"# SIG: Engulfing pattern\n\"signals\": \"Buy on bullish engulfing (current bar body fully engulfs previous bearish bar), sell on bearish engulfing\"","subcategory":"Momentum","title":"SIG: Engulfing pattern"},{"category":"signal","code":"import requests\n\n# SIG: Breakout\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when price breaks above 50-bar high, sell when breaks below 50-bar low\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Range breakout","id":223,"short":"# SIG: Breakout\n\"signals\": \"Buy when price breaks above 50-bar high, sell when breaks below 50-bar low\"","subcategory":"Momentum","title":"SIG: Breakout"},{"category":"signal","code":"import requests\n\n# SIG: MACD + RSI confirm\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when MACD crosses above signal AND RSI < 60 (not overbought), sell when MACD crosses below AND RSI > 40\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"MACD crossover confirmed by RSI","id":224,"short":"# SIG: MACD + RSI confirm\n\"signals\": \"Buy when MACD crosses above signal AND RSI < 60 (not overbought), sell when MACD crosses below AND RSI > 40\"","subcategory":"Combined","title":"SIG: MACD + RSI confirm"},{"category":"signal","code":"import requests\n\n# SIG: RSI + BB confirm\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when RSI < 30 AND price near lower Bollinger Band, sell when RSI > 70 AND price near upper BB\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"RSI oversold at lower BB","id":225,"short":"# SIG: RSI + BB confirm\n\"signals\": \"Buy when RSI < 30 AND price near lower Bollinger Band, sell when RSI > 70 AND price near upper BB\"","subcategory":"Combined","title":"SIG: RSI + BB confirm"},{"category":"signal","code":"import requests\n\n# SIG: MA cross + RSI filter\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy on EMA 50/200 golden cross only if RSI > 50, sell on death cross only if RSI < 50\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"MA crossover filtered by RSI","id":226,"short":"# SIG: MA cross + RSI filter\n\"signals\": \"Buy on EMA 50/200 golden cross only if RSI > 50, sell on death cross only if RSI < 50\"","subcategory":"Combined","title":"SIG: MA cross + RSI filter"},{"category":"signal","code":"import requests\n\n# SIG: Stoch + BB\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when Stochastic < 20 and price below lower BB, sell when Stochastic > 80 and price above upper BB\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Stochastic in BB extremes","id":227,"short":"# SIG: Stoch + BB\n\"signals\": \"Buy when Stochastic < 20 and price below lower BB, sell when Stochastic > 80 and price above upper BB\"","subcategory":"Combined","title":"SIG: Stoch + BB"},{"category":"signal","code":"import requests\n\n# SIG: MACD + BB squeeze\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when BB width at 20-bar low and MACD histogram turns positive, sell when turns negative\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"MACD direction after BB squeeze","id":228,"short":"# SIG: MACD + BB squeeze\n\"signals\": \"Buy when BB width at 20-bar low and MACD histogram turns positive, sell when turns negative\"","subcategory":"Combined","title":"SIG: MACD + BB squeeze"},{"category":"signal","code":"import requests\n\n# SIG: Triple confirm\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy when RSI > 50 AND MACD above signal AND price above EMA 200. Sell when all three reverse\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"RSI + MACD + MA all agree","id":229,"short":"# SIG: Triple confirm\n\"signals\": \"Buy when RSI > 50 AND MACD above signal AND price above EMA 200. Sell when all three reverse\"","subcategory":"Combined","title":"SIG: Triple confirm"},{"category":"signal","code":"import requests\n\n# SIG: London open entry\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Only enter during first 30 minutes of London session (08:00-08:30 UTC). Buy/sell based on breakout of first 15-min range\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Trade first 30 min of London","id":230,"short":"# SIG: London open entry\n\"signals\": \"Only enter during first 30 minutes of London session (08:00-08:30 UTC). Buy/sell based on breakout of first 15-min range\"","subcategory":"Session","title":"SIG: London open entry"},{"category":"signal","code":"import requests\n\n# SIG: NY open momentum\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Buy if price > prior bar close in first 15 min of NY open (14:30 UTC), sell if price < prior close\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Trade NY open direction","id":231,"short":"# SIG: NY open momentum\n\"signals\": \"Buy if price > prior bar close in first 15 min of NY open (14:30 UTC), sell if price < prior close\"","subcategory":"Session","title":"SIG: NY open momentum"},{"category":"signal","code":"import requests\n\n# SIG: No Friday trades\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Normal signal logic but close all positions Friday 18:00 UTC, no new entries after Friday 16:00\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Avoid weekend risk","id":232,"short":"# SIG: No Friday trades\n\"signals\": \"Normal signal logic but close all positions Friday 18:00 UTC, no new entries after Friday 16:00\"","subcategory":"Session","title":"SIG: No Friday trades"},{"category":"signal","code":"import requests\n\n# SIG: Overlap only\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Only trade during London-NY overlap (13:00-17:00 UTC), flat outside\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"London-NY overlap","id":233,"short":"# SIG: Overlap only\n\"signals\": \"Only trade during London-NY overlap (13:00-17:00 UTC), flat outside\"","subcategory":"Session","title":"SIG: Overlap only"},{"category":"signal","code":"import requests\n\n# SIG: High confidence only\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Only enter when model confidence > 70%. Exit when confidence drops below 55%\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Strict threshold","id":234,"short":"# SIG: High confidence only\n\"signals\": \"Only enter when model confidence > 70%. Exit when confidence drops below 55%\"","subcategory":"Threshold","title":"SIG: High confidence only"},{"category":"signal","code":"import requests\n\n# SIG: Aggressive entry\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Enter on any model confidence > 50%. Stay in trade as long as signal direction unchanged\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Low threshold","id":235,"short":"# SIG: Aggressive entry\n\"signals\": \"Enter on any model confidence > 50%. Stay in trade as long as signal direction unchanged\"","subcategory":"Threshold","title":"SIG: Aggressive entry"},{"category":"signal","code":"import requests\n\n# SIG: Scaled entry\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Enter with 50% size at confidence > 55%, full size at > 65%. Exit at < 50%\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Size by confidence","id":236,"short":"# SIG: Scaled entry\n\"signals\": \"Enter with 50% size at confidence > 55%, full size at > 65%. Exit at < 50%\"","subcategory":"Threshold","title":"SIG: Scaled entry"},{"category":"signal","code":"import requests\n\n# SIG: NL \u2014 trend pullback\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"In an uptrend (price above SMA 200), buy when price pulls back to SMA 50 and bounces (close > open after touching SMA 50)\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Buy dips in uptrend","id":237,"short":"# SIG: NL \u2014 trend pullback\n\"signals\": \"In an uptrend (price above SMA 200), buy when price pulls back to SMA 50 and bounces (close > open after touching SMA 50)\"","subcategory":"Natural Language","title":"SIG: NL \u2014 trend pullback"},{"category":"signal","code":"import requests\n\n# SIG: NL \u2014 volatility breakout\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Enter long when ATR suddenly increases (current ATR > 1.5x 20-bar average ATR) and price is trending up. Enter short if trending down.\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Trade volatility expansion","id":238,"short":"# SIG: NL \u2014 volatility breakout\n\"signals\": \"Enter long when ATR suddenly increases (current ATR > 1.5x 20-bar average ATR) and price is trending up. Enter short if trending down.\"","subcategory":"Natural Language","title":"SIG: NL \u2014 volatility breakout"},{"category":"signal","code":"import requests\n\n# SIG: NL \u2014 range trading\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Identify 50-bar range (high-low). Buy near range bottom, sell near range top. Exit if range breaks.\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Trade within range","id":239,"short":"# SIG: NL \u2014 range trading\n\"signals\": \"Identify 50-bar range (high-low). Buy near range bottom, sell near range top. Exit if range breaks.\"","subcategory":"Natural Language","title":"SIG: NL \u2014 range trading"},{"category":"signal","code":"import requests\n\n# SIG: NL \u2014 news avoidance\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n\n    # \u2550\u2550\u2550 SIGNAL / ENTRY LOGIC (change these) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"signals\": \"Normal MACD crossover signals but skip any signal within 30 minutes of hourly bar boundaries (common news release times)\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Skip high-impact times","id":240,"short":"# SIG: NL \u2014 news avoidance\n\"signals\": \"Normal MACD crossover signals but skip any signal within 30 minutes of hourly bar boundaries (common news release times)\"","subcategory":"Natural Language","title":"SIG: NL \u2014 news avoidance"},{"category":"ml-model","code":"import requests\n\n# ML: Random Forest\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"Random Forest\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Ensemble of decision trees \u2014 robust, handles noise well","id":300,"short":"# ML: Random Forest\n\"model\": \"Random Forest\"","subcategory":"Tree-Based","title":"ML: Random Forest"},{"category":"ml-model","code":"import requests\n\n# ML: Random Forest (1000 trees)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"Random Forest with 1000 estimators, max depth 8\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Large ensemble for more stability","id":301,"short":"# ML: Random Forest (1000 trees)\n\"model\": \"Random Forest with 1000 estimators, max depth 8\"","subcategory":"Tree-Based","title":"ML: Random Forest (1000 trees)"},{"category":"ml-model","code":"import requests\n\n# ML: Random Forest (shallow)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"Random Forest with max depth 3, min samples leaf 20\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Shallow trees to prevent overfitting","id":302,"short":"# ML: Random Forest (shallow)\n\"model\": \"Random Forest with max depth 3, min samples leaf 20\"","subcategory":"Tree-Based","title":"ML: Random Forest (shallow)"},{"category":"ml-model","code":"import requests\n\n# ML: XGBoost\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"XGBoost\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Gradient boosted trees \u2014 fast, accurate, popular in competitions","id":303,"short":"# ML: XGBoost\n\"model\": \"XGBoost\"","subcategory":"Tree-Based","title":"ML: XGBoost"},{"category":"ml-model","code":"import requests\n\n# ML: XGBoost (tuned)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"XGBoost with 300 estimators, max depth 4, learning rate 0.05, subsample 0.8\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"XGBoost with specific hyperparameters","id":304,"short":"# ML: XGBoost (tuned)\n\"model\": \"XGBoost with 300 estimators, max depth 4, learning rate 0.05, subsample 0.8\"","subcategory":"Tree-Based","title":"ML: XGBoost (tuned)"},{"category":"ml-model","code":"import requests\n\n# ML: XGBoost (conservative)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"XGBoost with max depth 3, learning rate 0.01, 500 estimators, early stopping\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"XGBoost tuned to avoid overfitting","id":305,"short":"# ML: XGBoost (conservative)\n\"model\": \"XGBoost with max depth 3, learning rate 0.01, 500 estimators, early stopping\"","subcategory":"Tree-Based","title":"ML: XGBoost (conservative)"},{"category":"ml-model","code":"import requests\n\n# ML: Gradient Boosting\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"Gradient Boosting\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Sklearn gradient boosting \u2014 slower but reliable","id":306,"short":"# ML: Gradient Boosting\n\"model\": \"Gradient Boosting\"","subcategory":"Tree-Based","title":"ML: Gradient Boosting"},{"category":"ml-model","code":"import requests\n\n# ML: Gradient Boosting (tuned)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"Gradient Boosting with 200 estimators, max depth 4, learning rate 0.05, subsample 0.8\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Tuned gradient boosting","id":307,"short":"# ML: Gradient Boosting (tuned)\n\"model\": \"Gradient Boosting with 200 estimators, max depth 4, learning rate 0.05, subsample 0.8\"","subcategory":"Tree-Based","title":"ML: Gradient Boosting (tuned)"},{"category":"ml-model","code":"import requests\n\n# ML: Logistic Regression\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"Logistic Regression\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Simple linear classifier \u2014 fast, interpretable","id":308,"short":"# ML: Logistic Regression\n\"model\": \"Logistic Regression\"","subcategory":"Linear","title":"ML: Logistic Regression"},{"category":"ml-model","code":"import requests\n\n# ML: Logistic Regression (balanced)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"Logistic Regression with balanced class weights\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Handle class imbalance","id":309,"short":"# ML: Logistic Regression (balanced)\n\"model\": \"Logistic Regression with balanced class weights\"","subcategory":"Linear","title":"ML: Logistic Regression (balanced)"},{"category":"ml-model","code":"import requests\n\n# ML: Logistic Regression (L1)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"Logistic Regression with L1 penalty (Lasso) for feature selection\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Sparse features \u2014 L1 regularization","id":310,"short":"# ML: Logistic Regression (L1)\n\"model\": \"Logistic Regression with L1 penalty (Lasso) for feature selection\"","subcategory":"Linear","title":"ML: Logistic Regression (L1)"},{"category":"ml-model","code":"import requests\n\n# ML: Ridge Classifier\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"Ridge Classifier \u2014 linear model with L2 regularization\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"L2 regularized linear","id":311,"short":"# ML: Ridge Classifier\n\"model\": \"Ridge Classifier \u2014 linear model with L2 regularization\"","subcategory":"Linear","title":"ML: Ridge Classifier"},{"category":"ml-model","code":"import requests\n\n# ML: Let Claude decide\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"Let Claude decide\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"AI picks the best model for your strategy","id":312,"short":"# ML: Let Claude decide\n\"model\": \"Let Claude decide\"","subcategory":"Auto","title":"ML: Let Claude decide"},{"category":"ml-model","code":"import requests\n\n# ML: Let Claude decide (ensemble)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"Let Claude decide \u2014 prefer ensemble methods for robustness\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"AI picks and combines models","id":313,"short":"# ML: Let Claude decide (ensemble)\n\"model\": \"Let Claude decide \u2014 prefer ensemble methods for robustness\"","subcategory":"Auto","title":"ML: Let Claude decide (ensemble)"},{"category":"ml-model","code":"import requests\n\n# ML: XGBoost for scalping\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"XGBoost with shallow trees (max depth 3), fast learning rate 0.1, 100 estimators \u2014 optimized for speed on 1-min data\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Fast model for high-frequency","id":314,"short":"# ML: XGBoost for scalping\n\"model\": \"XGBoost with shallow trees (max depth 3), fast learning rate 0.1, 100 estimators \u2014 optimized for speed on 1-min data\"","subcategory":"Strategy-Specific","title":"ML: XGBoost for scalping"},{"category":"ml-model","code":"import requests\n\n# ML: RF for swing trading\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"Random Forest with 500 trees, max depth 10, balanced class weights \u2014 optimized for daily/hourly swing trades\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Stable model for longer holds","id":315,"short":"# ML: RF for swing trading\n\"model\": \"Random Forest with 500 trees, max depth 10, balanced class weights \u2014 optimized for daily/hourly swing trades\"","subcategory":"Strategy-Specific","title":"ML: RF for swing trading"},{"category":"ml-model","code":"import requests\n\n# ML: Logistic for trend following\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"Logistic Regression \u2014 simple and fast, works well when signal is strong and features are well-engineered\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Simple model for clear trends","id":316,"short":"# ML: Logistic for trend following\n\"model\": \"Logistic Regression \u2014 simple and fast, works well when signal is strong and features are well-engineered\"","subcategory":"Strategy-Specific","title":"ML: Logistic for trend following"},{"category":"ml-model","code":"import requests\n\n# ML: XGBoost for mean reversion\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"XGBoost with balanced class weights, max depth 4, learning rate 0.03 \u2014 tuned for detecting overbought/oversold reversals\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Tuned for range-bound markets","id":317,"short":"# ML: XGBoost for mean reversion\n\"model\": \"XGBoost with balanced class weights, max depth 4, learning rate 0.03 \u2014 tuned for detecting overbought/oversold reversals\"","subcategory":"Strategy-Specific","title":"ML: XGBoost for mean reversion"},{"category":"ml-model","code":"import requests\n\n# ML: Balanced class weights\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"XGBoost with class_weight='balanced' \u2014 adjusts for imbalanced signal distribution\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Handle unequal buy/sell/hold distribution","id":318,"short":"# ML: Balanced class weights\n\"model\": \"XGBoost with class_weight='balanced' \u2014 adjusts for imbalanced signal distribution\"","subcategory":"Class Weights","title":"ML: Balanced class weights"},{"category":"ml-model","code":"import requests\n\n# ML: Custom class weights\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"Random Forest with custom class weights: {-1: 1.0, 0: 0.5, 1: 1.5} \u2014 prioritize catching buy signals\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Weight buys higher than sells","id":319,"short":"# ML: Custom class weights\n\"model\": \"Random Forest with custom class weights: {-1: 1.0, 0: 0.5, 1: 1.5} \u2014 prioritize catching buy signals\"","subcategory":"Class Weights","title":"ML: Custom class weights"},{"category":"ml-model","code":"import requests\n\n# ML: NL \u2014 best for noisy data\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"Use a model that handles noisy financial data well, resistant to overfitting, with good generalization on unseen bars\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Describe what you need","id":320,"short":"# ML: NL \u2014 best for noisy data\n\"model\": \"Use a model that handles noisy financial data well, resistant to overfitting, with good generalization on unseen bars\"","subcategory":"Natural Language","title":"ML: NL \u2014 best for noisy data"},{"category":"ml-model","code":"import requests\n\n# ML: NL \u2014 fast inference\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"Fast model \u2014 inference must be under 1ms per bar. Prefer simple model over complex ensemble.\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Speed priority","id":321,"short":"# ML: NL \u2014 fast inference\n\"model\": \"Fast model \u2014 inference must be under 1ms per bar. Prefer simple model over complex ensemble.\"","subcategory":"Natural Language","title":"ML: NL \u2014 fast inference"},{"category":"ml-model","code":"import requests\n\n# ML: NL \u2014 interpretable\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n\n    # \u2550\u2550\u2550 ML MODEL (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"model\": \"Interpretable model \u2014 I need to understand which features drive each prediction. Feature importance must be meaningful.\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Need to understand why","id":322,"short":"# ML: NL \u2014 interpretable\n\"model\": \"Interpretable model \u2014 I need to understand which features drive each prediction. Feature importance must be meaningful.\"","subcategory":"Natural Language","title":"ML: NL \u2014 interpretable"},{"category":"optimization","code":"import requests\n\n# OPT: Maximize Sharpe ratio\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize Sharpe ratio\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Risk-adjusted return \u2014 the gold standard","id":400,"short":"# OPT: Maximize Sharpe ratio\n\"optimization\": \"Maximize Sharpe ratio\"","subcategory":"Return","title":"OPT: Maximize Sharpe ratio"},{"category":"optimization","code":"import requests\n\n# OPT: Maximize return\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize total return\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Pure return, no risk adjustment","id":401,"short":"# OPT: Maximize return\n\"optimization\": \"Maximize total return\"","subcategory":"Return","title":"OPT: Maximize return"},{"category":"optimization","code":"import requests\n\n# OPT: Maximize Calmar ratio\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize Calmar ratio\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Return relative to max drawdown","id":402,"short":"# OPT: Maximize Calmar ratio\n\"optimization\": \"Maximize Calmar ratio\"","subcategory":"Return","title":"OPT: Maximize Calmar ratio"},{"category":"optimization","code":"import requests\n\n# OPT: Maximize Sortino ratio\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize Sortino ratio \u2014 penalize downside risk only\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Like Sharpe but only penalizes downside volatility","id":403,"short":"# OPT: Maximize Sortino ratio\n\"optimization\": \"Maximize Sortino ratio \u2014 penalize downside risk only\"","subcategory":"Return","title":"OPT: Maximize Sortino ratio"},{"category":"optimization","code":"import requests\n\n# OPT: Maximize profit factor\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize profit factor (gross wins / gross losses)\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Gross profit / gross loss","id":404,"short":"# OPT: Maximize profit factor\n\"optimization\": \"Maximize profit factor (gross wins / gross losses)\"","subcategory":"Return","title":"OPT: Maximize profit factor"},{"category":"optimization","code":"import requests\n\n# OPT: Minimize max drawdown\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Minimize maximum drawdown\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Protect capital above all","id":405,"short":"# OPT: Minimize max drawdown\n\"optimization\": \"Minimize maximum drawdown\"","subcategory":"Risk","title":"OPT: Minimize max drawdown"},{"category":"optimization","code":"import requests\n\n# OPT: MDD < 10%\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize return with max drawdown under 10%\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Hard drawdown constraint","id":406,"short":"# OPT: MDD < 10%\n\"optimization\": \"Maximize return with max drawdown under 10%\"","subcategory":"Risk","title":"OPT: MDD < 10%"},{"category":"optimization","code":"import requests\n\n# OPT: MDD < 5%\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize Sharpe with max drawdown under 5%\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Very tight drawdown","id":407,"short":"# OPT: MDD < 5%\n\"optimization\": \"Maximize Sharpe with max drawdown under 5%\"","subcategory":"Risk","title":"OPT: MDD < 5%"},{"category":"optimization","code":"import requests\n\n# OPT: Minimize volatility\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Minimize return volatility (standard deviation of returns)\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Low-volatility strategy","id":408,"short":"# OPT: Minimize volatility\n\"optimization\": \"Minimize return volatility (standard deviation of returns)\"","subcategory":"Risk","title":"OPT: Minimize volatility"},{"category":"optimization","code":"import requests\n\n# OPT: Maximize win rate\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize win rate\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Consistency \u2014 win more trades than lose","id":409,"short":"# OPT: Maximize win rate\n\"optimization\": \"Maximize win rate\"","subcategory":"Win Rate","title":"OPT: Maximize win rate"},{"category":"optimization","code":"import requests\n\n# OPT: Win rate > 55%\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize Sharpe ratio with win rate above 55%\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Minimum win rate constraint","id":410,"short":"# OPT: Win rate > 55%\n\"optimization\": \"Maximize Sharpe ratio with win rate above 55%\"","subcategory":"Win Rate","title":"OPT: Win rate > 55%"},{"category":"optimization","code":"import requests\n\n# OPT: Win rate > 60%\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize return with win rate above 60%\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"High win rate constraint","id":411,"short":"# OPT: Win rate > 60%\n\"optimization\": \"Maximize return with win rate above 60%\"","subcategory":"Win Rate","title":"OPT: Win rate > 60%"},{"category":"optimization","code":"import requests\n\n# OPT: Sharpe > 1, MDD < 10%\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Sharpe > 1 with MDD < 10%\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Balanced \u2014 good risk-adjusted with drawdown cap","id":412,"short":"# OPT: Sharpe > 1, MDD < 10%\n\"optimization\": \"Sharpe > 1 with MDD < 10%\"","subcategory":"Combined","title":"OPT: Sharpe > 1, MDD < 10%"},{"category":"optimization","code":"import requests\n\n# OPT: Sharpe > 1.5, MDD < 15%\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Sharpe ratio above 1.5, max drawdown under 15%\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Higher bar for Sharpe","id":413,"short":"# OPT: Sharpe > 1.5, MDD < 15%\n\"optimization\": \"Sharpe ratio above 1.5, max drawdown under 15%\"","subcategory":"Combined","title":"OPT: Sharpe > 1.5, MDD < 15%"},{"category":"optimization","code":"import requests\n\n# OPT: High Sharpe + high win rate\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize Sharpe ratio while keeping win rate above 55%\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Best of both","id":414,"short":"# OPT: High Sharpe + high win rate\n\"optimization\": \"Maximize Sharpe ratio while keeping win rate above 55%\"","subcategory":"Combined","title":"OPT: High Sharpe + high win rate"},{"category":"optimization","code":"import requests\n\n# OPT: Return + low drawdown\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize total return, but keep max drawdown under 12%\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Aggressive with safety net","id":415,"short":"# OPT: Return + low drawdown\n\"optimization\": \"Maximize total return, but keep max drawdown under 12%\"","subcategory":"Combined","title":"OPT: Return + low drawdown"},{"category":"optimization","code":"import requests\n\n# OPT: Calmar > 2\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Calmar ratio above 2 \u2014 return must be at least 2x the max drawdown\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Strong return/drawdown ratio","id":416,"short":"# OPT: Calmar > 2\n\"optimization\": \"Calmar ratio above 2 \u2014 return must be at least 2x the max drawdown\"","subcategory":"Combined","title":"OPT: Calmar > 2"},{"category":"optimization","code":"import requests\n\n# OPT: Many trades\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize Sharpe with at least 50 trades in the test period\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"High frequency \u2014 more statistical significance","id":417,"short":"# OPT: Many trades\n\"optimization\": \"Maximize Sharpe with at least 50 trades in the test period\"","subcategory":"Trade Frequency","title":"OPT: Many trades"},{"category":"optimization","code":"import requests\n\n# OPT: Few high-quality trades\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize profit per trade, minimum 10 trades, win rate > 60%\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Low frequency \u2014 only the best setups","id":418,"short":"# OPT: Few high-quality trades\n\"optimization\": \"Maximize profit per trade, minimum 10 trades, win rate > 60%\"","subcategory":"Trade Frequency","title":"OPT: Few high-quality trades"},{"category":"optimization","code":"import requests\n\n# OPT: Balanced frequency\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize Sharpe with 20-40 trades in the test period\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Not too many, not too few","id":419,"short":"# OPT: Balanced frequency\n\"optimization\": \"Maximize Sharpe with 20-40 trades in the test period\"","subcategory":"Trade Frequency","title":"OPT: Balanced frequency"},{"category":"optimization","code":"import requests\n\n# OPT: Conservative depth\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize Sharpe \u2014 use conservative hyperparameters: max depth 3-5, high regularization\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Prevent overfitting with shallow trees","id":420,"short":"# OPT: Conservative depth\n\"optimization\": \"Maximize Sharpe \u2014 use conservative hyperparameters: max depth 3-5, high regularization\"","subcategory":"Hyperparameters","title":"OPT: Conservative depth"},{"category":"optimization","code":"import requests\n\n# OPT: Aggressive depth\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize return \u2014 allow deeper trees (max depth 8-10) for capturing complex patterns\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Allow complex patterns","id":421,"short":"# OPT: Aggressive depth\n\"optimization\": \"Maximize return \u2014 allow deeper trees (max depth 8-10) for capturing complex patterns\"","subcategory":"Hyperparameters","title":"OPT: Aggressive depth"},{"category":"optimization","code":"import requests\n\n# OPT: Balanced class weights\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize Sharpe with balanced class weights \u2014 equal importance to buy, sell, and hold signals\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Handle signal imbalance","id":422,"short":"# OPT: Balanced class weights\n\"optimization\": \"Maximize Sharpe with balanced class weights \u2014 equal importance to buy, sell, and hold signals\"","subcategory":"Hyperparameters","title":"OPT: Balanced class weights"},{"category":"optimization","code":"import requests\n\n# OPT: Early stopping\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize Sharpe with early stopping \u2014 stop training when validation metric stops improving\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Prevent overfitting","id":423,"short":"# OPT: Early stopping\n\"optimization\": \"Maximize Sharpe with early stopping \u2014 stop training when validation metric stops improving\"","subcategory":"Hyperparameters","title":"OPT: Early stopping"},{"category":"optimization","code":"import requests\n\n# OPT: NL \u2014 robust to regime change\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Optimize for consistency across different market regimes \u2014 strategy should work in trending AND ranging markets\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Survive different market conditions","id":424,"short":"# OPT: NL \u2014 robust to regime change\n\"optimization\": \"Optimize for consistency across different market regimes \u2014 strategy should work in trending AND ranging markets\"","subcategory":"Natural Language","title":"OPT: NL \u2014 robust to regime change"},{"category":"optimization","code":"import requests\n\n# OPT: NL \u2014 low correlation to buy-and-hold\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Maximize alpha \u2014 returns should have low correlation with buy-and-hold. Strategy adds value beyond just holding.\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Independent alpha","id":425,"short":"# OPT: NL \u2014 low correlation to buy-and-hold\n\"optimization\": \"Maximize alpha \u2014 returns should have low correlation with buy-and-hold. Strategy adds value beyond just holding.\"","subcategory":"Natural Language","title":"OPT: NL \u2014 low correlation to buy-and-hold"},{"category":"optimization","code":"import requests\n\n# OPT: NL \u2014 smooth equity curve\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Optimize for smooth equity curve \u2014 minimize daily return variance, avoid large single-trade impacts\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"No big jumps or drops","id":426,"short":"# OPT: NL \u2014 smooth equity curve\n\"optimization\": \"Optimize for smooth equity curve \u2014 minimize daily return variance, avoid large single-trade impacts\"","subcategory":"Natural Language","title":"OPT: NL \u2014 smooth equity curve"},{"category":"optimization","code":"import requests\n\n# OPT: NL \u2014 overnight risk\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n\n    # \u2550\u2550\u2550 OPTIMISATION TARGET (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"optimization\": \"Minimize exposure during market close hours. Strategy should be flat or reduced size during low-liquidity periods.\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Minimize gap exposure","id":427,"short":"# OPT: NL \u2014 overnight risk\n\"optimization\": \"Minimize exposure during market close hours. Strategy should be flat or reduced size during low-liquidity periods.\"","subcategory":"Natural Language","title":"OPT: NL \u2014 overnight risk"},{"category":"risk","code":"import requests\n\n# RISK: Stop loss 0.3%\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Stop loss 0.3%\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Tight stop \u2014 exit when position loses 0.3%","id":500,"short":"# RISK: Stop loss 0.3%\n\"risk\": \"Stop loss 0.3%\"","subcategory":"Stop Loss","title":"RISK: Stop loss 0.3%"},{"category":"risk","code":"import requests\n\n# RISK: Stop loss 0.5%\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Stop loss 0.5%\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Medium stop","id":501,"short":"# RISK: Stop loss 0.5%\n\"risk\": \"Stop loss 0.5%\"","subcategory":"Stop Loss","title":"RISK: Stop loss 0.5%"},{"category":"risk","code":"import requests\n\n# RISK: Stop loss 1%\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Stop loss 1%\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Wide stop \u2014 more room to breathe","id":502,"short":"# RISK: Stop loss 1%\n\"risk\": \"Stop loss 1%\"","subcategory":"Stop Loss","title":"RISK: Stop loss 1%"},{"category":"risk","code":"import requests\n\n# RISK: Stop loss 20 pips\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Stop loss 20 pips (0.0020)\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Pip-based stop for EURUSD","id":503,"short":"# RISK: Stop loss 20 pips\n\"risk\": \"Stop loss 20 pips (0.0020)\"","subcategory":"Stop Loss","title":"RISK: Stop loss 20 pips"},{"category":"risk","code":"import requests\n\n# RISK: ATR-based stop\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Stop loss = 2x ATR(14). Wider stop in volatile markets, tighter in quiet.\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Dynamic stop \u2014 wider when volatile","id":504,"short":"# RISK: ATR-based stop\n\"risk\": \"Stop loss = 2x ATR(14). Wider stop in volatile markets, tighter in quiet.\"","subcategory":"Stop Loss","title":"RISK: ATR-based stop"},{"category":"risk","code":"import requests\n\n# RISK: Trailing stop 0.3%\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Trailing stop loss 0.3% \u2014 moves with price, locks in profits\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Lock in profits as price moves","id":505,"short":"# RISK: Trailing stop 0.3%\n\"risk\": \"Trailing stop loss 0.3% \u2014 moves with price, locks in profits\"","subcategory":"Stop Loss","title":"RISK: Trailing stop 0.3%"},{"category":"risk","code":"import requests\n\n# RISK: TP 0.5%\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Take profit 0.5%\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Fixed take profit","id":506,"short":"# RISK: TP 0.5%\n\"risk\": \"Take profit 0.5%\"","subcategory":"Take Profit","title":"RISK: TP 0.5%"},{"category":"risk","code":"import requests\n\n# RISK: 2:1 reward/risk\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Stop loss 0.3%, take profit 0.6% \u2014 2:1 reward to risk ratio\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"TP is 2x the stop loss","id":507,"short":"# RISK: 2:1 reward/risk\n\"risk\": \"Stop loss 0.3%, take profit 0.6% \u2014 2:1 reward to risk ratio\"","subcategory":"Take Profit","title":"RISK: 2:1 reward/risk"},{"category":"risk","code":"import requests\n\n# RISK: 3:1 reward/risk\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Stop loss 0.3%, take profit 0.9% \u2014 3:1 reward to risk ratio\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"TP is 3x the stop loss","id":508,"short":"# RISK: 3:1 reward/risk\n\"risk\": \"Stop loss 0.3%, take profit 0.9% \u2014 3:1 reward to risk ratio\"","subcategory":"Take Profit","title":"RISK: 3:1 reward/risk"},{"category":"risk","code":"import requests\n\n# RISK: ATR-based TP\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Take profit = 3x ATR(14), stop loss = 1.5x ATR(14)\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Dynamic take profit","id":509,"short":"# RISK: ATR-based TP\n\"risk\": \"Take profit = 3x ATR(14), stop loss = 1.5x ATR(14)\"","subcategory":"Take Profit","title":"RISK: ATR-based TP"},{"category":"risk","code":"import requests\n\n# RISK: Fixed 1% risk\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Fixed 1% risk per trade \u2014 position size calculated from stop loss distance\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Risk 1% of capital per trade","id":510,"short":"# RISK: Fixed 1% risk\n\"risk\": \"Fixed 1% risk per trade \u2014 position size calculated from stop loss distance\"","subcategory":"Position Sizing","title":"RISK: Fixed 1% risk"},{"category":"risk","code":"import requests\n\n# RISK: Fixed 2% risk\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Fixed 2% risk per trade\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Risk 2% per trade","id":511,"short":"# RISK: Fixed 2% risk\n\"risk\": \"Fixed 2% risk per trade\"","subcategory":"Position Sizing","title":"RISK: Fixed 2% risk"},{"category":"risk","code":"import requests\n\n# RISK: Kelly sizing\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Kelly position sizing \u2014 size based on win rate and avg win/loss ratio\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Kelly criterion \u2014 optimal sizing","id":512,"short":"# RISK: Kelly sizing\n\"risk\": \"Kelly position sizing \u2014 size based on win rate and avg win/loss ratio\"","subcategory":"Position Sizing","title":"RISK: Kelly sizing"},{"category":"risk","code":"import requests\n\n# RISK: Half Kelly\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Half Kelly position sizing \u2014 half of Kelly optimal for safety\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Conservative Kelly","id":513,"short":"# RISK: Half Kelly\n\"risk\": \"Half Kelly position sizing \u2014 half of Kelly optimal for safety\"","subcategory":"Position Sizing","title":"RISK: Half Kelly"},{"category":"risk","code":"import requests\n\n# RISK: ATR-based sizing\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Position size = 1% account risk / ATR(14). Smaller when volatile, larger when quiet.\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Size inversely to volatility","id":514,"short":"# RISK: ATR-based sizing\n\"risk\": \"Position size = 1% account risk / ATR(14). Smaller when volatile, larger when quiet.\"","subcategory":"Position Sizing","title":"RISK: ATR-based sizing"},{"category":"risk","code":"import requests\n\n# RISK: Fixed lot\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Fixed 1.0 lot per trade, no dynamic sizing\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Simple fixed size","id":515,"short":"# RISK: Fixed lot\n\"risk\": \"Fixed 1.0 lot per trade, no dynamic sizing\"","subcategory":"Position Sizing","title":"RISK: Fixed lot"},{"category":"risk","code":"import requests\n\n# RISK: Max 3 trades/day\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Max 3 trades per day\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Limit daily trades","id":516,"short":"# RISK: Max 3 trades/day\n\"risk\": \"Max 3 trades per day\"","subcategory":"Frequency","title":"RISK: Max 3 trades/day"},{"category":"risk","code":"import requests\n\n# RISK: Max 5 trades/day\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Max 5 trades per day\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"More active daily limit","id":517,"short":"# RISK: Max 5 trades/day\n\"risk\": \"Max 5 trades per day\"","subcategory":"Frequency","title":"RISK: Max 5 trades/day"},{"category":"risk","code":"import requests\n\n# RISK: Max 1 trade/day\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Max 1 trade per day \u2014 wait for the best setup\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"One shot per day","id":518,"short":"# RISK: Max 1 trade/day\n\"risk\": \"Max 1 trade per day \u2014 wait for the best setup\"","subcategory":"Frequency","title":"RISK: Max 1 trade/day"},{"category":"risk","code":"import requests\n\n# RISK: SL + TP + sizing\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Stop loss 0.3%, take profit 0.6%, fixed 1% risk per trade\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Full risk package","id":519,"short":"# RISK: SL + TP + sizing\n\"risk\": \"Stop loss 0.3%, take profit 0.6%, fixed 1% risk per trade\"","subcategory":"Combined","title":"RISK: SL + TP + sizing"},{"category":"risk","code":"import requests\n\n# RISK: ATR-based everything\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"ATR-based stop (1.5x ATR), ATR-based TP (3x ATR), position size = 1% / ATR\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Full ATR risk","id":520,"short":"# RISK: ATR-based everything\n\"risk\": \"ATR-based stop (1.5x ATR), ATR-based TP (3x ATR), position size = 1% / ATR\"","subcategory":"Combined","title":"RISK: ATR-based everything"},{"category":"risk","code":"import requests\n\n# RISK: Conservative full\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Stop loss 0.2%, take profit 0.6%, max 2 trades/day, half Kelly sizing\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Low risk setup","id":521,"short":"# RISK: Conservative full\n\"risk\": \"Stop loss 0.2%, take profit 0.6%, max 2 trades/day, half Kelly sizing\"","subcategory":"Combined","title":"RISK: Conservative full"},{"category":"risk","code":"import requests\n\n# RISK: Aggressive full\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Stop loss 0.5%, take profit 1.5%, Kelly sizing, no daily limit\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"High risk setup","id":522,"short":"# RISK: Aggressive full\n\"risk\": \"Stop loss 0.5%, take profit 1.5%, Kelly sizing, no daily limit\"","subcategory":"Combined","title":"RISK: Aggressive full"},{"category":"risk","code":"import requests\n\n# RISK: NL \u2014 scale down on losing streak\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"After 3 consecutive losing trades, reduce position size by 50%. Reset after a winner.\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Reduce size after losses","id":523,"short":"# RISK: NL \u2014 scale down on losing streak\n\"risk\": \"After 3 consecutive losing trades, reduce position size by 50%. Reset after a winner.\"","subcategory":"Natural Language","title":"RISK: NL \u2014 scale down on losing streak"},{"category":"risk","code":"import requests\n\n# RISK: NL \u2014 no overnight\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Close all positions before 21:00 UTC (before forex daily rollover). No new entries after 20:30.\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Close before market quiet","id":524,"short":"# RISK: NL \u2014 no overnight\n\"risk\": \"Close all positions before 21:00 UTC (before forex daily rollover). No new entries after 20:30.\"","subcategory":"Natural Language","title":"RISK: NL \u2014 no overnight"},{"category":"risk","code":"import requests\n\n# RISK: NL \u2014 volatility filter\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n\n    # \u2550\u2550\u2550 RISK MANAGEMENT (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk\": \"Skip trades when ATR(14) is below its 50-bar average \u2014 not enough movement to be worth the spread\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"risk_function\": \"\",        # no custom filter\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Skip low-vol periods","id":525,"short":"# RISK: NL \u2014 volatility filter\n\"risk\": \"Skip trades when ATR(14) is below its 50-bar average \u2014 not enough movement to be worth the spread\"","subcategory":"Natural Language","title":"RISK: NL \u2014 volatility filter"},{"category":"pos-rules","code":"import requests\n\n# POS: Both directions\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n\n    # \u2550\u2550\u2550 POSITION RULES (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 0},\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Long and short","id":600,"short":"# POS: Both directions\n\"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 0}","subcategory":"Direction","title":"POS: Both directions"},{"category":"pos-rules","code":"import requests\n\n# POS: Long only\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n\n    # \u2550\u2550\u2550 POSITION RULES (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"pos_rules\": {\"max_pos\": 1, \"direction\": \"long\", \"on_opposite\": \"close_only\", \"cooldown\": 0},\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Only buy","id":601,"short":"# POS: Long only\n\"pos_rules\": {\"max_pos\": 1, \"direction\": \"long\", \"on_opposite\": \"close_only\", \"cooldown\": 0}","subcategory":"Direction","title":"POS: Long only"},{"category":"pos-rules","code":"import requests\n\n# POS: Short only\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n\n    # \u2550\u2550\u2550 POSITION RULES (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"pos_rules\": {\"max_pos\": 1, \"direction\": \"short\", \"on_opposite\": \"close_only\", \"cooldown\": 0},\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Only sell","id":602,"short":"# POS: Short only\n\"pos_rules\": {\"max_pos\": 1, \"direction\": \"short\", \"on_opposite\": \"close_only\", \"cooldown\": 0}","subcategory":"Direction","title":"POS: Short only"},{"category":"pos-rules","code":"import requests\n\n# POS: Reverse on opposite\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n\n    # \u2550\u2550\u2550 POSITION RULES (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 0},\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Flip direction immediately","id":603,"short":"# POS: Reverse on opposite\n\"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 0}","subcategory":"On Opposite","title":"POS: Reverse on opposite"},{"category":"pos-rules","code":"import requests\n\n# POS: Close only on opposite\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n\n    # \u2550\u2550\u2550 POSITION RULES (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"close_only\", \"cooldown\": 0},\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Exit to flat, don't flip","id":604,"short":"# POS: Close only on opposite\n\"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"close_only\", \"cooldown\": 0}","subcategory":"On Opposite","title":"POS: Close only on opposite"},{"category":"pos-rules","code":"import requests\n\n# POS: Ignore opposite\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n\n    # \u2550\u2550\u2550 POSITION RULES (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"ignore\", \"cooldown\": 0},\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Stay in trade, ignore reversals","id":605,"short":"# POS: Ignore opposite\n\"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"ignore\", \"cooldown\": 0}","subcategory":"On Opposite","title":"POS: Ignore opposite"},{"category":"pos-rules","code":"import requests\n\n# POS: 1 position max\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n\n    # \u2550\u2550\u2550 POSITION RULES (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 0},\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Single position at a time","id":606,"short":"# POS: 1 position max\n\"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 0}","subcategory":"Max Positions","title":"POS: 1 position max"},{"category":"pos-rules","code":"import requests\n\n# POS: 2 concurrent\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n\n    # \u2550\u2550\u2550 POSITION RULES (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"pos_rules\": {\"max_pos\": 2, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 0},\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Allow 2 trades at once","id":607,"short":"# POS: 2 concurrent\n\"pos_rules\": {\"max_pos\": 2, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 0}","subcategory":"Max Positions","title":"POS: 2 concurrent"},{"category":"pos-rules","code":"import requests\n\n# POS: 3 concurrent\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n\n    # \u2550\u2550\u2550 POSITION RULES (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"pos_rules\": {\"max_pos\": 3, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 0},\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Allow 3 trades at once","id":608,"short":"# POS: 3 concurrent\n\"pos_rules\": {\"max_pos\": 3, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 0}","subcategory":"Max Positions","title":"POS: 3 concurrent"},{"category":"pos-rules","code":"import requests\n\n# POS: No cooldown\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n\n    # \u2550\u2550\u2550 POSITION RULES (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 0},\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Re-enter immediately","id":609,"short":"# POS: No cooldown\n\"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 0}","subcategory":"Cooldown","title":"POS: No cooldown"},{"category":"pos-rules","code":"import requests\n\n# POS: 2-bar cooldown\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n\n    # \u2550\u2550\u2550 POSITION RULES (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 2},\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Wait 2 bars after exit","id":610,"short":"# POS: 2-bar cooldown\n\"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 2}","subcategory":"Cooldown","title":"POS: 2-bar cooldown"},{"category":"pos-rules","code":"import requests\n\n# POS: 5-bar cooldown\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n\n    # \u2550\u2550\u2550 POSITION RULES (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 5},\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Wait 5 bars","id":611,"short":"# POS: 5-bar cooldown\n\"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 5}","subcategory":"Cooldown","title":"POS: 5-bar cooldown"},{"category":"pos-rules","code":"import requests\n\n# POS: 10-bar cooldown\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n\n    # \u2550\u2550\u2550 POSITION RULES (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 10},\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Long cooldown \u2014 avoid overtrading","id":612,"short":"# POS: 10-bar cooldown\n\"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 10}","subcategory":"Cooldown","title":"POS: 10-bar cooldown"},{"category":"pos-rules","code":"import requests\n\n# POS: Conservative long\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n\n    # \u2550\u2550\u2550 POSITION RULES (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"pos_rules\": {\"max_pos\": 1, \"direction\": \"long\", \"on_opposite\": \"close_only\", \"cooldown\": 3},\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Long only + close on opposite + cooldown","id":613,"short":"# POS: Conservative long\n\"pos_rules\": {\"max_pos\": 1, \"direction\": \"long\", \"on_opposite\": \"close_only\", \"cooldown\": 3}","subcategory":"Combos","title":"POS: Conservative long"},{"category":"pos-rules","code":"import requests\n\n# POS: Aggressive scalper\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n\n    # \u2550\u2550\u2550 POSITION RULES (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"pos_rules\": {\"max_pos\": 2, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 0},\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Both directions + reverse + no cooldown","id":614,"short":"# POS: Aggressive scalper\n\"pos_rules\": {\"max_pos\": 2, \"direction\": \"both\", \"on_opposite\": \"reverse\", \"cooldown\": 0}","subcategory":"Combos","title":"POS: Aggressive scalper"},{"category":"pos-rules","code":"import requests\n\n# POS: Patient swing\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n\n    # \u2550\u2550\u2550 POSITION RULES (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"ignore\", \"cooldown\": 10},\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Ignore opposite + long cooldown","id":615,"short":"# POS: Patient swing\n\"pos_rules\": {\"max_pos\": 1, \"direction\": \"both\", \"on_opposite\": \"ignore\", \"cooldown\": 10}","subcategory":"Combos","title":"POS: Patient swing"},{"category":"pos-rules","code":"import requests\n\n# POS: Multi-position trend\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n    \"risk_function\": \"\",        # no custom filter\n\n    # \u2550\u2550\u2550 POSITION RULES (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"pos_rules\": {\"max_pos\": 3, \"direction\": \"long\", \"on_opposite\": \"close_only\", \"cooldown\": 5},\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"3 positions + long only","id":616,"short":"# POS: Multi-position trend\n\"pos_rules\": {\"max_pos\": 3, \"direction\": \"long\", \"on_opposite\": \"close_only\", \"cooldown\": 5}","subcategory":"Combos","title":"POS: Multi-position trend"},{"category":"risk-function","code":"import requests\n\n# FILTER: London session only\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"Only trade during London session (08:00-16:00 UTC)\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Trade only during London hours","id":700,"short":"# FILTER: London session only\n\"risk_function\": \"Only trade during London session (08:00-16:00 UTC)\"","subcategory":"Session","title":"FILTER: London session only"},{"category":"risk-function","code":"import requests\n\n# FILTER: NY session only\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"Only trade during New York session (13:00-21:00 UTC)\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Trade only during NY hours","id":701,"short":"# FILTER: NY session only\n\"risk_function\": \"Only trade during New York session (13:00-21:00 UTC)\"","subcategory":"Session","title":"FILTER: NY session only"},{"category":"risk-function","code":"import requests\n\n# FILTER: London-NY overlap\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"Only trade during London-NY overlap (13:00-17:00 UTC)\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Best liquidity hours","id":702,"short":"# FILTER: London-NY overlap\n\"risk_function\": \"Only trade during London-NY overlap (13:00-17:00 UTC)\"","subcategory":"Session","title":"FILTER: London-NY overlap"},{"category":"risk-function","code":"import requests\n\n# FILTER: No Asian session\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"No trading during Asian session (22:00-08:00 UTC)\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Skip quiet hours","id":703,"short":"# FILTER: No Asian session\n\"risk_function\": \"No trading during Asian session (22:00-08:00 UTC)\"","subcategory":"Session","title":"FILTER: No Asian session"},{"category":"risk-function","code":"import requests\n\n# FILTER: First hour of London\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"Only take trades in first hour of London (08:00-09:00 UTC)\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Trade the open momentum","id":704,"short":"# FILTER: First hour of London\n\"risk_function\": \"Only take trades in first hour of London (08:00-09:00 UTC)\"","subcategory":"Session","title":"FILTER: First hour of London"},{"category":"risk-function","code":"import requests\n\n# FILTER: No Friday trades\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"No new entries on Friday after 16:00 UTC. Close all positions by 20:00 UTC Friday.\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Avoid weekend gap risk","id":705,"short":"# FILTER: No Friday trades\n\"risk_function\": \"No new entries on Friday after 16:00 UTC. Close all positions by 20:00 UTC Friday.\"","subcategory":"Day","title":"FILTER: No Friday trades"},{"category":"risk-function","code":"import requests\n\n# FILTER: No Monday morning\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"No trades on Monday before 10:00 UTC \u2014 let the market settle after weekend gap\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Skip Monday gap reaction","id":706,"short":"# FILTER: No Monday morning\n\"risk_function\": \"No trades on Monday before 10:00 UTC \u2014 let the market settle after weekend gap\"","subcategory":"Day","title":"FILTER: No Monday morning"},{"category":"risk-function","code":"import requests\n\n# FILTER: Weekdays only (no weekend)\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"Only trade Monday 00:00 to Friday 20:00 UTC\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Standard forex week","id":707,"short":"# FILTER: Weekdays only (no weekend)\n\"risk_function\": \"Only trade Monday 00:00 to Friday 20:00 UTC\"","subcategory":"Day","title":"FILTER: Weekdays only (no weekend)"},{"category":"risk-function","code":"import requests\n\n# FILTER: Tue-Thu only\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"Only trade Tuesday through Thursday \u2014 skip Monday gaps and Friday squeezes\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Mid-week only","id":708,"short":"# FILTER: Tue-Thu only\n\"risk_function\": \"Only trade Tuesday through Thursday \u2014 skip Monday gaps and Friday squeezes\"","subcategory":"Day","title":"FILTER: Tue-Thu only"},{"category":"risk-function","code":"import requests\n\n# FILTER: High ATR only\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"Only trade when ATR(14) is above its 20-bar average \u2014 need volatility for the trade to work\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Need movement to profit","id":709,"short":"# FILTER: High ATR only\n\"risk_function\": \"Only trade when ATR(14) is above its 20-bar average \u2014 need volatility for the trade to work\"","subcategory":"Volatility","title":"FILTER: High ATR only"},{"category":"risk-function","code":"import requests\n\n# FILTER: Low ATR skip\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"Skip any signal when ATR(14) < 0.0003 \u2014 spread will eat the profit\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Skip dead markets","id":710,"short":"# FILTER: Low ATR skip\n\"risk_function\": \"Skip any signal when ATR(14) < 0.0003 \u2014 spread will eat the profit\"","subcategory":"Volatility","title":"FILTER: Low ATR skip"},{"category":"risk-function","code":"import requests\n\n# FILTER: BB squeeze skip\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"Skip signals when Bollinger Band width is below 20-bar low \u2014 market is too compressed\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Avoid range-bound","id":711,"short":"# FILTER: BB squeeze skip\n\"risk_function\": \"Skip signals when Bollinger Band width is below 20-bar low \u2014 market is too compressed\"","subcategory":"Volatility","title":"FILTER: BB squeeze skip"},{"category":"risk-function","code":"import requests\n\n# FILTER: Scale by volatility\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"Reduce position size by 50% when ATR is above 1.5x its average \u2014 lower risk in volatile conditions\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Less size when wild","id":712,"short":"# FILTER: Scale by volatility\n\"risk_function\": \"Reduce position size by 50% when ATR is above 1.5x its average \u2014 lower risk in volatile conditions\"","subcategory":"Volatility","title":"FILTER: Scale by volatility"},{"category":"risk-function","code":"import requests\n\n# FILTER: Only with trend\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"Only take long signals when price is above SMA 200, only take short signals below SMA 200\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"No counter-trend trades","id":713,"short":"# FILTER: Only with trend\n\"risk_function\": \"Only take long signals when price is above SMA 200, only take short signals below SMA 200\"","subcategory":"Trend","title":"FILTER: Only with trend"},{"category":"risk-function","code":"import requests\n\n# FILTER: No counter-trend\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"Skip any buy signal when EMA 50 is below EMA 200 (downtrend). Skip sells in uptrend.\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Strict trend following","id":714,"short":"# FILTER: No counter-trend\n\"risk_function\": \"Skip any buy signal when EMA 50 is below EMA 200 (downtrend). Skip sells in uptrend.\"","subcategory":"Trend","title":"FILTER: No counter-trend"},{"category":"risk-function","code":"import requests\n\n# FILTER: Momentum confirm\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"Only take signals when 5-bar momentum is in the same direction as the signal\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Need momentum behind signal","id":715,"short":"# FILTER: Momentum confirm\n\"risk_function\": \"Only take signals when 5-bar momentum is in the same direction as the signal\"","subcategory":"Trend","title":"FILTER: Momentum confirm"},{"category":"risk-function","code":"import requests\n\n# FILTER: Stop after 3 losses\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"After 3 consecutive losing trades in a day, stop trading for the rest of the day\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Drawdown circuit breaker","id":716,"short":"# FILTER: Stop after 3 losses\n\"risk_function\": \"After 3 consecutive losing trades in a day, stop trading for the rest of the day\"","subcategory":"Loss","title":"FILTER: Stop after 3 losses"},{"category":"risk-function","code":"import requests\n\n# FILTER: Daily loss limit\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"Stop trading for the day if total daily loss exceeds 1% of capital\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Cap daily losses","id":717,"short":"# FILTER: Daily loss limit\n\"risk_function\": \"Stop trading for the day if total daily loss exceeds 1% of capital\"","subcategory":"Loss","title":"FILTER: Daily loss limit"},{"category":"risk-function","code":"import requests\n\n# FILTER: Reduce after drawdown\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"If equity is in a 5% drawdown from peak, reduce position size by 50% until new high\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Scale down in drawdown","id":718,"short":"# FILTER: Reduce after drawdown\n\"risk_function\": \"If equity is in a 5% drawdown from peak, reduce position size by 50% until new high\"","subcategory":"Loss","title":"FILTER: Reduce after drawdown"},{"category":"risk-function","code":"import requests\n\n# FILTER: Wide spread skip\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"Skip signals when spread is above 2 pips (0.0002) \u2014 likely low liquidity\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Protect against bad fills","id":719,"short":"# FILTER: Wide spread skip\n\"risk_function\": \"Skip signals when spread is above 2 pips (0.0002) \u2014 likely low liquidity\"","subcategory":"Cost","title":"FILTER: Wide spread skip"},{"category":"risk-function","code":"import requests\n\n# FILTER: News time skip\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"No trades within 30 minutes before or after the hour mark (common news release times)\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Avoid slippage","id":720,"short":"# FILTER: News time skip\n\"risk_function\": \"No trades within 30 minutes before or after the hour mark (common news release times)\"","subcategory":"Cost","title":"FILTER: News time skip"},{"category":"risk-function","code":"import requests\n\n# FILTER: London + ATR + trend\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"Only trade London session (08-16 UTC), when ATR > average, and price above SMA 200 for longs / below for shorts\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Triple filter","id":721,"short":"# FILTER: London + ATR + trend\n\"risk_function\": \"Only trade London session (08-16 UTC), when ATR > average, and price above SMA 200 for longs / below for shorts\"","subcategory":"Combined","title":"FILTER: London + ATR + trend"},{"category":"risk-function","code":"import requests\n\n# FILTER: Full safety net\nresp = requests.post(\"https://api.quantifyme.ai/api/v1/generate\", json={\n    \"features\": \"\",             # no specific features\n    \"indicators\": {},           # no structured indicators\n    \"signals\": \"\",              # no signal logic\n    \"model\": \"\",                # no model preference\n    \"optimization\": \"\",         # no optimization target\n    \"risk\": \"\",                 # no risk rules\n\n    # \u2550\u2550\u2550 CUSTOM RISK FILTER (change this) \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n    \"risk_function\": \"London-NY overlap only, no Friday after 16:00, skip when ATR < average, stop after 3 consecutive losses, daily loss limit 1%\",\n    # \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n    \"pos_rules\": {},            # default position rules\n    \"start_date\": \"2025-06-01\", \"end_date\": \"2026-04-01\",\n    \"train_split\": 0.7, \"claude_model\": \"sonnet\"\n}, headers={\"X-API-Key\": \"qm_YOUR_KEY\"})\n\nprint(resp.json()[\"code\"][:200])","description":"Maximum protection","id":722,"short":"# FILTER: Full safety net\n\"risk_function\": \"London-NY overlap only, no Friday after 16:00, skip when ATR < average, stop after 3 consecutive losses, daily loss limit 1%\"","subcategory":"Combined","title":"FILTER: Full safety net"}],"total":275}
