forked from mnbvc188199/Warrior_EA
Owner decision (stated twice): available data gets wired; the networks judge
usefulness; the deploy gate remains the arbiter of what trades. Implemented:
MACRO block (6) on every symbol: 10y yield 20d change, curve slope, 5y
breakeven 20d change, Fed-ECB policy gap, CPI yoy, unemployment 12m change.
Screened null vs forward range on all four research symbols - recorded as
the honest prior in the catalog comment, wired regardless.
RISK block (3) extended to every symbol (FX majors, metals, energy, BTC all
now carry vix/vix_chg5/usd_chg5).
IVOL pair extended with the level alongside the change.
Vintage integrity kept where it is free: CPI is fetched as CPIAUCNS (NSA,
essentially never revised) so the plain-FRED backfill stays first-print-clean;
yields/curve/breakevens/policy rates are unrevised by nature. UNRATE is the
one exception (seasonal refits, ~0.1-0.2pp) - the EA cannot run the ALFRED
protocol, accepted and documented at the declaration site.
UpdateFred gains a staleDays parameter so the monthly series do not fire a
pointless fetch attempt every hour for three weeks after each print.
FeatureValue now takes the day and does its own as-of lookups - adding a
source no longer widens a parameter list. Feature counts: 12-15 per symbol;
symbol feature-order changed, safe only because no models exist yet.
export.py mirrors the new catalog for the five research symbols (13-15
features), smoke-tested: all five CSVs written, 6,072 daily rows each.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
113 lines
6.1 KiB
Text
113 lines
6.1 KiB
Text
WARRIOR EA - ALTERNATIVE DATA SYMBOL CATALOG
|
|
============================================
|
|
|
|
The EA maps the chart's symbol to an alt-data instrument automatically. Broker
|
|
tickers differ wildly (Dukascopy "USA500IDX", OANDA "SPX500", FTMO "US500.cash"),
|
|
so the catalog lists the common names for each instrument, and any leftover
|
|
suffix is absorbed by prefix matching - US500, US500.cash, US500.r, US500pro and
|
|
US500m all resolve to SP500 from the single alias "US500".
|
|
|
|
Source of truth: System\AltDataFetch.mqh -> BuildCatalog().
|
|
|
|
IF YOUR SYMBOL IS NOT RECOGNISED
|
|
--------------------------------
|
|
A dialog appears on the chart asking which instrument it is, with a dropdown of
|
|
everything below. Pick one and it is saved forever in
|
|
|
|
%APPDATA%\MetaQuotes\Terminal\Common\Files\Warrior_EA\AltData\symbol_map.cfg
|
|
|
|
Choosing "No alternative data" records that too, so it never asks again. The EA
|
|
trains and trades normally either way - an unmapped symbol simply contributes
|
|
zero alt-data features.
|
|
|
|
To map by hand (or to change an answer), edit that file - one line each:
|
|
|
|
USA500IDX=SP500
|
|
MYWEIRDTICKER=NONE
|
|
|
|
Delete a line to be asked again at the next attach.
|
|
|
|
POLICY (owner decision 2026-08-16): every feature the fetched sources can serve
|
|
is wired on every symbol. The research screens inform priors but do not gate
|
|
the input list - the networks decide what is useful, and the deploy gate
|
|
decides whether anything trained on these is ever allowed to trade.
|
|
|
|
FEATURE BLOCKS
|
|
--------------
|
|
RISK (3) vix, vix_chg5 CBOE VIX level + 5-day change (FRED VIXCLS)
|
|
usd_chg5 broad dollar index 5-day change (FRED DTWEXBGS)
|
|
IVOL (2) ivol, ivol_chg5 the instrument's OWN implied-vol index, level +
|
|
5-day change (GVZ gold, OVX oil, VXN/VXD/RVX the
|
|
US indices; FX has none - EVZ was discontinued)
|
|
COT (3) cot_idx_1y/3y leveraged-fund net position percentile, 1y and 3y
|
|
cot_chg_4w its 4-week change (SP500 carries cot_spec_net)
|
|
EIA (3) eia_stk_idx1y US crude stocks ex-SPR, 1-year percentile
|
|
eia_stk_chg4 US crude stocks, 4-week change
|
|
eia_util US refinery utilization
|
|
MACRO (6) mac_y10 10y treasury yield, 20-day change
|
|
mac_curve 10y-2y curve slope
|
|
mac_bei 5y inflation breakeven, 20-day change
|
|
mac_gap Fed minus ECB policy rate
|
|
mac_cpi US CPI year-over-year (unrevised NSA index)
|
|
mac_unemp US unemployment rate, 12-month change
|
|
|
|
CATALOG
|
|
-------
|
|
CANONICAL FEATURES BLOCKS RECOGNISED NAMES (any broker suffix)
|
|
--------- -------- ---------------------- ------------------------------------
|
|
SP500 13 RISK+spec_net+EIA+MAC SP500 SPX500 US500 USA500 USA500IDX
|
|
US_500 SPXUSD S&P500 SP_500 SPX
|
|
USA500IDXUSD US500Cash
|
|
NAS100 14 RISK+IVOL+EIA+MAC NAS100 NASDAQ US100 USA100 USATEC
|
|
USTEC NDX100 NQ100 TECH100 USA100IDX
|
|
US_100 NDX USATECHIDX
|
|
US30 14 RISK+IVOL+EIA+MAC US30 DJ30 DOW30 USA30 WALLSTREET
|
|
WS30 DJIUSD USA30IDX US_30 DOWJONES DJI
|
|
US2000 14 RISK+IVOL+EIA+MAC US2000 RUSSELL2000 RUT USA2000 RTY US_2000
|
|
DE40 12 RISK+EIA+MAC DE40 GER40 DAX40 DAX GER30 DE30
|
|
GERMANY40 DEU40 GRXEUR DE_40 GER_40
|
|
UK100 12 RISK+EIA+MAC UK100 FTSE100 FTSE GBR100 UKX GB100
|
|
UK_100 BRXGBP
|
|
JP225 12 RISK+EIA+MAC JP225 NIKKEI NI225 JPN225 J225 JPXJPY JP_225
|
|
EU50 12 RISK+EIA+MAC EU50 STOXX50 ESTX50 EUSTX50 SX5E EUR50 E50EUR
|
|
FR40 12 RISK+EIA+MAC FR40 CAC40 FRA40 CAC FRXEUR
|
|
AU200 12 RISK+EIA+MAC AU200 ASX200 AUS200 SPI200 AU_200 AUXAUD
|
|
HK50 12 RISK+EIA+MAC HK50 HSI HKG33 HK33 HANGSENG HKXHKD
|
|
EURUSD 15 COT+RISK+EIA+MAC EURUSD EUR_USD
|
|
USDJPY 15 COT+RISK+EIA+MAC USDJPY USD_JPY
|
|
GBPUSD 15 COT+RISK+EIA+MAC GBPUSD GBP_USD
|
|
USDCAD 15 COT+RISK+EIA+MAC USDCAD USD_CAD
|
|
AUDUSD 15 COT+RISK+EIA+MAC AUDUSD AUD_USD
|
|
NZDUSD 15 COT+RISK+EIA+MAC NZDUSD NZD_USD
|
|
USDCHF 15 COT+RISK+EIA+MAC USDCHF USD_CHF
|
|
XAUUSD 14 RISK+IVOL(GVZ)+EIA+MAC XAUUSD GOLD XAU_USD GOLDUSD
|
|
XAGUSD 12 RISK+EIA+MAC XAGUSD SILVER XAG_USD SILVERUSD
|
|
XTIUSD 14 RISK+IVOL(OVX)+EIA+MAC XTIUSD USOIL WTI CRUDE USCRUDE OIL
|
|
WTICOUSD OILUSD LIGHTCMDUSD CRUDEOIL
|
|
XBRUSD 14 RISK+IVOL(OVX)+EIA+MAC XBRUSD UKOIL BRENT UKOUSD BCOUSD
|
|
BRENTCMDUSD
|
|
NATGAS 12 RISK+EIA+MAC NATGAS NGAS XNGUSD NATURALGAS
|
|
BTCUSD 15 COT+RISK+EIA+MAC BTCUSD BITCOIN XBTUSD BTC_USD
|
|
|
|
WHAT THE SCREENS FOUND (priors, not gates)
|
|
------------------------------------------
|
|
Screened CLEAN (family-wise bar + incremental test, vs forward RANGE):
|
|
SP500 : vix_chg5, vix, usd_chg5, cot_spec_net
|
|
USDJPY : COT family; vix_chg5
|
|
EURUSD : vix_chg5
|
|
XAUUSD : vix_chg5, and ivol_chg5 (GVZ) at 4.6x the strength of vix_chg5 -
|
|
the second-strongest feature of the whole campaign
|
|
Screened NULL (wired anyway by policy): the MACRO block on all four research
|
|
symbols; EIA on WTI. Everything else is untested on its instrument.
|
|
|
|
NOT WIRED
|
|
---------
|
|
Gold/silver/copper COT positioning (CFTC disaggregated report - different
|
|
dataset id and columns), and silver IV (VXSLV discontinued). GEX records daily
|
|
to gex_{SYMBOL}.csv but feeds nothing until ~a year of history exists.
|
|
|
|
NOT WIRED
|
|
---------
|
|
Gold and WTI COT positioning exist, but in the CFTC's DISAGGREGATED report -
|
|
a different dataset id with different column names than the financial-futures
|
|
report this EA queries. Metals and energy therefore carry no COT columns.
|