Skip to content

Multi Time Frame Delta Strategy

Version: v.2.0.0.0

Multi Time Frame Delta Strategy

Description

Multi-time frame delta bot is a strategy that analyzes the difference between buyers and sellers in three time frames at the same time, and depending on who is more in that direction, the bot makes a buy or sale.

Properties

General Parameters

  • Backtest Mode [default: false] — When enabled, strategy only processes historical data.
  • Debug Mode [default: true] — When enabled, detailed strategy info printed to output window.
  • Quantity [default: 1, range: 1–∞] — Number of contracts/shares per position.
  • Calculation Type Stop loss and Profit target [default: Ticks] — Method for SL/PT levels.
  • SL [default: 100, range: 0.01–∞] — Stop loss value in points/ticks.
  • PT [default: 100, range: 1–∞] — Take profit value in points/ticks.
  • Flip orders [default: false] — If enabled, short trades on long signals and vice versa.
  • Filter [default: 0, range: 0–∞] — Value to filter market noise; higher = fewer but higher quality signals.
  • Use ROI? [default: false] — Enable ROI-based exits.
  • Use ML.NET filter? [default: true] — Filter signals with ML model.

Ensemble Models

  • Use LightGbm [default: true] — Enable LightGbm classifier.
  • Use FastTree [default: true] — Enable FastTree classifier.
  • Use FastForest [default: true] — Enable FastForest classifier.
  • Use SDCA LogReg [default: true] — Enable SDCA logistic regression.
  • Use LBFGS LogReg [default: true] — Enable LBFGS logistic regression.
  • Use Averaged Perceptron [default: true] — Enable Averaged Perceptron classifier.
  • Use SGD Calibrated [default: true] — Enable SGD calibrated classifier.

Feature Params

  • (Slope) Start Bars Ago [default: 14, range: 1–∞] — Start bar (ago) for VWAP slope.
  • (Slope) End Bars Ago [default: 0, range: 0–∞] — End bar (ago) for VWAP slope.
  • (Delta) Type [default: BidAsk] — Cumulative delta calculation type.
  • (Delta) Period [default: Session] — Cumulative delta period.
  • (Delta) Size Filter [default: 0, range: 0–∞] — Delta size filter (0 = off).
  • (VWAP) Resolution [default: Tick] — The data the indicator will run off of.
  • (VWAP) Standard deviations [default: Two] — The VWAP indicator to use for the strategy.
  • (VWAP) SD1/SD2/SD3 Multiplier [default: 0.75, 1.5, 3, range: 0.001–∞] — VWAP SD multipliers.
  • (ATR) Period [default: 14, range: 1–∞] — ATR period for features.
  • (MACD) Fast/Slow/Smooth [default: 12, 26, 9, range: 1–∞] — MACD periods.
  • (Gap) Session Start Time [default: 08:30] — Local time of the first bar of the session used for gap calculation.
  • Signal Offset Bars [default: 0, range: 0–∞] — Bars ago to read input signal.

ML Engine

  • Enable Logging [default: false] — When enabled: Print() to Output window and write MLEngine.log.
  • Show Metrics Table [default: true] — Show ensemble metrics table on chart.
  • Show Probability [default: true] — Show probability label on chart.
  • Use Metrics Filter [default: false] — Block signals if metrics below thresholds.
  • Use Auto Weights [default: true] — Auto weight models by AUC and F1.
  • Min Probability [default: 0.5, range: 0–1] — Minimum ensemble probability to pass signal.
  • Bars Ahead [default: 14, range: 1–∞] — Bars ahead used for labeling training samples.
  • Records Before Retrain [default: 10, range: 1–∞] — Minimum samples before retraining.

ML Metrics Filter

  • Min AUC [default: 0.0, range: 0–1] — Minimum AUC required to pass metrics filter.
  • Min F1 [default: 0.0, range: 0–1] — Minimum F1 score required to pass metrics filter.
  • Min Accuracy [default: 0.0, range: 0–1] — Minimum accuracy required to pass metrics filter.
  • Min Precision [default: 0.0, range: 0–1] — Minimum precision required to pass metrics filter.
  • Min Recall [default: 0.0, range: 0–1] — Minimum recall required to pass metrics filter.

Probability Style

  • Probability font — Font family for probability labels.
  • Probability color — Text color for probability labels on chart.
  • Probability offset (ticks) [default: 0, range: -∞–∞] — Vertical offset in ticks.

Table Style

  • Table position [default: TopLeft] — Corner of chart where metrics table is drawn.
  • Table font — Font family for metrics table.
  • Table text color — Text color for metrics table.
  • Table background — Background fill for metrics table.
  • Table outline — Border/outline color for metrics table.
  • Table opacity [default: 75, range: 0–100] — Opacity table (0-100).

