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);