Back to Webhook Messages
Webhook Messages

Invalid Formula Reference

A formula references a name that is not available: either signal. for a missing payload field, or rounding. for an unsupported rounding mode. See invalid-formula-reference in the reference manual.

A formula references a name that cannot be resolved when the expression runs. This usually means one of the following:

Missing payload field (signal.<key>)

  • The name is misspelled or uses the wrong casing (JSON keys are case-sensitive).
  • The field is missing from the webhook JSON (for example you reference signal.entryPrice but only sent closePrice).
  • You used a bare identifier (for example closePrice) instead of the required signal.<field> form.

Formulas only see top-level keys from the same webhook payload. Values from nested objects (other than literals you pass in) are not addressable as signal.something.nested—send the needed number as its own top-level key or compute it in an allowed formula field first.

Unknown rounding mode (rounding.<mode>)

The third argument to round() may use the built-in rounding context, for example rounding.halfEven. Property names are camelCase. Legacy PHP constant-style names (for example rounding.HALF_EVEN) are not supported.

Supported names:

  • rounding.halfAwayFromZero, rounding.halfTowardsZero, rounding.halfEven, rounding.halfOdd
  • rounding.towardsZero, rounding.awayFromZero, rounding.negativeInfinity, rounding.positiveInfinity

You may also pass an integer from 1 to 8 as the third argument to round().

Typical error details (webhook log)

The formula in field limitPrice references entryPrice, which is not present in the payload.

The formula in field x references rounding.unknownMode, which is not a supported rounding mode.

(The field name and the missing identifier are filled in for your request.)

Incorrect (missing payload key)

{
  "ticker": "SPY",
  "action": "buy",
  "closePrice": "450.25",
  "limitPrice": "=signal.entryPrice + 0.5"
}

entryPrice was never sent, so the reference cannot resolve.

Incorrect (missing signal. prefix)

{
  "ticker": "SPY",
  "action": "buy",
  "closePrice": "450.25",
  "limitPrice": "=closePrice + 0.5"
}

Use signal.closePrice so the expression reads from the payload context.

Incorrect (unknown rounding mode)

{
  "ticker": "SPY",
  "action": "buy",
  "x": "=round(2.5, 0, rounding.HALF_EVEN)"
}

Use rounding.halfEven instead.

Correct

{
  "ticker": "SPY",
  "action": "buy",
  "closePrice": "450.25",
  "limitPrice": "=signal.closePrice + 0.5"
}

Related errors

  • Invalid formula dependency — the name you referenced is another field whose value starts with = (chained formulas are not supported). Use a single formula or send a literal value for the intermediate field.
  • Invalid formula syntax — the expression could not be parsed at all; fix operators and parentheses first, then re-check field names.
  • Invalid formula runtime — an integer outside 1–8 was passed as round()'s third argument; use a rounding.* name or a valid mode integer.

Start trading at scale today. Sign up for free.

Free 7-day trial

Set-up in 3 minutes

Paper account for testing

TradersPost operates as a non-custodial automated trading platform, enabling users to connect alerts from their preferred trading platforms to their selected brokerage or exchange accounts. It abstains from the transmission, custody, or management of customer funds, covering both traditional and cryptocurrency assets. Typically, registration requirements set by regulatory entities such as the SEC, FINRA, or FinCEN apply to entities that hold or transmit customer funds. To ensure ongoing compliance, TradersPost regularly engages with regulatory authorities to confirm its adherence to all relevant local and federal laws.

TradersPost does not provide alerts, signals, research, analysis, or trading advice of any kind. It is designed to assist traders and investors in making their own trading decisions based on their alerts. The platform does not offer recommendations regarding securities to buy or sell, nor does it provide trading or investing advice. The platform and its features, capabilities, and tools are provided 'as-is' without any warranty.

Risk Disclosure: The use of automated trading systems involves inherent risks, including the potential for significant financial loss. These systems operate based on predetermined algorithms that may not fully adapt to changing market conditions, possibly making them unsuitable for some investors. Individuals are advised to thoroughly assess their financial situation and risk tolerance before using this platform.

Testimonials appearing on this website may not be representative of other clients or customers and is not a guarantee of future performance or success.

© 2026 TradersPost, Inc. All rights reserved.