Skip to main content

Introducing Variables

Variables are the building blocks of every NightShark strategy. They capture market state, track progress, and feed decision logic throughout your script.

Declaring Variables​

NightShark uses the := assignment operator:

variableName := value

The assignment can be a literal, a function result, or another variable.

Recording variables in NightShark

Capturing Market Data​

Pair variables with read_areas() to store the latest on-screen values:

read_areas()
currentTradePL := toNumber(area[1])
dayPL := toNumber(area[2])

Now you can reuse currentTradePL and dayPL everywhere instead of repeatedly calling toNumber().

Using Variables in Logic​

if (currentTradePL >= 25) {
Click(point.b) ; Lock in profits
} else if (currentTradePL <= -40) {
Click(point.c) ; Trigger your custom safety handler
}

Best Practices​

  • Name clearly — e.g., maxLossPerTrade beats ml.
  • Scope wisely — declare variables near the logic that owns them; promote to globals only when necessary.
  • Update intentionally — reassign the variable as soon as new data arrives so your logic always reflects the latest state.

With variables under control, you’re ready to start packaging logic into reusable functions.