> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ninjatrader.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ninjatrader.com/_mcp/server.

# Set Up

The first step in creating a custom indicator is to use the custom indicator wizard. The wizard will generate the required **NinjaScript** code that will serve as the foundation for your custom indicator.

1. Within the **NinjaTrader** [Control Center](https://ninjatrader.com/support/helpGuides/nt8/NT%20HelpGuide%20English.html?control_center.htm), select the New menu, then select the **NinjaScript Editor** menu item.

2. Right mouse click the "Indicators" folder in the **NinjaScript Explorer** section, then select the New Indicator menu item to open the New Indicator Wizard.

## Defining Indicator Properties and Name

First you will define your indicator's name and several indicator properties. Begin by clicking the Next > button on the first page of the wizard to view the page shown below.

![NSTuts1](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/ninjatrader-public.docs.buildwithfern.com/edc704ab00cb14f79865d30d99872d5bfe29841f164aa1ecd6a1cce80b57e845/docs/assets/developer/desktop-sdk/guides/set-up9-nstuts1.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260729%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260729T062230Z&X-Amz-Expires=604800&X-Amz-Signature=a8fa7932c6cf1e4ec10e4d1c161f2e3393e4824bb7406dc86808aa07c5f70520&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

3. Enter the information as shown above.

4. Click the Next > button.

## Setting Default Properties

The next page will allow you to set defaults for basic properties related to your indicator, including its **Calculate** and **Overlay** settings. Click the More Properties button to expose additional properties. For this tutorial, we will not change any basic properties' defaults, and instead will leave them all set to the values shown below:

![NSTutorialSetUpNoOverlayOnPrice](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/ninjatrader-public.docs.buildwithfern.com/a38f894fba3a1404cb050cfb0719b45c4ae1f1467401a8108337209807fb8abc/docs/assets/developer/desktop-sdk/shared/nstutorialsetupnooverlayonprice-a.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260729%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260729T062230Z&X-Amz-Expires=604800&X-Amz-Signature=2256a42ff64986cedb391b31805b063719f0a0a6b4a01e5e9af76e96d55b239f&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

## Adding Additional Data

The next page will allow you to configure one or more additional **Bars** objects for use by the indicator. For our purposes, we will leave this page blank and move forward by clicking the Next > button.

![NSTutAdditionalDataBlank](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/ninjatrader-public.docs.buildwithfern.com/3bcdc387c8e8b0560a4493d02b83198cff44b1ef2cc8078536c2b2aafcb3c7ed/docs/assets/developer/desktop-sdk/shared/nstutadditionaldatablank.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260729%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260729T062230Z&X-Amz-Expires=604800&X-Amz-Signature=8799a9dba4882cd0c8579e2749c721e77369e6cd27c63a918157c7855fe59e80&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

## Adding Event Methods

The next page will allow you to pre-populate certain event methods into the **NinjaScript** code generated by the wizard. For our purposes, we will leave all of the checkboxes corresponding to different event methods unchecked, and will move on by clicking the Next > button.

![NSTutAdditionalEventMethodsBlank](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/ninjatrader-public.docs.buildwithfern.com/4e195dd595d864680f6ce7fd1897836916d7052afac2d222dd0198dafe65bd13/docs/assets/developer/desktop-sdk/shared/nstutadditionaleventmethodsblank.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260729%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260729T062230Z&X-Amz-Expires=604800&X-Amz-Signature=868145fa5bb2dd784ee79537e8c9410201b8fcceefeeb29455ade378a4d6a4be&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

## Defining Input Parameters

The next page will allow us to configure user input parameters for the indicator. For our custom **CCI** indicator, we will create a single input parameter which can be changed by users in the Indicators window when applying or editing the indicator. This input parameter will determine the **CCI**'s period. We will select **int** as the Type, since integers are the most efficient native data types to be used for positive whole numbers, like those used to specify a number of bars to look back (a period). We will enter a "Default" value of "14" for the period, and a "Min" value of 1, to ensure that users do not enter zero or lower.

![NSTuts5](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/ninjatrader-public.docs.buildwithfern.com/9897c0f050b5093ab24990d34308a4d15f49c9e02c52475d15df1f4da2c9d296/docs/assets/developer/desktop-sdk/guides/set-up9-nstuts5.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260729%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260729T062230Z&X-Amz-Expires=604800&X-Amz-Signature=e74338a836431b5ed05d4b8eb6b3d65b14c07fdbed03434574280bf004b0633b&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

1. Clicking the add button on the "Input Parameters" page brings up the Input Parameters dialogue.

2. The Input Parameters dialogue can be used to define user inputs.

## Defining Plots and Lines

The next page will allow us to define plots and static lines for the indicator. For the **CCI**, we will define a single plot, called "CCI," and define five lines to draw in the indicator panel. For each item, first click the add button, then use the Plots and Lines dialogue to configure each item as seen below.

![NSTuts6](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/ninjatrader-public.docs.buildwithfern.com/71ed5ee904141f432f14bb357a695aa2b10ffc52f50aaa3810552469dc30d065/docs/assets/developer/desktop-sdk/guides/set-up9-nstuts6.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260729%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260729T062230Z&X-Amz-Expires=604800&X-Amz-Signature=1e99c227af4db5f2d8cd407f1bf8c6d0c35904f1034224050d4ece7069aa0b5b&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

1. The add button will allow you to configure plots and lines for the indicator.

After this, click the Finish button, and the Indicator Wizard will generate a basic code structure implementing the parameters that you have set. You are now ready to move on to [entering calculation logic](/developer/desktop-sdk/guides/educational-resources/developing-indicators/advanced-custom-drawing/entering-calculation-logic6).