Roi Parameters

  • Roi 1 [default: false] — Enable first ROI level.
  • Period 1 [default: 15, range: 0–∞] — Bars for first ROI level.
  • Roi value 1 (%) [default: 0.2, range: 0–∞] — Target ROI for first level.
  • Roi 2 [default: false] — Enable second ROI level.
  • Period 2 [default: 30, range: 1–∞] — Bars for second ROI level.
  • Roi value 2 (%) [default: 0.1, range: 0–∞] — Target ROI for second level.
  • Roi 3 [default: false] — Enable third ROI level.
  • Period 3 [default: 45, range: 1–∞] — Bars for third ROI level.
  • Roi value 3 (%) [default: 0.05, range: 0–∞] — Target ROI for third level.

Money Management

  • Enable Daily Profit [default: false] — Control daily profit.
  • Enable Daily Loss [default: false] — Control daily loss.
  • Daily loss limit ($) [default: 1000, range: 1–∞] — Daily loss limit in currency.
  • Daily profit target ($) [default: 1000, range: 1–∞] — Daily profit target in currency.

Day of Week

  • Sunday [default: false] — Enable trading on Sunday.
  • Monday [default: true] — Enable trading on Monday.
  • Tuesday [default: true] — Enable trading on Tuesday.
  • Wednesday [default: true] — Enable trading on Wednesday.
  • Thursday [default: true] — Enable trading on Thursday.
  • Friday [default: true] — Enable trading on Friday.
  • Saturday [default: false] — Enable trading on Saturday.

Trading time

  • Enable session 1 times? (optional) [default: false] — Enable first trading session.
  • Session 1 start time [default: 09:30] — Session first start time.
  • Session 1 end time [default: 12:00] — Session first end time.
  • Enable session 2 times? (optional) [default: false] — Enable second trading session.
  • Session 2 start time [default: 12:00] — Session second start time.
  • Session 2 end time [default: 15:00] — Session second end time.
  • Enable session 3 times? (optional) [default: false] — Enable third trading session.
  • Session 3 start time [default: 00:00] — Session third start time.
  • Session 3 end time [default: 00:00] — Session third end time.
  • Enable exit on session close [default: true] — Enable exit at the session close.
  • Session close time [default: 16:50] — Session close time.
  • Exit on session close minutes [default: 2, range: 1–∞] — Minutes before session close to exit.

Tickers

  • Number minute in ticker bar 1 [default: 1, range: 1–∞] — Minutes for first ticker bar timeframe.
  • Number minute in ticker bar 2 [default: 3, range: 1–∞] — Minutes for second ticker bar timeframe.
  • Number minute in ticker bar 3 [default: 5, range: 1–∞] — Minutes for third ticker bar timeframe.
  • Ticker 1 [default: MNQ MAR26] — Symbol for first ticker instrument.
  • Ticker 2 [default: MNQ MAR26] — Symbol for second ticker instrument.
  • Ticker 3 [default: MNQ MAR26] — Symbol for third ticker instrument.

Note:

If all days are disabled, the strategy will trade without any restrictions on days.

If all trading session clocks are turned off, the auto strategy will trade without time restrictions.

Version Change History

v.1.0.0.2 (Sep 5, 2023)

1) Improved architecture.

2) Added additional setting for specifying the trading session.

3) Added function of raising the position after connection loss.

4) Daily profit and drawdown functions can be used in backtest.

v.1.0.0.3 (Sep 30, 2023)

1) Added a debug mode parameter that allows you to output useful code information for the developer.

2) Improved the function of raising the position after connection loss.

v.1.0.0.4 (Nov 12, 2023)

1) Improved trading session time.

2) Improved the function of raising the position after connection loss.

v.1.0.0.5 (Dec 1, 2023)

1) Improved conditions for partial fulfillment of orders.

2) Improved the function of raising the position after connection loss.

3) Added functions for order execution log.

v.1.0.0.6 (Dec 24, 2023)

1) Improved conditions for partial fulfillment of orders.

2) Improved the function of raising the position after connection loss.

v.1.0.0.7 (Mar 14, 2024)

1) Improved conditions for closing a position when the daily loss or profit is reached.

2) Fixed a problem with system variables resetting after the completion of a trade.

3) Changed parameter determining the priority of strategy position or account position.

4) Fixed the problem of strategy transition to the next state while placing an entry order.

5) Fixed an issue with clearing all trade variables after each execution.

v.1.0.0.8 (July 29, 2024)

1) Created a class that stores trade variables with thread locking; thread race problem solution.

2) Improved functions to raise position after connection loss.

3) Use of order state functions in OnExecutionUpdate methods.

4) Changed order names and name verification during order execution in the OnExecutionUpdate method.

v.1.1.0.0 (May 22, 2025)

1) Added detailed code comments for better understanding.

2) Improved OnBarUpdate method execution conditions.

3) Updated strategy state names for more accurate representation of strategy operation.

4) Added ROI function for trade exit.

5) Added session end position closing function.

6) Added descriptive names to exit orders for better understanding of position closure conditions.

7) Add bar offset for entry signal.

8) Sort properties.

v.1.1.0.1 (Oct 26, 2025)

1) Trading hours and days logic updated — if all sessions are disabled, the strategy now runs without time restrictions instead of stopping trading.

v.2.0.0.0 (Mar 9, 2026)

1) ML Engine filter feature added.