# Build a VWAP crossover strategy with averaging and partial exits

**URL:** <https://qna.tradetron.tech/t/build-a-vwap-crossover-strategy-with-averaging-and-partial-exits/30227>\
**Category:** Create a strategy\
**Created:** [October 6, 2026, 8:38pm UTC](https://qna.tradetron.tech/t/build-a-vwap-crossover-strategy-with-averaging-and-partial-exits/30227 "2026-10-06T20:38:12Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![tt\_team](https://qna.tradetron.tech/letter_avatar_proxy/v4/letter/t/5f8ce5/32.png) [@tt\_team](https://qna.tradetron.tech/u/tt_team)\
**Post date:** [October 6, 2026, 8:38pm UTC](https://qna.tradetron.tech/t/build-a-vwap-crossover-strategy-with-averaging-and-partial-exits/30227/1 "2026-10-06T20:38:13Z")

</div>

This guide builds a list-based VWAP crossover strategy that adds to a position on small dips and exits in two stages. The example uses a US stock list (US\_list on NASDAQ).

VWAP (volume weighted average price) is the day’s average traded price weighted by volume. Many traders read price above VWAP as bullish and below as bearish.

 ![](https://qna.tradetron.tech/uploads/default/original/2X/6/6250ea322a8be7aac663b37e321926595c07d245.jpeg)

## The logic

- **Entry:** a two-candle VWAP crossover on the 15-minute timeframe. Candle -2 closes on one side of VWAP and candle -1 closes on the other side.
- **Averaging:** each time price moves 0.11% against the last entry, add 1 quantity.
- **Partial exit:** at 0.5% profit from the latest entry price, exit 50% of the position. This only activates after at least one averaging trade.
- **Full exit:** at 1% profit from the latest averaging price, exit the rest.
- **Reversal exit:** if price crosses VWAP the other way, exit everything.
- **No fixed stop loss:** risk is controlled only by the reversal exit. Averaging into a losing trade without a stop loss can build large losses; understand this before using it.

 ![](https://qna.tradetron.tech/uploads/default/original/2X/c/c8eeaea71fe72ced7357d28f91e80025cf8bcbb4.jpeg)

 ![](https://qna.tradetron.tech/uploads/default/original/2X/0/0899bc3cdc28bd5ab8ff407c07a6fd1dd3d96fe4.jpeg)

## Part 1 — Entry

### Step 1 — Create the strategy

Open the Strategy builder, name it (for example “VWAP Strategy”) and add two sets: Set 1 for buys, Set 2 for sells.

 ![](https://qna.tradetron.tech/uploads/default/original/2X/3/3a79a3833c3121975cf16a5adaef2eb9cf5c4477.png)

### Step 2 — Set 1 bullish condition

1. Select **US\_list** as the instrument list.
2. Click **Add** , choose the **Position** keyword, then **VWAP Series**. Set candle -1, timeframe 15 minutes, NASDAQ Equity, US\_list.
3. Add a second keyword: **Close** on 15 minutes for US\_list.
4. Condition: **Close greater than VWAP**.

 ![](https://qna.tradetron.tech/uploads/default/original/2X/3/31c329206babb83e6b82d31397e35a1de7594216.png)

 ![](https://qna.tradetron.tech/uploads/default/original/2X/a/aba3750b0aab18486dd28f46135d5b398ffd3cf6.png)

### Step 3 — Crossover confirmation

Copy the condition, change candle -1 to **-2** and **greater than** to **less than**. The entry now reads:

- Candle -1: Close greater than VWAP
- Candle -2: Close less than VWAP

 ![](https://qna.tradetron.tech/uploads/default/original/2X/4/48a4566e95ed377fb7e76673b8563034199ac840.png)

### Step 4 — Buy position

In the Position builder, click **Add** , set quantity 1 and action **Buy**. Save.

 ![](https://qna.tradetron.tech/uploads/default/original/2X/c/cd4a52f59810359e7fc6771f5f328f8ddcb91c63.png)

### Step 5 — Set 2 bearish entry

Copy Set 1 into Set 2. Swap every greater than / less than and change **Buy** to **Sell**.

 ![](https://qna.tradetron.tech/uploads/default/original/2X/5/500190efd41544faa6e880adde21e661aa0f72c4.png)

 ![](https://qna.tradetron.tech/uploads/default/original/2X/7/7f95b7f8dc8589bcaecdb7f5671f83c1dcb8bcfd.png)

### Step 6 — Store the entry price

Click **Add Variable** , name it `|US_list|_entry_price`, click **FX** , choose **LTP** for US\_list. Submit and save. Copy the same variable into Set 2.

 ![](https://qna.tradetron.tech/uploads/default/original/2X/e/ecdd7467ebc61e8aba30b0b1e37a5cb9d8f2e060.png)

 ![](https://qna.tradetron.tech/uploads/default/original/2X/d/d33cd42ec0869cdaea189e2f6545ea1af9224c0e.png)

 ![](https://qna.tradetron.tech/uploads/default/original/2X/e/e0f5b670646cbba42d8960f5e459586212d52590.png)

## Part 2 — Repairs and exits

### Step 7 — Averaging with Repair Continuous

1. Click **Add Repair** and set the type to **Repair Continuous**.
2. Condition: LTP of US\_list less than `|US_list|_entry_price` × 0.9989 (a 0.11% drop).

 ![](https://qna.tradetron.tech/uploads/default/original/2X/2/2c17528dbd25b1b50face5dac5981b28394ff2f9.png)

 ![](https://qna.tradetron.tech/uploads/default/original/2X/8/80ac1d528b13fb2be038f313c70a8c5447190e72.png)

1. Copy the runtime variable from the Entry (S1 E) into this Repair Continuous block (S1 R1) so the entry price updates after each add.

 ![](https://qna.tradetron.tech/uploads/default/original/2X/3/39df2249228d7705d5f4279eb072ea5306fa1107.png)

1. Add a second runtime variable here, `|US_list|_qty_inc_price`, to store each averaging price. Set the Position builder quantity to 1.

 ![](https://qna.tradetron.tech/uploads/default/original/2X/b/b429c6b5b9cca11a7fa358d4530dc0052aa86fcf.png)

### Step 8 — 50% exit at 0.5% profit

1. Copy the Repair Continuous block. Change **less than** to **greater than** and 0.9989 to **1.005** : LTP of US\_list greater than `|US_list|_entry_price` × 1.005.
2. Add `|US_list|_qty_inc_price` as an extra condition. It has no value until an averaging trade happens, so this exit stays off until then.

 ![](https://qna.tradetron.tech/uploads/default/original/2X/9/9a546f9262107f4874d69680f595f46d52fc1634.png)

1. Set the exit quantity with FX: **Round(Net Quantity ÷ 2 ÷ Multiplier)**. Dividing by the multiplier keeps the size right if the strategy is deployed with a multiplier.

 ![](https://qna.tradetron.tech/uploads/default/original/2X/4/4b786add369b7f7f25a1f4a676adfca77ef539ed.png)

 ![](https://qna.tradetron.tech/uploads/default/original/2X/0/05d8c725e2ca2636b4417f42ff730a7985fc1ad0.png)

### Step 9 — Full exit

1. Copy the entry conditions into the exit section and reverse every comparison. This is the VWAP reversal exit.
2. Add another exit condition: LTP of US\_list greater than `|US_list|_qty_inc_price` × 1.01 (1% target).

 ![](https://qna.tradetron.tech/uploads/default/original/2X/c/c01ecc6af00b4a8ca07fd72d0e821cb0adf68c96.png)

### Step 10 — Set 2 repairs and exits

Repeat Steps 7–9 for Set 2 with reversed signs. In the 50% exit quantity, use the **absolute value** of Net Quantity before dividing by 2, because sell positions have negative quantity.

 ![](https://qna.tradetron.tech/uploads/default/original/2X/9/9ffd8e563198d4f10715ce9b5ca8ec499f997588.png)

### Step 11 — Reset variables on exit

Copy `|US_list|_entry_price` and `|US_list|_qty_inc_price` into the **Exit Runtime Variable** section of both sets and set their value to **0** instead of LTP. This stops the next trade from using old values.

 ![](https://qna.tradetron.tech/uploads/default/original/2X/d/d27e0520de21d3c2aec3d84a70754603dcb1e124.png)

 ![](https://qna.tradetron.tech/uploads/default/original/2X/a/ab46a3794b4660755a563ea5e1ecd496f139c151.png)

## How it runs

1. Every 15 minutes, each stock in US\_list is checked for a VWAP crossover.
2. On a crossover it enters 1 quantity and stores the entry price.
3. Each further 0.11% move against the trade adds 1 quantity and updates the stored prices.
4. After at least one add, the 50% exit is active at 0.5% profit.
5. At 1% profit from the latest averaging price, the rest exits.
6. A VWAP cross the other way exits everything.
7. Variables reset to 0 and it waits for the next crossover.

## Before going live

Run it in **Live Offline** first and check the notification logs to confirm each repair and exit fires as expected.

Full build playlist: [https://www.youtube.com/playlist?list=PLbaK-IXrHgNKLf2sUKts9KlDWt0C-A3Uu](https://www.youtube.com/playlist?list=PLbaK-IXrHgNKLf2sUKts9KlDWt0C-A3Uu)

_For education only. This is not investment advice. Trading involves risk._

✨ Edited with AI from the original Tradetron article, checked against current docs (Oct 2026). Spot something wrong? Tell us in the Community.
