Skip to content

Technical Indicator Backtest ​

GET /api/v1.0/quote/{symbol}/indicator-backtest

Get historical backtest statistics (total occurrences, next-day up/down counts, probability of rising, average return, max gain/drawdown) for a specific indicator polarity signal on a stock.

Request ​

ParameterTypeInRequiredDescription
symbolstringpathyesStock symbol (path param), e.g. US.TSLA / US.AAPL / HK.00700
indicator_idintqueryyesIndicator enum ID (1~15, same as quote.indicator_polarity)
polaritystringquerynoPolarity state to backtest, default OVER_SOLD
periodstringquerynoK-line period: DAY_1 (default) / HOUR_1 / MINUTE_1

Example ​

bash
curl -X GET 'https://webapi.moomoo.com/api/v1.0/quote/US.AAPL/indicator-backtest?indicator_id=1&polarity=1&period=1' \
  -H 'Authorization: Bearer <AccessToken>' | jq

Response ​

FieldTypeDescription
data.occurs_totalintegerTotal historical occurrences
data.occurs_upintegerNext-day up occurrences
data.occurs_downintegerNext-day down occurrences
data.probability_upnumberProbability of rising next day (percent)
data.probability_downnumberProbability of falling next day (percent)
data.avg_change_pctnumberAverage next-day percentage change (percent)
data.max_up_pctnumberMaximum gain (percent)
data.max_down_pctnumberMaximum drawdown (percent)

Errors ​

ret_codeerror.codeDescription
0—Success
-3invalid_parameterMissing or invalid parameter
-7invalid_symbolUnknown symbol
-8unsupportedMarket or product is not supported
-9permission_deniedMissing permission
-10no_dataNo data
-11rate_limitedToo many requests

Sample ​

json
{
  "ret_code": 0,
  "ret_msg": "success",
  "data": {
    "occurs_total": 0,
    "occurs_up": 0,
    "occurs_down": 0,
    "probability_up": "example",
    "probability_down": "example",
    "avg_change_pct": "example",
    "max_up_pct": "example",
    "max_down_pct": "example"
  }
}