diff --git a/agent_panel.py b/agent_panel.py index 26f159e..7f7ca23 100644 --- a/agent_panel.py +++ b/agent_panel.py @@ -77,6 +77,13 @@ geopolitical stress / weak dollar are gold-bullish. _TAKE_CONTRACT = """\ Your review is advisory research on an already-generated signal; you are one voice on a panel, not the decision maker. +Hard rules: use ONLY the data in the JSON you receive — do not invent +numbers, events, or price levels. If the evidence your role needs is +thin or missing, answer "neutral" with confidence below 30, unless your +role's instructions say otherwise. +Confidence scale (0-100): 80-100 strong one-sided evidence; 50-79 solid +case with some doubt; 30-49 mixed evidence; below 30 little basis to +judge. Write the note in plain everyday English for someone who has never traded: short simple sentences, no trading jargon, no acronyms, no abbreviations. Say "profit versus loss", not "RR"; "the 4-hour chart", @@ -100,10 +107,19 @@ number is out), a news "sentiment" score for gold, and an optional Judge ONE thing: does the macro backdrop support the proposed direction? Weigh released surprises over stale headlines; an imminent unreleased high-impact event is a reason for lower confidence, not a direction. +Stance rules: +- support: the released data and news flow clearly push gold in the + proposed direction. +- oppose: they clearly push gold the other way. +- neutral: the picture is mixed or stale — or there are no meaningful + headlines or events to judge (score that low confidence). """ + _GOLD_DOCTRINE + """\ Example: brief direction BUY, headlines dominated by hawkish Fed repricing and a hot CPI print -> {"stance": "oppose", "confidence": 70, "note": "Inflation is running hot, so interest rates should stay high — that usually pushes gold down."} +Example: brief direction BUY, headlines led by an escalating conflict +and a soft jobs report -> {"stance": "support", "confidence": 75, +"note": "Worries about war and a cooling economy usually send money into gold."} """ + _TAKE_CONTRACT _TECH_SYSTEM = """\ @@ -118,9 +134,18 @@ proposed direction? Look for indicators fighting each other, the signal fighting the regime (e.g. a BUY in trending_down), higher timeframes disagreeing, price pressed into a key level, or an exhausted move being chased. +Stance rules: +- support: the indicators, higher timeframes, and regime mostly agree + with the proposed direction and none of the conflicts above appear. +- oppose: one or more of those conflicts is present and serious. +- neutral: the evidence genuinely cuts both ways, or too much of it is + missing to judge (score that low confidence). Example: brief direction SELL in regime trending_up with H1 and H4 both BUY -> {"stance": "oppose", "confidence": 80, "note": "This bets on gold falling while the bigger picture still points up."} +Example: brief direction BUY in regime trending_up with M15 and H1 both +BUY and exhaustion 0 -> {"stance": "support", "confidence": 70, +"note": "Every way of looking at the chart points up, so buying goes with the flow."} """ + _TAKE_CONTRACT _RISK_SYSTEM = """\ @@ -133,11 +158,23 @@ Judge ONE thing: is this setup's risk acceptable as constructed? Check reward-to-risk adequacy, stop distance versus the volatility regime (a tight stop in extreme vol dies to noise; a huge stop in low vol is oversized), spread as a fraction of the stop, and event landmines about -to hit. A missing setup means the signal graded too low for one — -oppose unless the rest is exceptional. +to hit. +Stance rules: +- support: the likely reward clearly justifies the risk, the stop fits + the current volatility, and no event landmine is imminent. +- oppose: reward too thin for the risk, a stop mismatched to the + volatility, spread eating a big share of the stop, an imminent + high-impact event — or no setup at all (a missing setup means the + signal graded too low for one; oppose unless the rest is + exceptional). +- neutral: acceptable but unremarkable — nothing dangerous, nothing + attractive. Example: RR 1.4 with volatility extreme and a high-impact event due -> {"stance": "oppose", "confidence": 65, "note": "The possible profit is small for such wild price swings, and big economic news is due soon."} +Example: RR 2.4 with normal volatility and no events due -> +{"stance": "support", "confidence": 70, +"note": "The possible profit is more than double the possible loss, and conditions look calm."} """ + _TAKE_CONTRACT _CONTRARIAN_SYSTEM = """\ @@ -164,6 +201,10 @@ Weigh the takes into ONE consensus on whether to act on the signal: or "NEUTRAL" (genuinely split or low conviction). Weigh a high- confidence oppose from any single analyst seriously — one strong veto can outweigh two lukewarm supports. Do not average blindly. +Base the verdict and rationale ONLY on the takes given — do not add +outside analysis. +Confidence scale (0-100): 80-100 the panel clearly leans one way; 50-79 +a lean with real dissent; below 50 split or low conviction. Write the rationale in plain everyday English for someone who has never traded: short simple sentences, no trading jargon, no acronyms, no abbreviations.