Skip to main content

Trading Signals widget parameters

All parameters are optional except symbol (without it there is no instrument to analyze). Pass them as data-* attributes on the script tag (kebab-case), or as query parameters on the iframe URL (camelCase).

Content​

ParameterAttributeTypeDefaultNotes
symboldata-symbolstringnoneInstrument to analyze, e.g. XAUUSD, ^NDX. Uppercased automatically; letters, digits and . - / ^, max 15 chars
localedata-localestringenSee supported locales

symbol takes an FMP ticker, the same as the news widget, or for the major instruments your broker code (see Symbols). See Supported instruments for the full list. A symbol outside it renders the card's "signal unavailable" state rather than an error.

Market hours​

A signal is built from the instrument's own market data, so it follows that market's session. Crypto trades around the clock, and forex, metals and energy do on weekdays, so their signals refresh through the day.

Cash indices, shares, ETFs and soft commodities (cocoa, coffee, sugar, corn, cotton) only print prices while their exchange is open. Outside those hours, and at weekends, the card keeps the last session's signal and shows the time its data is from ("Data as of"). A new signal is generated once the market has traded again. Index CFDs often trade for longer than the exchange behind them, so a move a CFD makes overnight shows up in the signal after the index reopens.

Appearance​

ParameterAttributeTypeDefaultNotes
themedata-themelight | darklightCard theme
primaryColordata-primary-colorhex colorsee belowBrand accent: section icons, promo, pivot, links
secondaryColordata-secondary-colorhex colorsee belowSupport levels + alternative-scenario accent
bullishColordata-bullish-colorhex color#16A34ABullish sentiment + bullish preference
bearishColordata-bearish-colorhex color#E01013Bearish sentiment + resistance levels + stale marker
linkColordata-link-colorhex color#069BECHover states on the share button and share sheet

Colours adapt to the theme​

You don't have to set any colours. If you only pass data-theme="dark", the defaults adjust on their own to keep the widget readable:

  • primaryColor defaults to a near-white #ebebea (instead of the near-black #12111a used in light mode).
  • secondaryColor defaults to a light green #4ADE80 (instead of the darker green #15803D used in light mode).

The rest (bullishColor, bearishColor, linkColor) are readable in both themes and remain the same.

If you set a colour explicitly, it is used as given. However, to guarantee readability, the widget applies an automatic visibility floor: if a brand colour has insufficient contrast against the card background (e.g. passing a near-black light brand colour in dark mode), it is automatically shifted toward white or black until it meets WCAG contrast standards.

Features​

ParameterAttributeTypeDefaultNotes
bollingerdata-bollingersingle | dual | offsingleBollinger Bands on the price chart — see below
showRsidata-show-rsitrue | falsetrueAn RSI pane under the price chart — see below
showTradingViewdata-show-trading-viewtrue | falsetrueA TradingView export button beside Share — see below
showEmailSignupdata-show-email-signuptrue | falsetrueA "Signals by email" button beside Share, see below
partnerdata-partnerstringnoneYour partner id, see below

Publish on TradingView​

The card carries a TradingView button next to Share. It opens a short step-by-step that generates the idea title, a BBCode description built from the same analysis the card shows, and a Pine Script overlay of the signal's levels.

On by default. Hide it with data-show-trading-view="false".

<script
src="https://www.dealsize.ai/dealsize-widget.js"
async
data-widget="trading-signals"
data-symbol="XAUUSD"
data-show-trading-view="false"
></script>

The user pastes the Pine into TradingView's Pine Editor so the levels are drawn on their chart, then publishes — TradingView builds the idea's image from that chart, so the picture carries the analysis.

Every generated idea tags @DealSize_ai and closes with a plain-text line naming dealsize.ai as the source of the analysis. Neither is a hyperlink: TradingView's House Rules restrict external commercial links, and an idea pulled for self-promotion costs the user, not us.

The chart link opens on a CFD broker's TradingView feed wherever one carries the instrument, so published ideas are filed under that broker's symbol. Shares and ETFs open on their exchange listing (NASDAQ:AAPL). Talk to us if you embed this widget and want your own feed used instead.

The button reuses primaryColor and linkColor from the Share button, so theming one themes both.

