Check a symbol’s daily close against a level or range you record.
A monitor compares a symbol’s price with a level or range you recorded in an Input. Allocait reports the result as a state. A webhook endpoint you add can receive close events. A monitor never places or stops an order.
ABOVE: the level is a ceiling. A close above it is a break.
BELOW: the level is a floor. A close below it is a break.
RANGE: a low Input and a high Input. A close outside the range is a break.
NEAR: reports how close the price is to the level. It has no break and no close event.
A monitor with a high Input defaults to RANGE, and one without defaults to ABOVE. Its symbols come from the portfolio’s holdings, a watchlist, a custom list of up to 50, or one symbol. A symbol can be a label, which has no price state unless a caller supplies a price.
A priced monitor reads one state for each symbol: above_level, below_level or at_level for one level, and below_range, above_range, in_range, at_low or at_high for a range. A symbol with no price or no recorded level has no state.Set threshold_pct (0 to 100) to say how near counts as near. Then the states near_level, near_low and near_high can appear. With no threshold_pct, no near_* state shows. Allocait types no default threshold.
After Allocait records a day’s closes, it checks each monitor’s symbols against the new daily close. It checks only symbols that have a recorded daily close, so a label, or a symbol with no recorded close, isn’t checked. A close past the level (above for ABOVE, below for BELOW, outside for RANGE) is a break:
The first break moves the symbol to CONFIRMED, and consecutive_closes counts the breaks in a row.
A later close back on the other side moves it to CLEARED, and the count returns to 0.
A day whose high or low went past the level while the close stayed on the compliant side is a retrace, not a break. Like any close that is not a break, it sets the state to CLEARED and the count to 0.
A close_state of null means no close has been checked yet. NEAR monitors have no close state. The check can widen the level by a confirmation buffer, shown as buffer_pct in a webhook payload. No app screen, tool or REST call sets it, so it reads 0.The check reads the level you recorded most recently. recorded_low_date (and recorded_high_date for a range) names the date of the entry that level came from. It is a fact, null when no entry exists, and Allocait computes no age or staleness from it.
A monitor can list conditions: an Input and the value that counts as Met. The app shows each as Met or Not met. They are display only. They filter no reading and don’t change what the close check reports.
With a signed-in connection, standing.monitors carries state, close_state, consecutive_closes and last_evaluated_date, with no price or distance. See Standing.
With a price list you supply, the snapshot also returns the monitor readings. Allocait supplies no market price to an agent.
A webhook can send monitor.confirmed, monitor.retraced and monitor.cleared events at the close.
save_monitor creates or changes a monitor and delete_monitor deletes one. Read monitors from get_portfolio_snapshot, which shows their settings and states. A monitor level needs an Input of type number, decimal or percentage. The server instructions tell an agent with no person present to change no monitor and to list in its brief what it would change. Allocait does not block the write.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Allocait","description":"Allocait checks a portfolio against the owner's own allocation rules. This site documents the REST API agents call and how to connect Claude, ChatGPT and Codex to it.","colors":{"primary":"#0b0b0b","light":"#ffc629","dark":"#0b0b0b"},"logo":{"light":"https://mintcdn.com/allocait/N9X8GrpLUSiZAKIm/logo/light.svg?fit=max\u0026auto=format\u0026n=N9X8GrpLUSiZAKIm\u0026q=85\u0026s=37c68a7ac5dc3550d24f484060530ea6","dark":"https://mintcdn.com/allocait/N9X8GrpLUSiZAKIm/logo/dark.svg?fit=max\u0026auto=format\u0026n=N9X8GrpLUSiZAKIm\u0026q=85\u0026s=64ac292a0a27672b4ff7d318734b0a5a","href":"https://allocait.app"},"favicon":"https://mintcdn.com/allocait/N9X8GrpLUSiZAKIm/logo/favicon.svg?fit=max\u0026auto=format\u0026n=N9X8GrpLUSiZAKIm\u0026q=85\u0026s=ff094ad764f4dfe37dbf99bdd5c9aaf4","api":{"playground":{"display":"simple"}},"appearance":{"default":"dark"},"background":{"color":{"light":"#ffffff","dark":"#09090b"}},"navbar":{"links":[{"href":"mailto:support@allocait.app","label":"Support"}],"primary":{"type":"button","label":"allocait.app","href":"https://allocait.app"}},"footer":{"links":[{"header":"Product","items":[{"label":"allocait.app","href":"https://allocait.app"},{"label":"Support","href":"mailto:support@allocait.app"}]}]},"icons":{"library":"tabler"},"contextual":{"options":["copy","view","chatgpt","claude","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"allocait","hasAudioNarration":false,"actualSubdomain":"allocait","customDomains":["docs.allocait.app"],"gitSource":{"type":"github","owner":"allocait-app","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"},"WEB_MCP":{"status":"DISABLED"},"NARRATION":{"status":"DISABLED"}},"buildId":"6af158c3927786a3649023cd","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"default","tag":"API reference","count":95},{"language":"default","tag":"Endpoints","count":84},{"language":"default","tag":"Concepts","count":24},{"language":"default","tag":"Claude \u0026 MCP","count":23},{"language":"default","tag":"Rules","count":22},{"language":"default","tag":"Guides","count":13},{"language":"default","tag":"Tools","count":12},{"language":"default","tag":"Inputs","count":12},{"language":"default","tag":"ChatGPT \u0026 Codex","count":10},{"language":"default","tag":"Watchlists","count":9}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"img.nav-logo{height:1rem!important;width:auto!important}.callout[data-callout-type=\"note\"],.callout[data-callout-type=\"info\"],.callout[data-callout-type=\"tip\"]{background-color:rgb(255 198 41 / 0.2)!important;border-color:rgb(255 198 41 / 0.6)!important}.callout[data-callout-type=\"note\"] *,.callout[data-callout-type=\"info\"] *,.callout[data-callout-type=\"tip\"] *{color:#0b0b0b!important}.callout[data-callout-type=\"note\"] svg,.callout[data-callout-type=\"info\"] svg,.callout[data-callout-type=\"tip\"] svg{fill:#0b0b0b!important}html.dark .callout[data-callout-type=\"note\"],html.dark .callout[data-callout-type=\"info\"],html.dark .callout[data-callout-type=\"tip\"]{background-color:rgb(255 198 41 / 0.1)!important;border-color:rgb(255 198 41 / 0.35)!important}html.dark .callout[data-callout-type=\"note\"] *,html.dark .callout[data-callout-type=\"info\"] *,html.dark .callout[data-callout-type=\"tip\"] *{color:#ffc629!important}html.dark .callout[data-callout-type=\"note\"] svg,html.dark .callout[data-callout-type=\"info\"] svg,html.dark .callout[data-callout-type=\"tip\"] svg{fill:#ffc629!important}"}],"page":{"pagePath":"concepts/monitors","slug":"/concepts/monitors","pageMetadata":{"title":"Monitors","sidebarTitle":"Monitors","description":"Check a symbol's daily close against a level or range you record.","href":"/concepts/monitors"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Check a symbol’s daily close against a level or range you record.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Note}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`A monitor compares a symbol’s price with a level or range you recorded in an `,_jsx(_components.a,{href:`/concepts/inputs`,children:`Input`}),`. Allocait reports the result as a state. A `,_jsx(_components.a,{href:`/guides/webhooks`,children:`webhook`}),` endpoint you add can receive close events. A monitor never places or stops an order.`]}),`\n`,_jsx(Heading,{level:`2`,id:`modes`,children:`Modes`}),`\n`,_jsx(_components.p,{children:`A monitor has one mode.`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`ABOVE`}),`: the level is a ceiling. A close above it is a break.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`BELOW`}),`: the level is a floor. A close below it is a break.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`RANGE`}),`: a low Input and a high Input. A close outside the range is a break.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`NEAR`}),`: reports how close the price is to the level. It has no break and no close event.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`A monitor with a high Input defaults to `,_jsx(_components.code,{children:`RANGE`}),`, and one without defaults to `,_jsx(_components.code,{children:`ABOVE`}),`. Its symbols come from the portfolio’s holdings, a watchlist, a custom list of up to 50, or one symbol. A symbol can be a `,_jsx(_components.a,{href:`/concepts/labels`,children:`label`}),`, which has no price state unless a caller supplies a price.`]}),`\n`,_jsx(Heading,{level:`2`,id:`price-states`,children:`Price states`}),`\n`,_jsxs(_components.p,{children:[`A priced monitor reads one state for each symbol: `,_jsx(_components.code,{children:`above_level`}),`, `,_jsx(_components.code,{children:`below_level`}),` or `,_jsx(_components.code,{children:`at_level`}),` for one level, and `,_jsx(_components.code,{children:`below_range`}),`, `,_jsx(_components.code,{children:`above_range`}),`, `,_jsx(_components.code,{children:`in_range`}),`, `,_jsx(_components.code,{children:`at_low`}),` or `,_jsx(_components.code,{children:`at_high`}),` for a range. A symbol with no price or no recorded level has no state.`]}),`\n`,_jsxs(_components.p,{children:[`Set `,_jsx(_components.code,{children:`threshold_pct`}),` (0 to 100) to say how near counts as near. Then the states `,_jsx(_components.code,{children:`near_level`}),`, `,_jsx(_components.code,{children:`near_low`}),` and `,_jsx(_components.code,{children:`near_high`}),` can appear. With no `,_jsx(_components.code,{children:`threshold_pct`}),`, no `,_jsx(_components.code,{children:`near_*`}),` state shows. Allocait types no default threshold.`]}),`\n`,_jsx(Heading,{level:`2`,id:`close-state`,children:`Close state`}),`\n`,_jsxs(_components.p,{children:[`After Allocait records a day’s closes, it checks each monitor’s symbols against the new daily close. It checks only symbols that have a recorded daily close, so a label, or a symbol with no recorded close, isn’t checked. A close past the level (above for `,_jsx(_components.code,{children:`ABOVE`}),`, below for `,_jsx(_components.code,{children:`BELOW`}),`, outside for `,_jsx(_components.code,{children:`RANGE`}),`) is a break:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`The first break moves the symbol to `,_jsx(_components.code,{children:`CONFIRMED`}),`, and `,_jsx(_components.code,{children:`consecutive_closes`}),` counts the breaks in a row.`]}),`\n`,_jsxs(_components.li,{children:[`A later close back on the other side moves it to `,_jsx(_components.code,{children:`CLEARED`}),`, and the count returns to 0.`]}),`\n`,_jsxs(_components.li,{children:[`A day whose high or low went past the level while the close stayed on the compliant side is a retrace, not a break. Like any close that is not a break, it sets the state to `,_jsx(_components.code,{children:`CLEARED`}),` and the count to 0.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`A `,_jsx(_components.code,{children:`close_state`}),` of `,_jsx(_components.code,{children:`null`}),` means no close has been checked yet. `,_jsx(_components.code,{children:`NEAR`}),` monitors have no close state. The check can widen the level by a confirmation buffer, shown as `,_jsx(_components.code,{children:`buffer_pct`}),` in a webhook payload. No app screen, tool or REST call sets it, so it reads 0.`]}),`\n`,_jsxs(_components.p,{children:[`The check reads the level you recorded most recently. `,_jsx(_components.code,{children:`recorded_low_date`}),` (and `,_jsx(_components.code,{children:`recorded_high_date`}),` for a range) names the date of the entry that level came from. It is a fact, `,_jsx(_components.code,{children:`null`}),` when no entry exists, and Allocait computes no age or staleness from it.`]}),`\n`,_jsx(Heading,{level:`2`,id:`conditions`,children:`Conditions`}),`\n`,_jsx(_components.p,{children:`A monitor can list conditions: an Input and the value that counts as Met. The app shows each as Met or Not met. They are display only. They filter no reading and don’t change what the close check reports.`}),`\n`,_jsx(Heading,{level:`2`,id:`where-you-see-states`,children:`Where you see states`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`The app shows each monitor with its state.`}),`\n`,_jsxs(_components.li,{children:[`With a signed-in connection, `,_jsx(_components.code,{children:`standing.monitors`}),` carries `,_jsx(_components.code,{children:`state`}),`, `,_jsx(_components.code,{children:`close_state`}),`, `,_jsx(_components.code,{children:`consecutive_closes`}),` and `,_jsx(_components.code,{children:`last_evaluated_date`}),`, with no price or distance. See `,_jsx(_components.a,{href:`/concepts/standing`,children:`Standing`}),`.`]}),`\n`,_jsx(_components.li,{children:`With a price list you supply, the snapshot also returns the monitor readings. Allocait supplies no market price to an agent.`}),`\n`,_jsxs(_components.li,{children:[`A `,_jsx(_components.a,{href:`/guides/webhooks`,children:`webhook`}),` can send `,_jsx(_components.code,{children:`monitor.confirmed`}),`, `,_jsx(_components.code,{children:`monitor.retraced`}),` and `,_jsx(_components.code,{children:`monitor.cleared`}),` events at the close.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`for-agents`,children:`For agents`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.code,{children:`save_monitor`}),` creates or changes a monitor and `,_jsx(_components.code,{children:`delete_monitor`}),` deletes one. Read monitors from `,_jsx(_components.code,{children:`get_portfolio_snapshot`}),`, which shows their settings and states. A monitor level needs an Input of type number, decimal or percentage. The server instructions tell an agent with no person present to change no monitor and to list in its brief what it would change. Allocait does not block the write.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next steps`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/concepts/inputs`,children:`Inputs`}),`: record the levels a monitor reads.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/guides/webhooks`,children:`Webhooks`}),`: the monitor events and their payloads.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/guides/scheduled-brief`,children:`Run a scheduled brief`}),`: report only what changed.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Monitors","sidebarTitle":"Monitors","description":"Check a symbol's daily close against a level or range you record.","href":"/concepts/monitors"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Modes","slug":"modes","depth":2,"children":[]},{"title":"Price states","slug":"price-states","depth":2,"children":[]},{"title":"Close state","slug":"close-state","depth":2,"children":[]},{"title":"Conditions","slug":"conditions","depth":2,"children":[]},{"title":"Where you see states","slug":"where-you-see-states","depth":2,"children":[]},{"title":"For agents","slug":"for-agents","depth":2,"children":[]},{"title":"Next steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"allocait","siteName":"Allocait","title":"Monitors - Allocait","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-03T19:47:35.499Z","originalFileLocation":"concepts/monitors.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Check a symbol\u0026#x27;s daily close against a level or range you record.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Allocait\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/allocait/8WDpZ9h0WNasoRjb/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/allocait/8WDpZ9h0WNasoRjb/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/allocait/8WDpZ9h0WNasoRjb/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/allocait/8WDpZ9h0WNasoRjb/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/allocait/8WDpZ9h0WNasoRjb/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/allocait/8WDpZ9h0WNasoRjb/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/allocait/8WDpZ9h0WNasoRjb/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/allocait/8WDpZ9h0WNasoRjb/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/allocait/8WDpZ9h0WNasoRjb/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Monitors - Allocait\">\u003cmeta data-mint-head property=\"og:description\" content=\"Check a symbol\u0026#x27;s daily close against a level or range you record.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Allocait\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.allocait.app/concepts/monitors\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://allocait.mintlify.site/_mintlify/api/og/v2?division=Research\u0026amp;title=Monitors\u0026amp;description=Check+a+symbol%27s+daily+close+against+a+level+or+range+you+record.\u0026amp;theme=f4ffca4ae92cd96f3d29a15e\u0026amp;signature=414e38abab228af89edfdb029abbcc6855a2aae8839d7a56e9ee80d7eb6ab1e6\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Monitors - Allocait\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Check a symbol\u0026#x27;s daily close against a level or range you record.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://allocait.mintlify.site/_mintlify/api/og/v2?division=Research\u0026amp;title=Monitors\u0026amp;description=Check+a+symbol%27s+daily+close+against+a+level+or+range+you+record.\u0026amp;theme=f4ffca4ae92cd96f3d29a15e\u0026amp;signature=414e38abab228af89edfdb029abbcc6855a2aae8839d7a56e9ee80d7eb6ab1e6\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/allocait/8WDpZ9h0WNasoRjb/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Allocait\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0b0b0b\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.allocait.app/concepts/monitors\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/concepts/monitors.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.allocait.app/#organization\",\"name\":\"Allocait\",\"url\":\"https://docs.allocait.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/allocait/N9X8GrpLUSiZAKIm/logo/light.svg?fit=max\u0026auto=format\u0026n=N9X8GrpLUSiZAKIm\u0026q=85\u0026s=37c68a7ac5dc3550d24f484060530ea6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.allocait.app#website\",\"name\":\"Allocait\",\"url\":\"https://docs.allocait.app\",\"publisher\":{\"@id\":\"https://docs.allocait.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.allocait.app/concepts/monitors#webpage\",\"url\":\"https://docs.allocait.app/concepts/monitors\",\"name\":\"Monitors\",\"description\":\"Check a symbol's daily close against a level or range you record.\",\"dateModified\":\"2026-11-03T19:47:35.499Z\",\"isPartOf\":{\"@id\":\"https://docs.allocait.app#website\"},\"breadcrumb\":{\"@id\":\"https://docs.allocait.app/concepts/monitors#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.allocait.app/concepts/monitors#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Research\",\"item\":\"https://docs.allocait.app/concepts/inputs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Monitors\",\"item\":\"https://docs.allocait.app/concepts/monitors\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.allocait.app/concepts/monitors#article\",\"headline\":\"Monitors\",\"name\":\"Monitors\",\"description\":\"Check a symbol's daily close against a level or range you record.\",\"url\":\"https://docs.allocait.app/concepts/monitors\",\"mainEntityOfPage\":{\"@id\":\"https://docs.allocait.app/concepts/monitors#webpage\"},\"dateModified\":\"2026-11-03T19:47:35.499Z\",\"publisher\":{\"@id\":\"https://docs.allocait.app/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.allocait.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Allocait\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Allocait\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/concepts/monitors.md","siteName":"Allocait","nav":{"global":null,"tabs":[{"tab":"Get started","pages":[{"title":"Get started","href":""}]},{"tab":"Concepts","groups":[{"group":"Rules","pages":[{"title":"Allocation bands","sidebarTitle":"Allocation bands","href":"/concepts/allocation-bands"},{"title":"Status words","sidebarTitle":"Status words","href":"/concepts/status-words"},{"title":"Size ranges","sidebarTitle":"Size ranges","href":"/concepts/position-sizes"},{"title":"Scenarios","sidebarTitle":"Scenarios","href":"/concepts/scenarios"},{"title":"Targets","sidebarTitle":"Targets","href":"/concepts/targets"},{"title":"Fund filing","sidebarTitle":"Fund filing","href":"/concepts/fund-filing"}]},{"group":"Holdings","pages":[{"title":"Shorts","sidebarTitle":"Shorts","href":"/concepts/shorts"},{"title":"Options","sidebarTitle":"Options","href":"/concepts/options"},{"title":"Moves","sidebarTitle":"Moves","href":"/concepts/moves"},{"title":"Exposure","sidebarTitle":"Exposure","href":"/concepts/exposure"},{"title":"Action log","sidebarTitle":"Action log","href":"/concepts/action-log"}]},{"group":"Prices","pages":[{"title":"Prices","sidebarTitle":"Prices","href":"/concepts/prices"},{"title":"App prices","sidebarTitle":"App prices","href":"/concepts/app-prices"},{"title":"Price freshness","sidebarTitle":"Freshness","href":"/concepts/price-freshness"}]},{"group":"Results","pages":[{"title":"Check result","sidebarTitle":"Check result","href":"/concepts/check-result"},{"title":"Standing","sidebarTitle":"Standing","href":"/concepts/standing"}]},{"group":"Research","pages":[{"title":"Inputs","sidebarTitle":"Inputs","href":"/concepts/inputs"},{"title":"Playbooks","sidebarTitle":"Playbooks","href":"/concepts/playbooks"},{"title":"Watchlists and charts","sidebarTitle":"Watchlists","description":"Group symbols to follow and chart the values you record.","href":"/concepts/watchlists-and-charts"},{"title":"Monitors","sidebarTitle":"Monitors","href":"/concepts/monitors"},{"title":"Labels","sidebarTitle":"Labels","description":"A label is a name you keep research under, such as an index or a macro series, that Allocait never treats as a security","href":"/concepts/labels"}]},{"group":"Files","pages":[{"title":"Rules text","sidebarTitle":"Rules text","href":"/concepts/rules-text"},{"title":"Rules text format","sidebarTitle":"Rules text format","href":"/concepts/rules-text-format"},{"title":"ALLOCAIT.md","sidebarTitle":"ALLOCAIT.md","href":"/concepts/setup-file"}]}]},{"tab":"Claude \u0026 MCP","pages":[{"title":"Claude \u0026 MCP","href":"/claude/overview"}]},{"tab":"ChatGPT \u0026 Codex","pages":[{"title":"ChatGPT \u0026 Codex","href":"/chatgpt/connect"}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/write-your-rules"}]},{"tab":"API reference","pages":[{"title":"API reference","href":"/api/introduction"}]},{"tab":"Support \u0026 trust","pages":[{"title":"Support \u0026 trust","href":"/support"}]}]},"basePath":"","title":"Monitors - Allocait","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":[],"chunks":[]}