# MyTrader — framework reference

MyTrader lets you build widgets, scripts, and user-defined indicators. A trading algo can be any of these — see [§1](https://api.fxblue.com/mytrader/scripting/markdown/001-1-framework-fundamentals.md) for a comparison and when to prefer each.

**If you are an LLM: work out which artifact type you are building before reading anything else.** The types have different entry points, and using the wrong one produces code that loads and then does nothing.

- **Widget** → read [1.1.3 Guidance for LLMs building MyTrader widgets](https://api.fxblue.com/mytrader/scripting/markdown/005-1.1.3-guidance-for-llms-building-mytrader-widgets.md) in full, then follow its links.
- **Script** → read [1.1.4 Canonical script skeleton](https://api.fxblue.com/mytrader/scripting/markdown/005a-1.1.4-canonical-script-skeleton.md) and [1.6.1 Script lifecycle](https://api.fxblue.com/mytrader/scripting/markdown/020-1.6.1-script-lifecycle.md).
- **UDI / UDIX** → indicators are documented separately, at `https://api.fxblue.com/mytrader/udi/markdown`. A UDIX additionally needs 1.1.4 and [1.6.2](https://api.fxblue.com/mytrader/scripting/markdown/021-1.6.2-udix-lifecycle.md) from this reference.

Do not rely on memory for framework URLs, patterns, or APIs — read the section that documents them. One rule is worth stating before you read any example, because it is the most common way generated code fails: **the widget bootstrap is widget-only.** Widgets construct their own instance with `new FXB.Framework()` and defer initialisation until `OnLoad` fires. Scripts and UDIXes are handed a `Framework` object before their first line runs, and must do neither.

## Contents

- [1 Framework fundamentals](https://api.fxblue.com/mytrader/scripting/markdown/001-1-framework-fundamentals.md)
    - [1.1 Examples](https://api.fxblue.com/mytrader/scripting/markdown/002-1.1-examples.md)
        - [1.1.1 Canonical widget skeleton](https://api.fxblue.com/mytrader/scripting/markdown/003-1.1.1-canonical-widget-skeleton.md)
        - [1.1.2 Full example widget](https://api.fxblue.com/mytrader/scripting/markdown/004-1.1.2-full-example-widget.md)
        - [1.1.3 Guidance for LLMs building MyTrader widgets](https://api.fxblue.com/mytrader/scripting/markdown/005-1.1.3-guidance-for-llms-building-mytrader-widgets.md)
        - [1.1.4 Canonical script skeleton](https://api.fxblue.com/mytrader/scripting/markdown/005a-1.1.4-canonical-script-skeleton.md)
    - [1.2 Framework access](https://api.fxblue.com/mytrader/scripting/markdown/006-1.2-framework-access.md)
        - [1.2.1 Linking to the framework's Javascript and CSS in a widget](https://api.fxblue.com/mytrader/scripting/markdown/007-1.2.1-linking-to-the-framework-s-javascript-and-css-in-a-widget.md)
        - [1.2.2 Creating an instance of the framework in a widget](https://api.fxblue.com/mytrader/scripting/markdown/008-1.2.2-creating-an-instance-of-the-framework-in-a-widget.md)
            - [1.2.2.1 Alternative, class-based framework access in widgets](https://api.fxblue.com/mytrader/scripting/markdown/009-1.2.2.1-alternative-class-based-framework-access-in-widgets.md)
        - [1.2.3 Waiting for the framework to become available in a widget](https://api.fxblue.com/mytrader/scripting/markdown/010-1.2.3-waiting-for-the-framework-to-become-available-in-a-widget.md)
        - [1.2.4 Reloading or navigation in widgets](https://api.fxblue.com/mytrader/scripting/markdown/011-1.2.4-reloading-or-navigation-in-widgets.md)
    - [1.3 Browser environment](https://api.fxblue.com/mytrader/scripting/markdown/012-1.3-browser-environment.md)
        - [1.3.1 Scripts and UDIXes - web workers](https://api.fxblue.com/mytrader/scripting/markdown/013-1.3.1-scripts-and-udixes-web-workers.md)
        - [1.3.2 Browser modals](https://api.fxblue.com/mytrader/scripting/markdown/014-1.3.2-browser-modals.md)
        - [1.3.3 Widget sandboxing](https://api.fxblue.com/mytrader/scripting/markdown/015-1.3.3-widget-sandboxing.md)
    - [1.4 Asynchronous operation](https://api.fxblue.com/mytrader/scripting/markdown/016-1.4-asynchronous-operation.md)
    - [1.5 Javascript Promises](https://api.fxblue.com/mytrader/scripting/markdown/017-1.5-javascript-promises.md)
        - [1.5.1 Async functions and await syntax](https://api.fxblue.com/mytrader/scripting/markdown/018-1.5.1-async-functions-and-await-syntax.md)
    - [1.6 Component lifecycle](https://api.fxblue.com/mytrader/scripting/markdown/019-1.6-component-lifecycle.md)
        - [1.6.1 Script lifecycle](https://api.fxblue.com/mytrader/scripting/markdown/020-1.6.1-script-lifecycle.md)
        - [1.6.2 UDIX lifecycle](https://api.fxblue.com/mytrader/scripting/markdown/021-1.6.2-udix-lifecycle.md)
        - [1.6.3 Widget lifecycle](https://api.fxblue.com/mytrader/scripting/markdown/022-1.6.3-widget-lifecycle.md)
            - [1.6.3.1 Permanent widgets](https://api.fxblue.com/mytrader/scripting/markdown/023-1.6.3.1-permanent-widgets.md)
    - [1.7 External data and hosting](https://api.fxblue.com/mytrader/scripting/markdown/024-1.7-external-data-and-hosting.md)
        - [1.7.1 Requesting external data (news etc)](https://api.fxblue.com/mytrader/scripting/markdown/025-1.7.1-requesting-external-data-news-etc.md)
        - [1.7.2 Hosting external content for the MyTrader platform](https://api.fxblue.com/mytrader/scripting/markdown/026-1.7.2-hosting-external-content-for-the-mytrader-platform.md)
    - [1.8 Trading account capabilities](https://api.fxblue.com/mytrader/scripting/markdown/027-1.8-trading-account-capabilities.md)
    - [1.9 Data representations and standards](https://api.fxblue.com/mytrader/scripting/markdown/028-1.9-data-representations-and-standards.md)
        - [1.9.1 Dictionaries](https://api.fxblue.com/mytrader/scripting/markdown/029-1.9.1-dictionaries.md)
        - [1.9.2 Times](https://api.fxblue.com/mytrader/scripting/markdown/030-1.9.2-times.md)
        - [1.9.3 Time zones](https://api.fxblue.com/mytrader/scripting/markdown/031-1.9.3-time-zones.md)
        - [1.9.4 Trade volumes](https://api.fxblue.com/mytrader/scripting/markdown/032-1.9.4-trade-volumes.md)
        - [1.9.5 Candle data](https://api.fxblue.com/mytrader/scripting/markdown/033-1.9.5-candle-data.md)
        - [1.9.6 Chart timeframes](https://api.fxblue.com/mytrader/scripting/markdown/034-1.9.6-chart-timeframes.md)
        - [1.9.7 Enumerations and identifiers](https://api.fxblue.com/mytrader/scripting/markdown/034a-1.9.7-enumerations-and-identifiers.md)
    - [1.10 Runtime environment assumptions](https://api.fxblue.com/mytrader/scripting/markdown/035-1.10-runtime-environment-assumptions.md)
    - [1.11 Common pitfalls](https://api.fxblue.com/mytrader/scripting/markdown/036-1.11-common-pitfalls.md)
    - [1.12 Future additions to the framework](https://api.fxblue.com/mytrader/scripting/markdown/037-1.12-future-additions-to-the-framework.md)
        - [1.12.1 Undocumented members of the framework](https://api.fxblue.com/mytrader/scripting/markdown/038-1.12.1-undocumented-members-of-the-framework.md)
- [2 Collections, objects, and properties in the framework](https://api.fxblue.com/mytrader/scripting/markdown/039-2-collections-objects-and-properties-in-the-framework.md)
    - [2.1 Framework collections](https://api.fxblue.com/mytrader/scripting/markdown/040-2.1-framework-collections.md)
    - [2.2 Framework objects](https://api.fxblue.com/mytrader/scripting/markdown/041-2.2-framework-objects.md)
    - [2.3 Framework properties](https://api.fxblue.com/mytrader/scripting/markdown/042-2.3-framework-properties.md)
    - [2.4 Framework.Instruments collection](https://api.fxblue.com/mytrader/scripting/markdown/043-2.4-framework-instruments-collection.md)
        - [2.4.1 Instruments.get(), Instruments.getOrBlank(), and standardisation](https://api.fxblue.com/mytrader/scripting/markdown/044-2.4.1-instruments-get-instruments-getorblank-and-standardisation.md)
        - [2.4.2 Instruments.GetTradeableInstruments()](https://api.fxblue.com/mytrader/scripting/markdown/045-2.4.2-instruments-gettradeableinstruments.md)
        - [2.4.3 Instruments.GetInstrumentCategories()](https://api.fxblue.com/mytrader/scripting/markdown/046-2.4.3-instruments-getinstrumentcategories.md)
    - [2.5 FXB.Instrument object](https://api.fxblue.com/mytrader/scripting/markdown/047-2.5-fxb-instrument-object.md)
        - [2.5.1 FXB.Instrument properties](https://api.fxblue.com/mytrader/scripting/markdown/048-2.5.1-fxb-instrument-properties.md)
        - [2.5.2 Market categories (categoryId of FXB.Instrument)](https://api.fxblue.com/mytrader/scripting/markdown/049-2.5.2-market-categories-categoryid-of-fxb-instrument.md)
        - [2.5.3 Market data on spread-betting accounts](https://api.fxblue.com/mytrader/scripting/markdown/050-2.5.3-market-data-on-spread-betting-accounts.md)
        - [2.5.4 FXB.Instrument helper functions](https://api.fxblue.com/mytrader/scripting/markdown/051-2.5.4-fxb-instrument-helper-functions.md)
    - [2.6 Framework.Orders collection](https://api.fxblue.com/mytrader/scripting/markdown/052-2.6-framework-orders-collection.md)
    - [2.7 FXB.Order object](https://api.fxblue.com/mytrader/scripting/markdown/053-2.7-fxb-order-object.md)
        - [2.7.1 Order types](https://api.fxblue.com/mytrader/scripting/markdown/054-2.7.1-order-types.md)
        - [2.7.2 Order-type helper functions](https://api.fxblue.com/mytrader/scripting/markdown/055-2.7.2-order-type-helper-functions.md)
    - [2.8 Framework.Positions collection](https://api.fxblue.com/mytrader/scripting/markdown/056-2.8-framework-positions-collection.md)
    - [2.9 FXB.Position object](https://api.fxblue.com/mytrader/scripting/markdown/057-2.9-fxb-position-object.md)
    - [2.10 Framework.TradeHistory collection](https://api.fxblue.com/mytrader/scripting/markdown/058-2.10-framework-tradehistory-collection.md)
    - [2.11 Framework.Account object](https://api.fxblue.com/mytrader/scripting/markdown/059-2.11-framework-account-object.md)
        - [2.11.1 Framework.Account properties](https://api.fxblue.com/mytrader/scripting/markdown/060-2.11.1-framework-account-properties.md)
        - [2.11.2 Account features](https://api.fxblue.com/mytrader/scripting/markdown/061-2.11.2-account-features.md)
    - [2.12 Framework.Environment object](https://api.fxblue.com/mytrader/scripting/markdown/062-2.12-framework-environment-object.md)
    - [2.13 Framework.Translation object](https://api.fxblue.com/mytrader/scripting/markdown/063-2.13-framework-translation-object.md)
        - [2.13.1 List of available language variables](https://api.fxblue.com/mytrader/scripting/markdown/064-2.13.1-list-of-available-language-variables.md)
        - [2.13.2 Framework.Translation.TranslateDOM()](https://api.fxblue.com/mytrader/scripting/markdown/065-2.13.2-framework-translation-translatedom.md)
        - [2.13.3 Framework.Translation.TranslateItem() and Framework.$T()](https://api.fxblue.com/mytrader/scripting/markdown/066-2.13.3-framework-translation-translateitem-and-framework-t.md)
        - [2.13.4 Framework.Translation.TranslateError()](https://api.fxblue.com/mytrader/scripting/markdown/067-2.13.4-framework-translation-translateerror.md)
        - [2.13.5 Framework.Translation.TranslateTimeframe()](https://api.fxblue.com/mytrader/scripting/markdown/068-2.13.5-framework-translation-translatetimeframe.md)
        - [2.13.6 Framework.Translation.TranslateInstrumentCategory()](https://api.fxblue.com/mytrader/scripting/markdown/069-2.13.6-framework-translation-translateinstrumentcategory.md)
    - [2.14 Framework.Theme object](https://api.fxblue.com/mytrader/scripting/markdown/070-2.14-framework-theme-object.md)
    - [2.15 FXB.Result object](https://api.fxblue.com/mytrader/scripting/markdown/071-2.15-fxb-result-object.md)
- [3 Functions in the framework](https://api.fxblue.com/mytrader/scripting/markdown/072-3-functions-in-the-framework.md)
    - [3.1 Price requests](https://api.fxblue.com/mytrader/scripting/markdown/073-3.1-price-requests.md)
        - [3.1.1 Requesting the latest price for a market](https://api.fxblue.com/mytrader/scripting/markdown/073a-3.1.1-requesting-the-latest-price-for-a-market.md)
    - [3.2 Historic candle data](https://api.fxblue.com/mytrader/scripting/markdown/074-3.2-historic-candle-data.md)
        - [3.2.1 Candle response messages](https://api.fxblue.com/mytrader/scripting/markdown/075-3.2.1-candle-response-messages.md)
        - [3.2.2 Terminating streaming requests](https://api.fxblue.com/mytrader/scripting/markdown/076-3.2.2-terminating-streaming-requests.md)
        - [3.2.3 Time zones for candle requests](https://api.fxblue.com/mytrader/scripting/markdown/077-3.2.3-time-zones-for-candle-requests.md)
    - [3.3 Trading](https://api.fxblue.com/mytrader/scripting/markdown/078-3.3-trading.md)
        - [3.3.1 Overview of trading requests](https://api.fxblue.com/mytrader/scripting/markdown/079-3.3.1-overview-of-trading-requests.md)
        - [3.3.2 New pending orders and trades](https://api.fxblue.com/mytrader/scripting/markdown/080-3.3.2-new-pending-orders-and-trades.md)
            - [3.3.2.1 Volume on order and trade requests](https://api.fxblue.com/mytrader/scripting/markdown/081-3.3.2.1-volume-on-order-and-trade-requests.md)
            - [3.3.2.2 Open price on pending orders](https://api.fxblue.com/mytrader/scripting/markdown/082-3.3.2.2-open-price-on-pending-orders.md)
            - [3.3.2.3 Stop-loss on orders and trades](https://api.fxblue.com/mytrader/scripting/markdown/083-3.3.2.3-stop-loss-on-orders-and-trades.md)
            - [3.3.2.4 Take-profit on orders and trades](https://api.fxblue.com/mytrader/scripting/markdown/084-3.3.2.4-take-profit-on-orders-and-trades.md)
            - [3.3.2.5 Trailing stop on orders and trades](https://api.fxblue.com/mytrader/scripting/markdown/085-3.3.2.5-trailing-stop-on-orders-and-trades.md)
            - [3.3.2.6 Expiry on pending orders](https://api.fxblue.com/mytrader/scripting/markdown/086-3.3.2.6-expiry-on-pending-orders.md)
            - [3.3.2.7 Candle-based prices in order definitions](https://api.fxblue.com/mytrader/scripting/markdown/087-3.3.2.7-candle-based-prices-in-order-definitions.md)
        - [3.3.3 Modifying open trades and pending orders](https://api.fxblue.com/mytrader/scripting/markdown/088-3.3.3-modifying-open-trades-and-pending-orders.md)
            - [3.3.3.1 Break-even exit on open trades](https://api.fxblue.com/mytrader/scripting/markdown/089-3.3.3.1-break-even-exit-on-open-trades.md)
        - [3.3.4 Closing individual trades and orders](https://api.fxblue.com/mytrader/scripting/markdown/090-3.3.4-closing-individual-trades-and-orders.md)
        - [3.3.5 Closing all open trades or pending orders on a single market](https://api.fxblue.com/mytrader/scripting/markdown/091-3.3.5-closing-all-open-trades-or-pending-orders-on-a-single-market.md)
        - [3.3.6 Closing all open trades or pending orders on the whole account](https://api.fxblue.com/mytrader/scripting/markdown/092-3.3.6-closing-all-open-trades-or-pending-orders-on-the-whole.md)
        - [3.3.7 Asynchronous result callback for SendOrder()](https://api.fxblue.com/mytrader/scripting/markdown/093-3.3.7-asynchronous-result-callback-for-sendorder.md)
        - [3.3.8 Optional settings for trading requests](https://api.fxblue.com/mytrader/scripting/markdown/094-3.3.8-optional-settings-for-trading-requests.md)
        - [3.3.9 Forcing confirmation of all subsequent trading](https://api.fxblue.com/mytrader/scripting/markdown/095-3.3.9-forcing-confirmation-of-all-subsequent-trading.md)
        - [3.3.10 Validating trading requests without execution](https://api.fxblue.com/mytrader/scripting/markdown/096-3.3.10-validating-trading-requests-without-execution.md)
        - [3.3.11 Globally disabling all trading](https://api.fxblue.com/mytrader/scripting/markdown/096a-3.3.11-globally-disabling-all-trading.md)
    - [3.4 Account history](https://api.fxblue.com/mytrader/scripting/markdown/097-3.4-account-history.md)
    - [3.5 Dialogs](https://api.fxblue.com/mytrader/scripting/markdown/098-3.5-dialogs.md)
        - [3.5.1 Standard dialog behaviour and settings](https://api.fxblue.com/mytrader/scripting/markdown/099-3.5.1-standard-dialog-behaviour-and-settings.md)
        - [3.5.2 Common information/alert/question dialogs](https://api.fxblue.com/mytrader/scripting/markdown/100-3.5.2-common-information-alert-question-dialogs.md)
            - [3.5.2.1 Button styles for common dialogs](https://api.fxblue.com/mytrader/scripting/markdown/101-3.5.2.1-button-styles-for-common-dialogs.md)
            - [3.5.2.2 Callbacks from common dialogs](https://api.fxblue.com/mytrader/scripting/markdown/102-3.5.2.2-callbacks-from-common-dialogs.md)
            - [3.5.2.3 Manually destroying common dialogs](https://api.fxblue.com/mytrader/scripting/markdown/103-3.5.2.3-manually-destroying-common-dialogs.md)
            - [3.5.2.4 Floating, non-modal common dialogs](https://api.fxblue.com/mytrader/scripting/markdown/104-3.5.2.4-floating-non-modal-common-dialogs.md)
        - [3.5.3 Selecting a market or timeframe](https://api.fxblue.com/mytrader/scripting/markdown/105-3.5.3-selecting-a-market-or-timeframe.md)
        - [3.5.4 Asking for a text value](https://api.fxblue.com/mytrader/scripting/markdown/106-3.5.4-asking-for-a-text-value.md)
        - [3.5.5 Selecting from a list](https://api.fxblue.com/mytrader/scripting/markdown/107-3.5.5-selecting-from-a-list.md)
            - [3.5.5.1 Checkbox list](https://api.fxblue.com/mytrader/scripting/markdown/108-3.5.5.1-checkbox-list.md)
        - [3.5.6 Menu-list dialogs (with icons, sub-menus etc)](https://api.fxblue.com/mytrader/scripting/markdown/109-3.5.6-menu-list-dialogs-with-icons-sub-menus-etc.md)
        - [3.5.7 Displaying a settings dialog](https://api.fxblue.com/mytrader/scripting/markdown/110-3.5.7-displaying-a-settings-dialog.md)
        - [3.5.8 Custom HTML dialogs](https://api.fxblue.com/mytrader/scripting/markdown/111-3.5.8-custom-html-dialogs.md)
        - [3.5.9 Widget displaying itself as its own dialog](https://api.fxblue.com/mytrader/scripting/markdown/112-3.5.9-widget-displaying-itself-as-its-own-dialog.md)
        - [3.5.10 Displaying the platform's standard deal ticket](https://api.fxblue.com/mytrader/scripting/markdown/113-3.5.10-displaying-the-platform-s-standard-deal-ticket.md)
            - [3.5.10.1 Opening the dealticket or trading-action dialogs](https://api.fxblue.com/mytrader/scripting/markdown/114-3.5.10.1-opening-the-dealticket-or-trading-action-dialogs.md)
            - [3.5.10.2 Opening a chart with attached deal ticket](https://api.fxblue.com/mytrader/scripting/markdown/115-3.5.10.2-opening-a-chart-with-attached-deal-ticket.md)
            - [3.5.10.3 Selecting an order template](https://api.fxblue.com/mytrader/scripting/markdown/116-3.5.10.3-selecting-an-order-template.md)
        - [3.5.11 Notifying the user by generating mail](https://api.fxblue.com/mytrader/scripting/markdown/117-3.5.11-notifying-the-user-by-generating-mail.md)
        - [3.5.12 Toast](https://api.fxblue.com/mytrader/scripting/markdown/118-3.5.12-toast.md)
            - [3.5.12.1 Creating toast](https://api.fxblue.com/mytrader/scripting/markdown/119-3.5.12.1-creating-toast.md)
            - [3.5.12.2 Dialogs from toast clicks](https://api.fxblue.com/mytrader/scripting/markdown/120-3.5.12.2-dialogs-from-toast-clicks.md)
            - [3.5.12.3 Destroying toast](https://api.fxblue.com/mytrader/scripting/markdown/121-3.5.12.3-destroying-toast.md)
        - [3.5.13 Opening widgets in dialogs](https://api.fxblue.com/mytrader/scripting/markdown/122-3.5.13-opening-widgets-in-dialogs.md)
    - [3.6 Settings and state storage](https://api.fxblue.com/mytrader/scripting/markdown/123-3.6-settings-and-state-storage.md)
        - [3.6.1 Types of framework storage: private and category](https://api.fxblue.com/mytrader/scripting/markdown/124-3.6.1-types-of-framework-storage-private-and-category.md)
        - [3.6.2 Loading and saving category settings](https://api.fxblue.com/mytrader/scripting/markdown/125-3.6.2-loading-and-saving-category-settings.md)
        - [3.6.3 Loading and saving private settings](https://api.fxblue.com/mytrader/scripting/markdown/126-3.6.3-loading-and-saving-private-settings.md)
        - [3.6.4 Combining category settings and private settings](https://api.fxblue.com/mytrader/scripting/markdown/127-3.6.4-combining-category-settings-and-private-settings.md)
        - [3.6.5 Widget state (for new windows etc)](https://api.fxblue.com/mytrader/scripting/markdown/128-3.6.5-widget-state-for-new-windows-etc.md)
        - [3.6.6 Saving both private and category settings](https://api.fxblue.com/mytrader/scripting/markdown/129-3.6.6-saving-both-private-and-category-settings.md)
    - [3.7 Interacting with the MyTrader page container and environment](https://api.fxblue.com/mytrader/scripting/markdown/130-3.7-interacting-with-the-mytrader-page-container-and-environment.md)
        - [3.7.1 Handling context - synchronization in the page container](https://api.fxblue.com/mytrader/scripting/markdown/131-3.7.1-handling-context-synchronization-in-the-page-container.md)
        - [3.7.2 Changing the market or timeframe of the current page](https://api.fxblue.com/mytrader/scripting/markdown/132-3.7.2-changing-the-market-or-timeframe-of-the-current-page.md)
        - [3.7.3 Changing the current page displayed in MyTrader](https://api.fxblue.com/mytrader/scripting/markdown/133-3.7.3-changing-the-current-page-displayed-in-mytrader.md)
        - [3.7.4 Chart sidebar/dock widgets](https://api.fxblue.com/mytrader/scripting/markdown/134-3.7.4-chart-sidebar-dock-widgets.md)
            - [3.7.4.1 Getting and setting the chart instrument and timeframe](https://api.fxblue.com/mytrader/scripting/markdown/135-3.7.4.1-getting-and-setting-the-chart-instrument-and-timeframe.md)
            - [3.7.4.2 Chart widget dock title](https://api.fxblue.com/mytrader/scripting/markdown/136-3.7.4.2-chart-widget-dock-title.md)
            - [3.7.4.3 Chart widget height](https://api.fxblue.com/mytrader/scripting/markdown/137-3.7.4.3-chart-widget-height.md)
            - [3.7.4.4 Chart bar data and events](https://api.fxblue.com/mytrader/scripting/markdown/138-3.7.4.4-chart-bar-data-and-events.md)
            - [3.7.4.5 Creating drawings etc](https://api.fxblue.com/mytrader/scripting/markdown/139-3.7.4.5-creating-drawings-etc.md)
    - [3.8 Displaying and embedding trading charts](https://api.fxblue.com/mytrader/scripting/markdown/140-3.8-displaying-and-embedding-trading-charts.md)
        - [3.8.1 Displaying a chart as a dialog](https://api.fxblue.com/mytrader/scripting/markdown/141-3.8.1-displaying-a-chart-as-a-dialog.md)
        - [3.8.2 Embedding a trading chart in an iframe, inside a widget](https://api.fxblue.com/mytrader/scripting/markdown/142-3.8.2-embedding-a-trading-chart-in-an-iframe-inside-a-widget.md)
        - [3.8.3 Instrument and timeframe context for trading charts](https://api.fxblue.com/mytrader/scripting/markdown/143-3.8.3-instrument-and-timeframe-context-for-trading-charts.md)
        - [3.8.4 Settings for displaying trading charts](https://api.fxblue.com/mytrader/scripting/markdown/144-3.8.4-settings-for-displaying-trading-charts.md)
            - [3.8.4.1 Changing the initial chart styles and options](https://api.fxblue.com/mytrader/scripting/markdown/145-3.8.4.1-changing-the-initial-chart-styles-and-options.md)
            - [3.8.4.2 Loading indicators onto trading charts](https://api.fxblue.com/mytrader/scripting/markdown/146-3.8.4.2-loading-indicators-onto-trading-charts.md)
            - [3.8.4.3 Loading drawings onto trading charts](https://api.fxblue.com/mytrader/scripting/markdown/147-3.8.4.3-loading-drawings-onto-trading-charts.md)
            - [3.8.4.4 Loading event markers onto trading charts](https://api.fxblue.com/mytrader/scripting/markdown/148-3.8.4.4-loading-event-markers-onto-trading-charts.md)
            - [3.8.4.5 Loading bar highlights onto trading charts](https://api.fxblue.com/mytrader/scripting/markdown/149-3.8.4.5-loading-bar-highlights-onto-trading-charts.md)
            - [3.8.4.6 Populating the chart's deal ticket](https://api.fxblue.com/mytrader/scripting/markdown/150-3.8.4.6-populating-the-chart-s-deal-ticket.md)
        - [3.8.5 Modifying a chart dialog or embedded chart](https://api.fxblue.com/mytrader/scripting/markdown/151-3.8.5-modifying-a-chart-dialog-or-embedded-chart.md)
            - [3.8.5.1 Getting the ID of a chart dialog or embedded chart](https://api.fxblue.com/mytrader/scripting/markdown/152-3.8.5.1-getting-the-id-of-a-chart-dialog-or-embedded-chart.md)
            - [3.8.5.2 Passing the ID of a trading chart to ChartChange()](https://api.fxblue.com/mytrader/scripting/markdown/153-3.8.5.2-passing-the-id-of-a-trading-chart-to-chartchange.md)
    - [3.9 Interacting with trading charts](https://api.fxblue.com/mytrader/scripting/markdown/154-3.9-interacting-with-trading-charts.md)
        - [3.9.1 Callback from ChartChange()](https://api.fxblue.com/mytrader/scripting/markdown/155-3.9.1-callback-from-chartchange.md)
        - [3.9.2 Changing the market of a chart](https://api.fxblue.com/mytrader/scripting/markdown/156-3.9.2-changing-the-market-of-a-chart.md)
        - [3.9.3 Changing the timeframe of a chart](https://api.fxblue.com/mytrader/scripting/markdown/157-3.9.3-changing-the-timeframe-of-a-chart.md)
        - [3.9.4 Loading an indicator onto a chart](https://api.fxblue.com/mytrader/scripting/markdown/158-3.9.4-loading-an-indicator-onto-a-chart.md)
        - [3.9.5 Removing an indicator from a chart](https://api.fxblue.com/mytrader/scripting/markdown/159-3.9.5-removing-an-indicator-from-a-chart.md)
        - [3.9.6 Removing all indicators from a chart](https://api.fxblue.com/mytrader/scripting/markdown/160-3.9.6-removing-all-indicators-from-a-chart.md)
        - [3.9.7 Adding a drawing to a chart](https://api.fxblue.com/mytrader/scripting/markdown/161-3.9.7-adding-a-drawing-to-a-chart.md)
            - [3.9.7.1 Drawing properties](https://api.fxblue.com/mytrader/scripting/markdown/162-3.9.7.1-drawing-properties.md)
            - [3.9.7.2 Types of drawing](https://api.fxblue.com/mytrader/scripting/markdown/163-3.9.7.2-types-of-drawing.md)
        - [3.9.8 Modifying or moving a drawing](https://api.fxblue.com/mytrader/scripting/markdown/164-3.9.8-modifying-or-moving-a-drawing.md)
        - [3.9.9 Removing a drawing](https://api.fxblue.com/mytrader/scripting/markdown/165-3.9.9-removing-a-drawing.md)
        - [3.9.10 Removing all drawings from a chart](https://api.fxblue.com/mytrader/scripting/markdown/166-3.9.10-removing-all-drawings-from-a-chart.md)
        - [3.9.11 Adding an event marker to a chart](https://api.fxblue.com/mytrader/scripting/markdown/167-3.9.11-adding-an-event-marker-to-a-chart.md)
            - [3.9.11.1 Event marker properties](https://api.fxblue.com/mytrader/scripting/markdown/168-3.9.11.1-event-marker-properties.md)
            - [3.9.11.2 Click notifications from event markers](https://api.fxblue.com/mytrader/scripting/markdown/169-3.9.11.2-click-notifications-from-event-markers.md)
        - [3.9.12 Removing an event marker](https://api.fxblue.com/mytrader/scripting/markdown/170-3.9.12-removing-an-event-marker.md)
        - [3.9.13 Removing all event markers from a chart](https://api.fxblue.com/mytrader/scripting/markdown/171-3.9.13-removing-all-event-markers-from-a-chart.md)
        - [3.9.14 Adding a bar highlight to a chart](https://api.fxblue.com/mytrader/scripting/markdown/172-3.9.14-adding-a-bar-highlight-to-a-chart.md)
        - [3.9.15 Removing a bar highlight](https://api.fxblue.com/mytrader/scripting/markdown/173-3.9.15-removing-a-bar-highlight.md)
        - [3.9.16 Removing all bar highlights](https://api.fxblue.com/mytrader/scripting/markdown/174-3.9.16-removing-all-bar-highlights.md)
        - [3.9.17 Adding HTML to a chart](https://api.fxblue.com/mytrader/scripting/markdown/175-3.9.17-adding-html-to-a-chart.md)
            - [3.9.17.1 HTML options](https://api.fxblue.com/mytrader/scripting/markdown/176-3.9.17.1-html-options.md)
            - [3.9.17.2 Co-ordinates for the HTML](https://api.fxblue.com/mytrader/scripting/markdown/177-3.9.17.2-co-ordinates-for-the-html.md)
            - [3.9.17.3 Sending messages from the HTML to its creator](https://api.fxblue.com/mytrader/scripting/markdown/178-3.9.17.3-sending-messages-from-the-html-to-its-creator.md)
            - [3.9.17.4 Sending messages from the widget/script to the HTML](https://api.fxblue.com/mytrader/scripting/markdown/179-3.9.17.4-sending-messages-from-the-widget-script-to-the-html.md)
            - [3.9.17.5 Removing the HTML from the chart](https://api.fxblue.com/mytrader/scripting/markdown/180-3.9.17.5-removing-the-html-from-the-chart.md)
        - [3.9.18 Populating a chart's deal ticket](https://api.fxblue.com/mytrader/scripting/markdown/181-3.9.18-populating-a-chart-s-deal-ticket.md)
            - [3.9.18.1 Hiding the deal ticket](https://api.fxblue.com/mytrader/scripting/markdown/182-3.9.18.1-hiding-the-deal-ticket.md)
        - [3.9.19 Retrieving data from a chart](https://api.fxblue.com/mytrader/scripting/markdown/183-3.9.19-retrieving-data-from-a-chart.md)
        - [3.9.20 Loading named indicator studies and chart templates](https://api.fxblue.com/mytrader/scripting/markdown/184-3.9.20-loading-named-indicator-studies-and-chart-templates.md)
            - [3.9.20.1 Loading an indicator study (replacing all existing indicators)](https://api.fxblue.com/mytrader/scripting/markdown/185-3.9.20.1-loading-an-indicator-study-replacing-all-existing-indicators.md)
            - [3.9.20.2 Adding an indicator study (keeping existing indicators)](https://api.fxblue.com/mytrader/scripting/markdown/186-3.9.20.2-adding-an-indicator-study-keeping-existing-indicators.md)
            - [3.9.20.3 Loading a chart template](https://api.fxblue.com/mytrader/scripting/markdown/187-3.9.20.3-loading-a-chart-template.md)
    - [3.10 Communicating between widgets/scripts/UDIXes](https://api.fxblue.com/mytrader/scripting/markdown/188-3.10-communicating-between-widgets-scripts-udixes.md)
    - [3.11 Time conversion functions](https://api.fxblue.com/mytrader/scripting/markdown/189-3.11-time-conversion-functions.md)
        - [3.11.1 Time zone definitions](https://api.fxblue.com/mytrader/scripting/markdown/190-3.11.1-time-zone-definitions.md)
        - [3.11.2 Getting the current time - Framework.Now()](https://api.fxblue.com/mytrader/scripting/markdown/191-3.11.2-getting-the-current-time-framework-now.md)
        - [3.11.2 Converting between UTC and a different time zone](https://api.fxblue.com/mytrader/scripting/markdown/192-3.11.2-converting-between-utc-and-a-different-time-zone.md)
        - [3.11.3 The user's time zone preferences](https://api.fxblue.com/mytrader/scripting/markdown/193-3.11.3-the-user-s-time-zone-preferences.md)
    - [3.12 Helper functions for formatting values](https://api.fxblue.com/mytrader/scripting/markdown/194-3.12-helper-functions-for-formatting-values.md)
        - [3.12.1 Framework.FormatNumber()](https://api.fxblue.com/mytrader/scripting/markdown/195-3.12.1-framework-formatnumber.md)
        - [3.12.2 Framework.FormatCash()](https://api.fxblue.com/mytrader/scripting/markdown/196-3.12.2-framework-formatcash.md)
        - [3.12.3 Framework.FormatPercent()](https://api.fxblue.com/mytrader/scripting/markdown/197-3.12.3-framework-formatpercent.md)
        - [3.12.4 Framework.FormatVolume()](https://api.fxblue.com/mytrader/scripting/markdown/198-3.12.4-framework-formatvolume.md)
        - [3.12.5 Framework.FormatDate()](https://api.fxblue.com/mytrader/scripting/markdown/199-3.12.5-framework-formatdate.md)
        - [3.12.7 Generating a textual description of an order or trading action](https://api.fxblue.com/mytrader/scripting/markdown/201-3.12.7-generating-a-textual-description-of-an-order-or-trading.md)
    - [3.13 Trading validators](https://api.fxblue.com/mytrader/scripting/markdown/202-3.13-trading-validators.md)
    - [3.14 Market depth and order book](https://api.fxblue.com/mytrader/scripting/markdown/203-3.14-market-depth-and-order-book.md)
        - [3.14.1 Market depth](https://api.fxblue.com/mytrader/scripting/markdown/204-3.14.1-market-depth.md)
        - [3.14.2 Order book](https://api.fxblue.com/mytrader/scripting/markdown/205-3.14.2-order-book.md)
    - [3.15 Economic calendar](https://api.fxblue.com/mytrader/scripting/markdown/206-3.15-economic-calendar.md)
    - [3.16 The MyTrader mail system](https://api.fxblue.com/mytrader/scripting/markdown/207-3.16-the-mytrader-mail-system.md)
        - [3.16.1 Availability of the mail system](https://api.fxblue.com/mytrader/scripting/markdown/208-3.16.1-availability-of-the-mail-system.md)
        - [3.16.2 Overview of the mail system](https://api.fxblue.com/mytrader/scripting/markdown/209-3.16.2-overview-of-the-mail-system.md)
        - [3.16.3 Sending mail](https://api.fxblue.com/mytrader/scripting/markdown/210-3.16.3-sending-mail.md)
        - [3.16.4 Receiving mail](https://api.fxblue.com/mytrader/scripting/markdown/211-3.16.4-receiving-mail.md)
    - [3.17 Logging](https://api.fxblue.com/mytrader/scripting/markdown/212-3.17-logging.md)
    - [3.18 Miscellaneous functions](https://api.fxblue.com/mytrader/scripting/markdown/213-3.18-miscellaneous-functions.md)
        - [3.18.1 Generating downloads](https://api.fxblue.com/mytrader/scripting/markdown/214-3.18.1-generating-downloads.md)
        - [3.18.2 Copying text to the clipboard](https://api.fxblue.com/mytrader/scripting/markdown/215-3.18.2-copying-text-to-the-clipboard.md)
- [4 Messages and event handlers](https://api.fxblue.com/mytrader/scripting/markdown/216-4-messages-and-event-handlers.md)
    - [4.1 The FXB.Message object, and multiple types](https://api.fxblue.com/mytrader/scripting/markdown/217-4.1-the-fxb-message-object-and-multiple-types.md)
    - [4.2 Extra data in each message](https://api.fxblue.com/mytrader/scripting/markdown/218-4.2-extra-data-in-each-message.md)
    - [4.3 Types of message](https://api.fxblue.com/mytrader/scripting/markdown/219-4.3-types-of-message.md)
    - [4.4 FXB.MessageTypes.PRICE and OnPriceChange](https://api.fxblue.com/mytrader/scripting/markdown/220-4.4-fxb-messagetypes-price-and-onpricechange.md)
        - [4.4.1 PRICE messages in OnMessage](https://api.fxblue.com/mytrader/scripting/markdown/221-4.4.1-price-messages-in-onmessage.md)
        - [4.4.2 OnPriceChange handler](https://api.fxblue.com/mytrader/scripting/markdown/222-4.4.2-onpricechange-handler.md)
    - [4.5 FXB.MessageTypes.ORDER_x and OnOrderX handlers](https://api.fxblue.com/mytrader/scripting/markdown/223-4.5-fxb-messagetypes-order-x-and-onorderx-handlers.md)
        - [4.5.1 ORDER_x messages in OnMessage](https://api.fxblue.com/mytrader/scripting/markdown/224-4.5.1-order-x-messages-in-onmessage.md)
        - [4.5.2 OnOrderX handlers](https://api.fxblue.com/mytrader/scripting/markdown/225-4.5.2-onorderx-handlers.md)
    - [4.6 FXB.MessageTypes.POSITION_CHANGE and OnPositionChange](https://api.fxblue.com/mytrader/scripting/markdown/226-4.6-fxb-messagetypes-position-change-and-onpositionchange.md)
        - [4.6.1 POSITION_CHANGE message in OnMessage](https://api.fxblue.com/mytrader/scripting/markdown/227-4.6.1-position-change-message-in-onmessage.md)
        - [4.6.2 OnPositionChange handler](https://api.fxblue.com/mytrader/scripting/markdown/228-4.6.2-onpositionchange-handler.md)
    - [4.7 FXB.MessageTypes.ACCOUNT_METRICS and OnAccountMetrics](https://api.fxblue.com/mytrader/scripting/markdown/229-4.7-fxb-messagetypes-account-metrics-and-onaccountmetrics.md)
        - [4.7.1 ACCOUNT_METRICS message in OnMessage](https://api.fxblue.com/mytrader/scripting/markdown/230-4.7.1-account-metrics-message-in-onmessage.md)
        - [4.7.2 OnAccountMetrics handler](https://api.fxblue.com/mytrader/scripting/markdown/231-4.7.2-onaccountmetrics-handler.md)
    - [4.8 FXB.MessageTypes.ACCOUNT_HISTORY](https://api.fxblue.com/mytrader/scripting/markdown/232-4.8-fxb-messagetypes-account-history.md)
    - [4.9 FXB.MessageTypes.MARKET_DEPTH](https://api.fxblue.com/mytrader/scripting/markdown/233-4.9-fxb-messagetypes-market-depth.md)
    - [4.10 FXB.MessageTypes.ORDER_BOOK](https://api.fxblue.com/mytrader/scripting/markdown/234-4.10-fxb-messagetypes-order-book.md)
    - [4.11 FXB.MessageTypes.MAILBOX](https://api.fxblue.com/mytrader/scripting/markdown/235-4.11-fxb-messagetypes-mailbox.md)
    - [4.12 FXB.MessageTypes.THEME](https://api.fxblue.com/mytrader/scripting/markdown/236-4.12-fxb-messagetypes-theme.md)
    - [4.13 FXB.MessageTypes.CATEGORY_SETTINGS_CHANGE](https://api.fxblue.com/mytrader/scripting/markdown/237-4.13-fxb-messagetypes-category-settings-change.md)
    - [4.14 FXB.MessageTypes.WIDGET_CONTEXT_CHANGE](https://api.fxblue.com/mytrader/scripting/markdown/238-4.14-fxb-messagetypes-widget-context-change.md)
    - [4.15 FXB.MessageTypes.WIDGET_INSTRUMENT_SELECTION](https://api.fxblue.com/mytrader/scripting/markdown/239-4.15-fxb-messagetypes-widget-instrument-selection.md)
    - [4.16 FXB.MessageTypes.SHORTCUT_KEY](https://api.fxblue.com/mytrader/scripting/markdown/240-4.16-fxb-messagetypes-shortcut-key.md)
    - [4.17 FXB.MessageTypes.BROADCASTx and FXB.MessageTypes.GENERICx](https://api.fxblue.com/mytrader/scripting/markdown/241-4.17-fxb-messagetypes-broadcastx-and-fxb-messagetypes-genericx.md)
- [5 Working with candle data](https://api.fxblue.com/mytrader/scripting/markdown/242-5-working-with-candle-data.md)
    - [5.1 The FXB.CandleStore object](https://api.fxblue.com/mytrader/scripting/markdown/243-5.1-the-fxb-candlestore-object.md)
        - [5.1.1 Creating a candle store](https://api.fxblue.com/mytrader/scripting/markdown/244-5.1.1-creating-a-candle-store.md)
        - [5.1.2 Loading data into the candle store](https://api.fxblue.com/mytrader/scripting/markdown/245-5.1.2-loading-data-into-the-candle-store.md)
        - [5.1.3 Events in the candle store](https://api.fxblue.com/mytrader/scripting/markdown/246-5.1.3-events-in-the-candle-store.md)
        - [5.1.4 Reading data from the candle store](https://api.fxblue.com/mytrader/scripting/markdown/247-5.1.4-reading-data-from-the-candle-store.md)
        - [5.1.5 Derived properties of each candle](https://api.fxblue.com/mytrader/scripting/markdown/248-5.1.5-derived-properties-of-each-candle.md)
        - [5.1.6 Technical analysis calculations in the candle store](https://api.fxblue.com/mytrader/scripting/markdown/249-5.1.6-technical-analysis-calculations-in-the-candle-store.md)
        - [5.1.7 Aggregation to higher timeframes](https://api.fxblue.com/mytrader/scripting/markdown/250-5.1.7-aggregation-to-higher-timeframes.md)
    - [5.2 FXB.ta technical analysis library](https://api.fxblue.com/mytrader/scripting/markdown/251-5.2-fxb-ta-technical-analysis-library.md)
        - [5.2.1 Calculation input: bar-based versus value-based calculations](https://api.fxblue.com/mytrader/scripting/markdown/252-5.2.1-calculation-input-bar-based-versus-value-based-calculations.md)
        - [5.2.2 Creating and initialising technical analysis calculations](https://api.fxblue.com/mytrader/scripting/markdown/253-5.2.2-creating-and-initialising-technical-analysis-calculations.md)
            - [5.2.2.1 The member parameter, and derived prices](https://api.fxblue.com/mytrader/scripting/markdown/254-5.2.2.1-the-member-parameter-and-derived-prices.md)
        - [5.2.3 Loading data into a technical analysis calculation](https://api.fxblue.com/mytrader/scripting/markdown/255-5.2.3-loading-data-into-a-technical-analysis-calculation.md)
            - [5.2.3.1 Loading candle data into a calculation](https://api.fxblue.com/mytrader/scripting/markdown/256-5.2.3.1-loading-candle-data-into-a-calculation.md)
            - [5.2.3.2 Loading value data into a calculation](https://api.fxblue.com/mytrader/scripting/markdown/257-5.2.3.2-loading-value-data-into-a-calculation.md)
            - [5.2.3.3 Loading data in the calculation's initialisation](https://api.fxblue.com/mytrader/scripting/markdown/258-5.2.3.3-loading-data-in-the-calculation-s-initialisation.md)
        - [5.2.4 Reading calculation output](https://api.fxblue.com/mytrader/scripting/markdown/259-5.2.4-reading-calculation-output.md)
        - [5.2.5 Indexing order and oldestFirst](https://api.fxblue.com/mytrader/scripting/markdown/260-5.2.5-indexing-order-and-oldestfirst.md)
        - [5.2.6 Combining arrays](https://api.fxblue.com/mytrader/scripting/markdown/261-5.2.6-combining-arrays.md)
        - [5.2.7 Moving averages](https://api.fxblue.com/mytrader/scripting/markdown/262-5.2.7-moving-averages.md)
        - [5.2.8 List of technical analysis calculations](https://api.fxblue.com/mytrader/scripting/markdown/263-5.2.8-list-of-technical-analysis-calculations.md)
            - [Accumulative Swing Index - FXB.ta.ASI](https://api.fxblue.com/mytrader/scripting/markdown/264-accumulative-swing-index-fxb-ta-asi.md)
            - [ADX - FXB.ta.ADX](https://api.fxblue.com/mytrader/scripting/markdown/265-adx-fxb-ta-adx.md)
            - [Aroon - FXB.ta.Aroon](https://api.fxblue.com/mytrader/scripting/markdown/266-aroon-fxb-ta-aroon.md)
            - [Aroon oscillator - FXB.ta.AroonOsc](https://api.fxblue.com/mytrader/scripting/markdown/267-aroon-oscillator-fxb-ta-aroonosc.md)
            - [Average True Range - FXB.ta.ATR](https://api.fxblue.com/mytrader/scripting/markdown/268-average-true-range-fxb-ta-atr.md)
            - [Awesome Oscillator - FXB.ta.AO](https://api.fxblue.com/mytrader/scripting/markdown/269-awesome-oscillator-fxb-ta-ao.md)
            - [Bear/Bull power - FXB.ta.BearBull](https://api.fxblue.com/mytrader/scripting/markdown/270-bear-bull-power-fxb-ta-bearbull.md)
            - [Bollinger® bands - FXB.ta.Bands](https://api.fxblue.com/mytrader/scripting/markdown/271-bollinger-bands-fxb-ta-bands.md)
            - [Centre of Gravity - FXB.ta.COG](https://api.fxblue.com/mytrader/scripting/markdown/272-centre-of-gravity-fxb-ta-cog.md)
            - [Commodity channel index - FXB.ta.CCI](https://api.fxblue.com/mytrader/scripting/markdown/273-commodity-channel-index-fxb-ta-cci.md)
            - [Chaikin Money Flow - FXB.ta.CMF](https://api.fxblue.com/mytrader/scripting/markdown/274-chaikin-money-flow-fxb-ta-cmf.md)
            - [Chaikin volatility - FXB.ta.ChaikinVolatility](https://api.fxblue.com/mytrader/scripting/markdown/275-chaikin-volatility-fxb-ta-chaikinvolatility.md)
            - [Chande forecast oscillator - FXB.ta.CFO](https://api.fxblue.com/mytrader/scripting/markdown/276-chande-forecast-oscillator-fxb-ta-cfo.md)
            - [Chande momentum oscillator - FXB.ta.CMO](https://api.fxblue.com/mytrader/scripting/markdown/277-chande-momentum-oscillator-fxb-ta-cmo.md)
            - [Coppock curve - FXB.ta.CoppockCurve](https://api.fxblue.com/mytrader/scripting/markdown/278-coppock-curve-fxb-ta-coppockcurve.md)
            - [Derived price - FXB.ta.DerivedPrice](https://api.fxblue.com/mytrader/scripting/markdown/279-derived-price-fxb-ta-derivedprice.md)
            - [Detrended price oscillator - FXB.ta.DPO](https://api.fxblue.com/mytrader/scripting/markdown/280-detrended-price-oscillator-fxb-ta-dpo.md)
            - [Ease of movement - FXB.ta.EOM](https://api.fxblue.com/mytrader/scripting/markdown/281-ease-of-movement-fxb-ta-eom.md)
            - [Ehler Fisher transform - FXB.ta.EFT](https://api.fxblue.com/mytrader/scripting/markdown/282-ehler-fisher-transform-fxb-ta-eft.md)
            - [Elder Market Thermometer - FXB.ta.EMT](https://api.fxblue.com/mytrader/scripting/markdown/283-elder-market-thermometer-fxb-ta-emt.md)
            - [Elder Force Index - FXB.ta.EFI](https://api.fxblue.com/mytrader/scripting/markdown/284-elder-force-index-fxb-ta-efi.md)
            - [Envelope around a moving average - FXB.ta.Envelope](https://api.fxblue.com/mytrader/scripting/markdown/285-envelope-around-a-moving-average-fxb-ta-envelope.md)
            - [Fractal bands - FXB.ta.FractalBands](https://api.fxblue.com/mytrader/scripting/markdown/286-fractal-bands-fxb-ta-fractalbands.md)
            - [Gopalakrishnan range index - FXB.ta.GRI](https://api.fxblue.com/mytrader/scripting/markdown/287-gopalakrishnan-range-index-fxb-ta-gri.md)
            - [Highest of the last N values - FXB.ta.Highest](https://api.fxblue.com/mytrader/scripting/markdown/288-highest-of-the-last-n-values-fxb-ta-highest.md)
            - [Historical Volatility - FXB.ta.HV](https://api.fxblue.com/mytrader/scripting/markdown/289-historical-volatility-fxb-ta-hv.md)
            - [Ichimoku Kinko Hyo - FXB.ta.Ichimoku](https://api.fxblue.com/mytrader/scripting/markdown/289a-ichimoku-kinko-hyo-fxb-ta-ichimoku.md)
            - [Intraday momentum index - FXB.ta.IMI](https://api.fxblue.com/mytrader/scripting/markdown/290-intraday-momentum-index-fxb-ta-imi.md)
            - [Keltner channel and STARC - FXB.ta.Keltner](https://api.fxblue.com/mytrader/scripting/markdown/291-keltner-channel-and-starc-fxb-ta-keltner.md)
            - [Klinger volume oscillator - FXB.ta.KVO](https://api.fxblue.com/mytrader/scripting/markdown/292-klinger-volume-oscillator-fxb-ta-kvo.md)
            - [Linear regression forecast - FXB.ta.LRF](https://api.fxblue.com/mytrader/scripting/markdown/293-linear-regression-forecast-fxb-ta-lrf.md)
            - [Linear regression intercept - FXB.ta.LRI](https://api.fxblue.com/mytrader/scripting/markdown/294-linear-regression-intercept-fxb-ta-lri.md)
            - [Lowest of the last N values - FXB.ta.Lowest](https://api.fxblue.com/mytrader/scripting/markdown/295-lowest-of-the-last-n-values-fxb-ta-lowest.md)
            - [MACD - FXB.ta.MACD](https://api.fxblue.com/mytrader/scripting/markdown/296-macd-fxb-ta-macd.md)
            - [Market facilitation index - FXB.ta.MktFacilitation](https://api.fxblue.com/mytrader/scripting/markdown/297-market-facilitation-index-fxb-ta-mktfacilitation.md)
            - [Mass index - FXB.ta.MassIndex](https://api.fxblue.com/mytrader/scripting/markdown/298-mass-index-fxb-ta-massindex.md)
            - [Momentum oscillator - FXB.ta.Momentum](https://api.fxblue.com/mytrader/scripting/markdown/299-momentum-oscillator-fxb-ta-momentum.md)
            - [Money Flow Index - FXB.ta.MoneyFlowIndex](https://api.fxblue.com/mytrader/scripting/markdown/300-money-flow-index-fxb-ta-moneyflowindex.md)
            - [Moving average oscillator - FXB.ta.MAOscillator](https://api.fxblue.com/mytrader/scripting/markdown/301-moving-average-oscillator-fxb-ta-maoscillator.md)
            - [On-balance volume - FXB.ta.OBV](https://api.fxblue.com/mytrader/scripting/markdown/302-on-balance-volume-fxb-ta-obv.md)
            - [Parabolic stop and reverse - FXB.ta.PSAR](https://api.fxblue.com/mytrader/scripting/markdown/303-parabolic-stop-and-reverse-fxb-ta-psar.md)
            - [Performance - FXB.ta.Performance](https://api.fxblue.com/mytrader/scripting/markdown/304-performance-fxb-ta-performance.md)
            - [Pretty Good oscillator - FXB.ta.PGO](https://api.fxblue.com/mytrader/scripting/markdown/305-pretty-good-oscillator-fxb-ta-pgo.md)
            - [Price Oscillator - FXB.ta.PO](https://api.fxblue.com/mytrader/scripting/markdown/306-price-oscillator-fxb-ta-po.md)
            - [QStick - FXB.ta.QStick](https://api.fxblue.com/mytrader/scripting/markdown/307-qstick-fxb-ta-qstick.md)
            - [Rainbow oscillator - FXB.ta.Rainbow](https://api.fxblue.com/mytrader/scripting/markdown/308-rainbow-oscillator-fxb-ta-rainbow.md)
            - [Random Walk Index - FXB.ta.RWI](https://api.fxblue.com/mytrader/scripting/markdown/309-random-walk-index-fxb-ta-rwi.md)
            - [Rank - FXB.ta.Rank](https://api.fxblue.com/mytrader/scripting/markdown/310-rank-fxb-ta-rank.md)
            - [Rate of change - FXB.ta.ROC](https://api.fxblue.com/mytrader/scripting/markdown/311-rate-of-change-fxb-ta-roc.md)
            - [RAVI - FXB.ta.RAVI](https://api.fxblue.com/mytrader/scripting/markdown/312-ravi-fxb-ta-ravi.md)
            - [Relative Strength Index - FXB.ta.RSI](https://api.fxblue.com/mytrader/scripting/markdown/313-relative-strength-index-fxb-ta-rsi.md)
            - [Relative Vigor Index - FXB.ta.RVI](https://api.fxblue.com/mytrader/scripting/markdown/314-relative-vigor-index-fxb-ta-rvi.md)
            - [R-squared - FXB.ta.RSquared](https://api.fxblue.com/mytrader/scripting/markdown/315-r-squared-fxb-ta-rsquared.md)
            - [Schaff trend cycle - FXB.ta.STC](https://api.fxblue.com/mytrader/scripting/markdown/316-schaff-trend-cycle-fxb-ta-stc.md)
            - [Slope of linear regression - FXB.ta.Slope](https://api.fxblue.com/mytrader/scripting/markdown/317-slope-of-linear-regression-fxb-ta-slope.md)
            - [Standard deviation - FXB.ta.Stdev](https://api.fxblue.com/mytrader/scripting/markdown/318-standard-deviation-fxb-ta-stdev.md)
            - [Stochastic momentum index - FXB.ta.SMI](https://api.fxblue.com/mytrader/scripting/markdown/319-stochastic-momentum-index-fxb-ta-smi.md)
            - [Stochastic oscillator - FXB.ta.Stochastic](https://api.fxblue.com/mytrader/scripting/markdown/320-stochastic-oscillator-fxb-ta-stochastic.md)
            - [Stochastic RSI - FXB.ta.StochRSI](https://api.fxblue.com/mytrader/scripting/markdown/321-stochastic-rsi-fxb-ta-stochrsi.md)
            - [Sum - FXB.ta.Sum](https://api.fxblue.com/mytrader/scripting/markdown/322-sum-fxb-ta-sum.md)
            - [Swing index - FXB.ta.SwingIndex](https://api.fxblue.com/mytrader/scripting/markdown/323-swing-index-fxb-ta-swingindex.md)
            - [TRIX - FXB.ta.Trix](https://api.fxblue.com/mytrader/scripting/markdown/324-trix-fxb-ta-trix.md)
            - [True range - FXB.ta.TrueRange](https://api.fxblue.com/mytrader/scripting/markdown/325-true-range-fxb-ta-truerange.md)
            - [Twiggs Money Flow - FXB.ta.TMF](https://api.fxblue.com/mytrader/scripting/markdown/326-twiggs-money-flow-fxb-ta-tmf.md)
            - [Ultimate oscillator - FXB.ta.UO](https://api.fxblue.com/mytrader/scripting/markdown/327-ultimate-oscillator-fxb-ta-uo.md)
            - [Vertical horizontal filter - FXB.ta.VHF](https://api.fxblue.com/mytrader/scripting/markdown/328-vertical-horizontal-filter-fxb-ta-vhf.md)
            - [Volume Index - FXB.ta.VolumeIndex](https://api.fxblue.com/mytrader/scripting/markdown/329-volume-index-fxb-ta-volumeindex.md)
            - [Williams Accumulation Distribution - FXB.ta.WAD](https://api.fxblue.com/mytrader/scripting/markdown/330-williams-accumulation-distribution-fxb-ta-wad.md)
            - [Williams %R - FXB.ta.WilliamsPctR](https://api.fxblue.com/mytrader/scripting/markdown/331-williams-r-fxb-ta-williamspctr.md)
- [6 Widget HTML and CSS reference](https://api.fxblue.com/mytrader/scripting/markdown/332-6-widget-html-and-css-reference.md)
    - [6.1 CSS reference](https://api.fxblue.com/mytrader/scripting/markdown/333-6.1-css-reference.md)
        - [6.1.1 Body classes](https://api.fxblue.com/mytrader/scripting/markdown/334-6.1.1-body-classes.md)
        - [6.1.2 Right-to-left reading order](https://api.fxblue.com/mytrader/scripting/markdown/335-6.1.2-right-to-left-reading-order.md)
        - [6.1.3 Button CSS classes](https://api.fxblue.com/mytrader/scripting/markdown/336-6.1.3-button-css-classes.md)
        - [6.1.4 FontAwesome icons](https://api.fxblue.com/mytrader/scripting/markdown/337-6.1.4-fontawesome-icons.md)
        - [6.1.5 CSS variables](https://api.fxblue.com/mytrader/scripting/markdown/338-6.1.5-css-variables.md)
    - [6.2 Standard HTML structure](https://api.fxblue.com/mytrader/scripting/markdown/339-6.2-standard-html-structure.md)
        - [6.2.1 Standard dialog structure](https://api.fxblue.com/mytrader/scripting/markdown/340-6.2.1-standard-dialog-structure.md)
        - [6.2.2 Reserved areas in the widget frame](https://api.fxblue.com/mytrader/scripting/markdown/341-6.2.2-reserved-areas-in-the-widget-frame.md)
    - [6.3 Pop-up menus](https://api.fxblue.com/mytrader/scripting/markdown/342-6.3-pop-up-menus.md)
    - [6.4 Rendering a price into an element](https://api.fxblue.com/mytrader/scripting/markdown/342a-6.4-rendering-a-price-into-an-element.md)
- [7 FXB.utils and other helper functions](https://api.fxblue.com/mytrader/scripting/markdown/343-7-fxb-utils-and-other-helper-functions.md)
    - [7.1 FXB.utils.Dictionary()](https://api.fxblue.com/mytrader/scripting/markdown/344-7.1-fxb-utils-dictionary.md)
    - [7.2 FXB.utils.Clone()](https://api.fxblue.com/mytrader/scripting/markdown/345-7.2-fxb-utils-clone.md)
    - [7.3 FXB.utils.IsEmpty()](https://api.fxblue.com/mytrader/scripting/markdown/346-7.3-fxb-utils-isempty.md)
    - [7.4 FXB.utils.GenerateGuid()](https://api.fxblue.com/mytrader/scripting/markdown/347-7.4-fxb-utils-generateguid.md)
    - [7.5 FXB.utils.GenerateHash()](https://api.fxblue.com/mytrader/scripting/markdown/348-7.5-fxb-utils-generatehash.md)
    - [7.6 $$()](https://api.fxblue.com/mytrader/scripting/markdown/349-7.6-section.md)
- [8 Framework error codes](https://api.fxblue.com/mytrader/scripting/markdown/350-8-framework-error-codes.md)
    - [8.1 Success/no-failure values](https://api.fxblue.com/mytrader/scripting/markdown/351-8.1-success-no-failure-values.md)
    - [8.2 Not-yet-implemented errors](https://api.fxblue.com/mytrader/scripting/markdown/352-8.2-not-yet-implemented-errors.md)
    - [8.3 Failed internal validation of trading actions](https://api.fxblue.com/mytrader/scripting/markdown/353-8.3-failed-internal-validation-of-trading-actions.md)
    - [8.4 Trading requests blocked by user settings/preferences](https://api.fxblue.com/mytrader/scripting/markdown/354-8.4-trading-requests-blocked-by-user-settings-preferences.md)
    - [8.5 Rejection by trading validators](https://api.fxblue.com/mytrader/scripting/markdown/355-8.5-rejection-by-trading-validators.md)
    - [8.6 Trading requests rejected by the broker platform](https://api.fxblue.com/mytrader/scripting/markdown/356-8.6-trading-requests-rejected-by-the-broker-platform.md)
    - [8.7 Other (non-trading) errors](https://api.fxblue.com/mytrader/scripting/markdown/357-8.7-other-non-trading-errors.md)
- [9 Script contexts](https://api.fxblue.com/mytrader/scripting/markdown/358-9-script-contexts.md)
    - [9.1 Quote Board script context](https://api.fxblue.com/mytrader/scripting/markdown/359-9.1-quote-board-script-context.md)
    - [9.2 Trade List script context](https://api.fxblue.com/mytrader/scripting/markdown/360-9.2-trade-list-script-context.md)
    - [9.3 Chart script context](https://api.fxblue.com/mytrader/scripting/markdown/361-9.3-chart-script-context.md)
    - [9.4 Order Menu script context](https://api.fxblue.com/mytrader/scripting/markdown/362-9.4-order-menu-script-context.md)
- [10 Sending mail into MyTrader from outside the platform](https://api.fxblue.com/mytrader/scripting/markdown/363-10-sending-mail-into-mytrader-from-outside-the-platform.md)
