1# Trigger templates shipped with MAF. 2# 3# Each entry is offered in the Setup tab's "Apply template" picker. The 4# rule is dropped verbatim into the arena's `triggers:` list, so users can 5# tweak any field afterwards. Extending this list is just adding an entry 6# below — no Python changes needed. 7# 8# Fields: 9# id — short stable id, lowercase + underscores. Used as the 10# option value in the dropdown. 11# title — human-readable label. 12# summary — one-sentence "when does this fire?". 13# needs — operational prerequisites (informational only). 14# rule — the actual trigger record. Same shape as 15# `maf.config.TriggerConfig`. 16 17- id: kronos_prob_shift 18 title: "Kronos — meaningful probability shift" 19 summary: "Fires when Kronos prob_up moves by > 15pp or direction flips." 20 needs: ["KronosRefresher running", "watched symbols"] 21 rule: 22 name: "kronos prob shift" 23 on_stream: "kronos:forecasts:emitted" 24 when: "abs(payload.prob_up_delta) > 0.15 or payload.direction_flipped" 25 target: 26 ticker: "{payload.symbol}" 27 cooldown_s: 60 28 action_mode: semi 29 30- id: kronos_1h_flip 31 title: "Kronos — 1h horizon direction flip" 32 summary: "Slower signal — only on the 1-hour horizon flipping direction." 33 needs: ["KronosRefresher running with 1h profile"] 34 rule: 35 name: "kronos 1h flip" 36 on_stream: "kronos:forecasts:emitted" 37 when: "payload.timeframe == '1h' and payload.direction_flipped" 38 target: 39 ticker: "{payload.symbol}" 40 cooldown_s: 300 41 action_mode: semi 42 43- id: kronos_high_confidence 44 title: "Kronos — high-confidence directional call" 45 summary: "Fires when prob_up is > 0.75 (bullish) or < 0.25 (bearish)." 46 needs: ["KronosRefresher running"] 47 rule: 48 name: "kronos high confidence" 49 on_stream: "kronos:forecasts:emitted" 50 when: "payload.prob_up > 0.75 or payload.prob_up < 0.25" 51 target: 52 ticker: "{payload.symbol}" 53 cooldown_s: 120 54 action_mode: semi 55 56- id: mirofish_tickers 57 title: "MiroFish — crowd-sim mentioned tickers" 58 summary: "Fires when a crowd-simulation result mentions any ticker." 59 needs: ["MirofishRefresher running"] 60 rule: 61 name: "mirofish sim emitted" 62 on_stream: "mirofish:sims:emitted" 63 when: "payload.tickers != [] and payload.tickers != None" 64 target: 65 ticker: "{payload.tickers[0]}" 66 cooldown_s: 180 67 action_mode: semi 68 69- id: trtools2_strategy_signal 70 title: "trtools2 — strategy engine BUY/SELL" 71 summary: "Fires whenever trtools2's strategy engine emits a BUY or SELL." 72 needs: ["trtools2 strategy engine running"] 73 rule: 74 name: "trtools2 strategy event" 75 on_stream: "trtools2:strategy:events" 76 when: "payload.action == 'BUY' or payload.action == 'SELL'" 77 target: 78 ticker: "{payload.symbol}" 79 cooldown_s: 30 80 action_mode: manual 81 82- id: news_high_impact 83 title: "trtools2 — high-impact news" 84 summary: "Fires on news items with sentiment magnitude above 0.7." 85 needs: ["trtools2 news feed running"] 86 rule: 87 name: "news high impact" 88 on_stream: "trtools2:news" 89 when: "abs(payload.sentiment) > 0.7" 90 target: 91 ticker: "{payload.symbol}" 92 cooldown_s: 120 93 action_mode: semi 94 95- id: fomo2_report 96 title: "fomo2 — new report emitted" 97 summary: "Fires whenever fomo2's LLM goal pipeline produces a report." 98 needs: ["fomo2 pipeline running"] 99 rule: 100 name: "fomo2 report" 101 on_stream: "fomo2:reports" 102 when: "payload.report_id != None" 103 target: 104 question_id: "{payload.report_id}" 105 cooldown_s: 60 106 action_mode: manual