It is an outbound link to a third-party platform, so the switch is there if you would rather not point your users at TradingView.

Signals by email​

The card carries a Signals by email button beside Share. It opens a short form where the reader leaves their email address to get the DealSize signals email: AI signals for Bitcoin, gold, EUR/USD and more, 30 minutes before the Asia, Europe and US markets open, every weekday. It is free and in the widget's language.

On by default. Hide it with data-show-email-signup="false". As a partner, pass your partner id to get the "Trade now" button described below:

<script
src="https://www.dealsize.ai/dealsize-widget.js"
async
data-widget="trading-signals"
data-symbol="XAUUSD"
data-partner="your-partner-id"
></script>

What the reader gets:

  • A confirmation email first. They are subscribed once they click its link, and every email has an unsubscribe link.
  • The emails come from DealSize. Each signal in them opens on dealsize.ai, where the reader creates a free account to read it.
  • With data-partner, every signal they open from the emails carries a "Trade now" button with your name, linking to the page you choose. Ask us for a partner id and send us that link. Without it, the signup works the same, without that button.
  • Readers who follow the widget through to dealsize.ai and sign up for the email there get the same button. We recognise them by the site their first visit came from, so tell us every domain your widget runs on.

Bollinger Bands​

The price chart draws Bollinger Bands over the candles: a moving average with an envelope a set number of standard deviations either side of it, so you can see at a glance when price is stretched relative to its recent range.

ValueWhat you get
singleThe standard band — a 20-period average with the envelope at ±2σ
dualThe standard band plus a slower 50-period one, for a wider reference
offNo overlay. Candles, levels and the pivot line only
<script
src="https://www.dealsize.ai/dealsize-widget.js"
async
data-widget="trading-signals"
data-symbol="XAUUSD"
data-bollinger="dual"
></script>

The two envelope edges share one colour (teal) because they're two sides of the same boundary; the moving average through the middle gets its own (purple) and is dashed, so it never reads as a third edge. Both adapt to light and dark themes automatically.

Band colours are not affected by bullishColor / bearishColor, and that's deliberate: they mark positions on a statistical envelope rather than brand roles, so your palette can't accidentally make a band edge look like one of the AI's own support or resistance lines on the same chart.

The bands are computed in the browser from the same candles already on the chart, so switching this costs no extra request and never changes the written analysis. Each band is labelled on the chart (Bollinger Bands (20, 2)) and, on devices with a mouse, a hover readout gives you its upper, middle and lower values for that candle.

Periods and multipliers aren't configurable — like the prompt, the chart's visual language is server-owned so it stays coherent across every embed. Tell us if you need a period we don't offer.

RSI​

Under the candles sits a second pane with the Relative Strength Index: a 14-period RSI (blue) with a 9-period moving average of it (red) and guide lines at 30, 50 and 70, so overbought and oversold stretches are visible at a glance. On devices with a mouse, the hover readout adds both values for the candle under the cursor.

On by default. Hide it with data-show-rsi="false"; the card then shows the price chart alone.

<script
src="https://www.dealsize.ai/dealsize-widget.js"
async
data-widget="trading-signals"
data-symbol="XAUUSD"
data-show-rsi="false"
></script>

Like the bands, the RSI is computed in the browser from the candles already on the chart, so it costs no extra request. Its colours are fixed and its periods are not configurable, for the same reason the band settings aren't.

Levels and the arrow​

Every support, resistance and pivot level is drawn across the chart as a dashed line in its colour, tagged with its price at the right edge. An arrow in the bias colour runs from the newest candle's close to the first target of the preferred scenario that price has not reached yet: the nearest support still below the price for a bearish signal, the nearest resistance still above it for a bullish one. A target the market has already traded through is skipped, and once every target on that side is behind the price there is no arrow, since there is nothing left to point at.

note

A band needs a full lookback window before it can be drawn, so it starts a little way in from the left edge of the chart rather than at the very first candle. That's expected — drawing it from a partial window would misstate the average.

Sizing (iframe-level, never forwarded)​

AttributeDefaultNotes
data-width100%CSS width of the container
data-height600pxCSS height, or auto to track content height
data-container-idgeneratedUse an existing element as the container
note

There are no prompt or model parameters by design. The analysis configuration is server-owned and continuously improved without changes to your embed.