Returns an aistrategyminer.com link that opens the Strategy Miner (generator) with the given conditions already filled in: symbol, timeframe, direction, period, trial limit, minimum trades, seed, entry families, and optional realistic account and cost settings (spread_pips, commission, swap_long, swap_short, swap_unit, triple_swap_day, rollover_hour, session_start, session_end, min_stop_pips, sl_slippage_pips, gap_fill, friday_close_hour) and optional advanced settings (parts_only, parts_more, parts_less, period_min, period_max, period_step, conds_min, conds_max, allow_and, allow_or, allow_not, lookback, sl_min_pips, sl_max_pips, tp_min_pips, tp_max_pips, hours_mode, hours_start, hours_end, filters). Advanced settings choose which indicator parts the search may use (52 parts: the six defaults ma, rsi, bb, macd, stoch, donch plus 46 more that are off unless named in parts_only and make the search slower), how often each is picked, the indicator period range, how many conditions an entry has (1-4) and how they combine (AND, OR, NOT), how many extra bars back a condition may look, stop-loss and take-profit ranges in pips, a time-of-day window and extra filters. Values the generator cannot take, including out-of-range cost settings, are dropped and listed with the reason. Cost settings in the link are applied for that visit only: they are shown on screen and never overwrite the user's saved account settings, and they take effect only with Pro (a trial run ignores them). Advanced settings behave the same way: they are filled into the Advanced section for that visit only, never overwrite the user's saved advanced settings, and a link without them searches exactly as before. Out-of-range values, unknown part names and contradictory pairs (for example period_min above period_max) are not rounded or repaired: they are dropped and listed with the reason; conds, stop-loss and take-profit ranges need both ends. This tool does NOT run the generator and does not export anything: the user runs it in their own browser. Anyone can mine a trial run at a smaller fixed size (performance numbers only); the full settings, the conditions of each candidate, Open in Builder, the vault, exports and the results hand-off are part of Pro. The optional target (mql5, mql4, pine, ctrader or python) is only carried in the link as the intended export format; it is chosen again in the Builder after a candidate is opened. Not trading advice; candidates must be checked on other periods and in a strategy tester.
View input schema
{
"type": "object",
"properties": {
"symbol": {
"type": "string",
"description": "e.g. USDJPY (EURUSD USDJPY AUDUSD USDCAD NZDUSD USDCHF EURGBP GBPUSD; add-on symbols AUDCAD AUDCHF AUDJPY AUDNZD CADCHF CADJPY CHFJPY EURAUD EURCAD EURCHF EURJPY GBPAUD GBPCAD GBPCHF GBPJPY GBPNZD NZDJPY XAUUSD (gold) XAGUSD (silver; 1 lot = 5000 oz, 1 pip = $0.01) USA500IDXUSD (S&P 500 index; 1 lot = 1 index unit, 1 pip = 1 point; data from 2019, no 8/10 years) USATECHIDXUSD (Nasdaq 100) USA30IDXUSD (Dow) DEUIDXEUR (DAX) GBRIDXGBP (FTSE 100) JPNIDXJPY (Nikkei 225; same index definition) LIGHTCMDUSD (WTI crude oil; 1 lot = 1000 barrels assumed, 1 pip = $0.01) BRENTCMDUSD (Brent crude oil; same definition) need a one-time price-data download in the generator)"
},
"timeframe": {
"type": "string",
"description": "H1, H4, D1, M15 or M30 (M15 and M30 use up to 5 years)"
},
"direction": {
"type": "string",
"description": "long (buy only), short (sell only) or both"
},
"target": {
"type": "string",
"description": "mql5, mql4, pine, ctrader or python"
},
"years": {
"type": "number",
"description": "Test period in years: 2-5, or 8 or 10 (long period, Pro only; others get the fixed trial-run period)"
},
"trials": {
"type": "number",
"description": "Trial limit: 1000, 2000, 5000, 10000, 20000, 50000, 100000 or 200000"
},
"min_trades": {
"type": "number",
"description": "Minimum trades, 20-1000"
},
"seed": {
"type": "number",
"description": "Random seed 1-99999 (same seed, same result)"
},
"families": {
"type": "array",
"items": {
"type": "string"
},
"description": "Entry node families: ma, rsi, bb, macd, stoch, donch"
},
"spread_pips": {
"type": "number",
"description": "Realistic costs: spread in pips, 0-50 (0-500 for XAUUSD, whose default is 60)"
},
"commission": {
"type": "number",
"description": "Realistic costs: commission in USD per lot, round turn, 0-100"
},
"swap_long": {
"type": "number",
"description": "Realistic costs: swap for buys per lot per night, -1000 to 1000 (unit: swap_unit)"
},
"swap_short": {
"type": "number",
"description": "Realistic costs: swap for sells per lot per night, -1000 to 1000"
},
"swap_unit": {
"type": "string",
"description": "points or money (USD)"
},
"triple_swap_day": {
"type": "number",
"description": "Triple-swap weekday, 1 (Mon) to 5 (Fri); the generator default is 3 (Wed)"
},
"rollover_hour": {
"type": "number",
"description": "Day change hour in server time, 0-23"
},
"session_start": {
"type": "number",
"description": "New entries allowed from this hour, 0-24"
},
"session_end": {
"type": "number",
"description": "New entries allowed until this hour, 0-24"
},
"min_stop_pips": {
"type": "number",
"description": "Broker minimum stop distance in pips, 0-500"
},
"sl_slippage_pips": {
"type": "number",
"description": "Stop-loss slippage in pips, 0-100"
},
"gap_fill": {
"type": "boolean",
"description": "Fill at the open when the price gaps past a stop or target"
},
"friday_close_hour": {
"type": "number",
"description": "Friday close hour in server time, 1-20, 0 = off"
},
"parts_only": {
"type": "array",
"items": {
"type": "string"
},
"description": "Advanced: the only indicator parts the search may use (all others are off). Names: ma, rsi, bb, macd, stoch, donch, atr, stddev, wpr, cci, mom, roc, dpo, trix, dem, adx, adxw, rvi, ult, osma, ao, ac, bears, bulls, sar, ha, dema, tema, hma, env, kc, ama, frama, vidya, cons, perf, ichi, alli, gat, ohlc, st, qqe, vldmi, orb, obv, vol, ad, bwmfi, mfi, force, chaikin, vwap. The 46 parts after donch are off by default and slow the search"
},
"parts_more": {
"type": "array",
"items": {
"type": "string"
},
"description": "Advanced: parts to pick more often (naming one that is off by default turns it on)"
},
"parts_less": {
"type": "array",
"items": {
"type": "string"
},
"description": "Advanced: parts to pick less often"
},
"period_min": {
"type": "number",
"description": "Advanced: smallest indicator period, whole number 2-400"
},
"period_max": {
"type": "number",
"description": "Advanced: largest indicator period, whole number 2-400 (at least period_min)"
},
"period_step": {
"type": "number",
"description": "Advanced: period step, whole number 1-400"
},
"conds_min": {
"type": "number",
"description": "Advanced: fewest entry conditions, 1-4"
},
"conds_max": {
"type": "number",
"description": "Advanced: most entry conditions, 1-4 (at least conds_min)"
},
"allow_and": {
"type": "boolean",
"description": "Advanced: allow all conditions must hold (AND)"
},
"allow_or": {
"type": "boolean",
"description": "Advanced: allow any one condition is enough (OR)"
},
"allow_not": {
"type": "boolean",
"description": "Advanced: allow a comparison to be reversed (NOT)"
},
"lookback": {
"type": "number",
"description": "Advanced: how many extra bars back a condition may look, 0-5"
},
"sl_min_pips": {
"type": "number",
"description": "Advanced: smallest stop loss in pips, whole number 5-300; XAUUSD 200-10000"
},
"sl_max_pips": {
"type": "number",
"description": "Advanced: largest stop loss in pips, whole number 5-300; XAUUSD 200-10000 (at least sl_min_pips)"
},
"tp_min_pips": {
"type": "number",
"description": "Advanced: smallest take profit in pips, whole number 5-400; XAUUSD 200-10000"
},
"tp_max_pips": {
"type": "number",
"description": "Advanced: largest take profit in pips, whole number 5-400; XAUUSD 200-10000 (at least tp_min_pips)"
},
"hours_mode": {
"type": "string",
"description": "Advanced: time-of-day filter. off, fixed (use hours_start and hours_end) or random (the search decides)"
},
"hours_start": {
"type": "number",
"description": "Advanced: entry window start hour, server time, whole number 0-23 (with hours_end; implies fixed)"
},
"hours_end": {
"type": "number",
"description": "Advanced: entry window end hour, 0-23, at least 2 hours after hours_start (no overnight range)"
},
"filters": {
"type": "array",
"items": {
"type": "string"
},
"description": "Advanced: extra filters the search may use: sess, wd, gt, hlr, cp, mad"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}