Trade-space and radar defense are this system's high-powered, high-frequency Search & Grab method of charting. Based on time-of-day, with double-sequenced lock coding to pan the after-hour trade tailing for trade day data from two variable baskets. Looking back at my early prospecting out in California we never missed searching for the little nuggets left after washing out pans of Gold once in the AM and again PM. This strategy, the Smart-Money trade pulled and creates after-hours pulses for the opening signal. DYODD in all trades, this is not "The One"!
I use 2 Lower charts with 2 different Studies, resulting in what would happen and what looks as though might occur. The nice part is the result when market opens, and we see if continues.
I use 2 Lower charts with 2 different Studies, resulting in what would happen and what looks as though might occur. The nice part is the result when market opens, and we see if continues.
Code:
#Two separate codes
#One goes on one lower chart and the other to a second lower chart.
# ===========================================================
# SMART MONEY VELOCITY ENGINE (SMVE) v1.2
# Adeodatus Bldg 12/3/2025 TravelLink Series
# FFhart Ver.SMI - VSMI - Velocity Suite - Composite Score -
# Options Positioning Strategy, + Bubble Signals
# Note: This Strategy not a Prediction Indicator. DYODD
# ===========================================================
declare lower;
# ===========================================================
# SESSION ANCHORS
# ===========================================================
def opening_bell =
if SecondsFromTime(0930) == 0 then open
else if SecondsFromTime(0930) > 0 then opening_bell[1]
else Double.NaN;
def end_opening_hour =
if SecondsFromTime(1030) == 0 then close
else if SecondsFromTime(1030) > 0 then end_opening_hour[1]
else Double.NaN;
def start_last_thirty =
if SecondsFromTime(1500) == 0 then open
else if SecondsFromTime(1500) > 0 then start_last_thirty[1]
else Double.NaN;
def closing_bell =
if SecondsFromTime(1600) == 0 then close
else if SecondsFromTime(1600) > 0 then closing_bell[1]
else Double.NaN;
# ===========================================================
# MORNING / AFTERNOON CHANGE
# ===========================================================
def morning_change = end_opening_hour - opening_bell;
def afternoon_change = closing_bell - start_last_thirty;
def previous_close = close(period = AggregationPeriod.DAY)[1];
# ===========================================================
# SMI (SMART MONEY INDEX)
# ===========================================================
def SMI_calc =
if IsNaN(SMI_calc[1]) then previous_close
else SMI_calc[1] - morning_change + afternoon_change;
plot SMI = SMI_calc;
SMI.SetDefaultColor(Color.CYAN);
SMI.SetLineWeight(2);
AddCloud(SMI, previous_close, Color.GREEN, Color.RED);
# ===========================================================
# VSMI (VOLUME WEIGHTED SMI)
# ===========================================================
def volFactor = volume / Average(volume, 20);
def VSMI_calc =
if IsNaN(VSMI_calc[1]) then previous_close
else VSMI_calc[1] - (morning_change * volFactor)
+ (afternoon_change * volFactor);
plot VSMI = VSMI_calc;
VSMI.SetDefaultColor(Color.YELLOW);
VSMI.SetLineWeight(2);
# ===========================================================
# VELOCITY SUITE
# ===========================================================
def velocity = SMI - SMI[1];
def vw_velocity = VSMI - VSMI[1];
def acceleration = velocity - velocity[1];
plot Vel = velocity; Vel.SetDefaultColor(Color.LIGHT_GREEN);
plot VWV = vw_velocity; VWV.SetDefaultColor(Color.LIGHT_ORANGE);
plot Acc = acceleration; Acc.SetDefaultColor(Color.MAGENTA);
# ===========================================================
# LR SLOPE
# ===========================================================
def LR_Slope = Inertia(SMI, 14) - Inertia(SMI, 14)[1];
# ===========================================================
# PULSE GRADIENT
# ===========================================================
def pulseVal = ExpAverage(velocity, 8) - ExpAverage(velocity, 21);
plot Pulse = pulseVal;
Pulse.SetDefaultColor(Color.WHITE);
Pulse.SetLineWeight(2);
# ===========================================================
# COMPOSITE SCORE (0–100)
# ===========================================================
def n1 = (velocity + 2) / 4;
def n2 = (vw_velocity + 2) / 4;
def n3 = (acceleration + 2) / 4;
def n4 = (LR_Slope + 2) / 4;
def n5 = (pulseVal + 2) / 4;
def CompScore = 100 * ((n1 + n2 + n3 + n4 + n5) / 5);
plot Score = CompScore;
Score.SetDefaultColor(Color.BLUE);
Score.SetLineWeight(2);
AddLabel(yes, "Composite Score: " + Round(CompScore, 1),
if CompScore > 60 then Color.GREEN
else if CompScore < 40 then Color.RED
else Color.YELLOW);
# ===========================================================
# STRATEGY ENGINE
# ===========================================================
def SignalDirection =
if CompScore > 60 and velocity > 0 and pulseVal > 0 then 1
else if CompScore < 40 and velocity < 0 and pulseVal < 0 then -1
else 0;
AddLabel(
yes,
if SignalDirection == 1 then "STRATEGY: SELL PUTS (Bullish)"
else if SignalDirection == -1 then "STRATEGY: SELL CALLS (Bearish)"
else "STRATEGY: SELL BOTH SIDES (Neutral)",
if SignalDirection == 1 then Color.GREEN
else if SignalDirection == -1 then Color.RED
else Color.YELLOW
);
# ===========================================================
# BUBBLE SIGNALS (PROPERLY ANCHORED TO PRICE CHART)
# ===========================================================
AddChartBubble(
SignalDirection == 1 and SignalDirection[1] != 1,
low,
"PUT SELL ZONE",
Color.GREEN,
no
);
AddChartBubble(
SignalDirection == -1 and SignalDirection[1] != -1,
high,
"CALL SELL ZONE",
Color.RED,
yes
);
AddChartBubble(
SignalDirection == 0 and SignalDirection[1] != 0,
close,
"NEUTRAL BAND",
Color.YELLOW,
yes
);
# ===========================================================
# END OF SCRIPT
# ===========================================================
#second code starts:
# ===========================================================
# SMART MONEY VELOCITY ENGINE w/Pulse Bubbles(SMVEPB) v2.1
# Adeodatus Bldg 12/3/2025 TravelLink Series
# FFart Ver.SMI - VSMI - Velocity Suite - Composite Score -
# Options Positioning Strategy, + Bubble Signals (2)
# Note: This Strategy not a Prediction Indicator. DYODD
# ===========================================================
declare lower;
# -------------------------------
# SESSION ANCHORS
# -------------------------------
def opening_bell =
if SecondsFromTime(0800) == 0 then open
else if SecondsFromTime(0800) > 0 then opening_bell[1]
else Double.NaN;
def end_opening_hour =
if SecondsFromTime(1100) == 0 then close
else if SecondsFromTime(1100) > 0 then end_opening_hour[1]
else Double.NaN;
def start_last_thirty =
if SecondsFromTime(1500) == 0 then open
else if SecondsFromTime(1500) > 0 then start_last_thirty[1]
else Double.NaN;
def closing_bell =
if SecondsFromTime(2000) == 0 then close
else if SecondsFromTime(2000) > 0 then closing_bell[1]
else Double.NaN;
# -------------------------------
# MORNING / AFTERNOON CHANGES
# -------------------------------
def morning_change = end_opening_hour - opening_bell;
def afternoon_change = closing_bell - start_last_thirty;
def previous_close = close(period = AggregationPeriod.DAY)[1];
# -------------------------------
# SMI & VSMI
# -------------------------------
def SMI_calc =
if IsNaN(SMI_calc[1]) then previous_close
else SMI_calc[1] - morning_change + afternoon_change;
plot SMI = SMI_calc;
SMI.SetDefaultColor(Color.CYAN);
SMI.SetLineWeight(2);
def volFactor = volume / Average(volume, 20);
def VSMI_calc =
if IsNaN(VSMI_calc[1]) then previous_close
else VSMI_calc[1] - (morning_change * volFactor) + (afternoon_change * volFactor);
plot VSMI = VSMI_calc;
VSMI.SetDefaultColor(Color.YELLOW);
VSMI.SetLineWeight(2);
# -------------------------------
# VELOCITY SUITE
# -------------------------------
def velocity = SMI - SMI[1];
def vw_velocity = VSMI - VSMI[1];
def acceleration = velocity - velocity[1];
plot Vel = velocity; Vel.SetDefaultColor(Color.LIGHT_GREEN);
plot VWV = vw_velocity; VWV.SetDefaultColor(Color.LIGHT_ORANGE);
plot Acc = acceleration; Acc.SetDefaultColor(Color.MAGENTA);
# -------------------------------
# LR SLOPE
# -------------------------------
def LR_Slope = Inertia(SMI, 14) - Inertia(SMI, 14)[1];
# -------------------------------
# PULSE GRADIENT
# -------------------------------
def pulseVal = ExpAverage(velocity, 8) - ExpAverage(velocity, 21);
plot Pulse = pulseVal;
Pulse.SetDefaultColor(Color.WHITE);
Pulse.SetLineWeight(2);
# -------------------------------
# COMPOSITE SCORE (0–100)
# -------------------------------
def n1 = (velocity + 2) / 4;
def n2 = (vw_velocity + 2) / 4;
def n3 = (acceleration + 2) / 4;
def n4 = (LR_Slope + 2) / 4;
def n5 = (pulseVal + 2) / 4;
def CompScore = 100 * ((n1 + n2 + n3 + n4 + n5) / 5);
plot Score = CompScore;
Score.SetDefaultColor(Color.BLUE);
Score.SetLineWeight(2);
AddLabel(yes, "Composite Score: " + Round(CompScore, 1),
if CompScore > 60 then Color.GREEN
else if CompScore < 40 then Color.RED
else Color.YELLOW);
# -------------------------------
# PULSE BUBBLES (Lower Panel)
# -------------------------------
# Green arrow up = pulse rising sharply
plot PulseUp = if pulseVal > 0 and pulseVal > pulseVal[1] then VSMI_calc else Double.NaN;
PulseUp.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
PulseUp.SetDefaultColor(Color.GREEN);
PulseUp.SetLineWeight(2);
# Red arrow down = pulse falling sharply
plot PulseDown = if pulseVal < 0 and pulseVal < pulseVal[1] then VSMI_calc else Double.NaN;
PulseDown.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_DOWN);
PulseDown.SetDefaultColor(Color.RED);
PulseDown.SetLineWeight(2);
# Neutral pulse = use small arrow up but gray for visualization
plot PulseNeutral = if AbsValue(pulseVal) < 0.01 then VSMI_calc else Double.NaN;
PulseNeutral.SetPaintingStrategy(PaintingStrategy.BOOLEAN_ARROW_UP);
PulseNeutral.SetDefaultColor(Color.GRAY);
PulseNeutral.SetLineWeight(1);
# -------------------------------
# CLOUD: SMI vs Previous Close
# -------------------------------
AddCloud(SMI, previous_close, Color.DARK_GREEN, Color.DARK_RED);
#End