9.1 — Tradestation

Before the rise of "Bookmap" and modern depth-of-market tools, TradeStation 9.1 offered a clean, efficient Matrix window. It provided a vertical DOM with one-click bracket orders, iceberg orders, and OCO (One-Cancels-Other) functionality. For futures and forex scalpers, the Matrix in 9.1 was a reliable workhorse.

EasyLanguage, TradeStation’s proprietary scripting language, was fully mature in 9.1. This version included:

Why stick with 9.1 when 10 exists?


Create a new Indicator – apply to any intraday chart. tradestation 9.1

 
  Feature: Session VWAP with Vol Bands
  Compatible: TradeStation 9.1 (Classic EasyLanguage)

Inputs: StartHour(9), StartMin(30) - session start (e.g., 9:30 AM) EndHour(16), EndMin(0) - session end (e.g., 4:00 PM) BandMultiplier(2.0) - standard deviation multiplier

inputs: StartHour(9), StartMin(30), EndHour(16), EndMin(0), BandMultiplier(2.0);

variables: CumulativePV(0), CumulativeVol(0), VWAPVal(0), SumSqDev(0), StdDevVal(0), UpperBand(0), LowerBand(0), IsNewSession(false), ThisBarTime(0), SessionStart(0), SessionEnd(0); Before the rise of "Bookmap" and modern depth-of-market

Once Begin SessionStart = StartHour * 100 + StartMin; SessionEnd = EndHour * 100 + EndMin; End;

ThisBarTime = DateTime2Time(Date + Time);

// Reset at session start If ThisBarTime = SessionStart then Begin CumulativePV = 0; CumulativeVol = 0; SumSqDev = 0; IsNewSession = true; End; Create a new Indicator – apply to any intraday chart

// Calculate VWAP and running stats If IsNewSession or (ThisBarTime >= SessionStart and ThisBarTime <= SessionEnd) then Begin CumulativePV = CumulativePV + (TypicalPrice * Volume); CumulativeVol = CumulativeVol + Volume;

if CumulativeVol > 0 then
    VWAPVal = CumulativePV / CumulativeVol;
// Running sum of squared deviations (for band calculation)
SumSqDev = SumSqDev + Volume * Power(TypicalPrice - VWAPVal, 2);
if CumulativeVol > 0 then
    StdDevVal = SquareRoot(SumSqDev / CumulativeVol);
UpperBand = VWAPVal + (BandMultiplier * StdDevVal);
LowerBand = VWAPVal - (BandMultiplier * StdDevVal);

end;

// Plot for TradeStation 9.1 Plot1(VWAPVal, "VWAP"); Plot2(UpperBand, "Upper Band"); Plot3(LowerBand, "Lower Band");

// Optional: paint VWAP line thicker If VWAPVal > 0 then SetPlotColor(1, Blue); SetPlotWidth(1, 2);