Skip to content

MACD Intraday Strategy

Version: v.3.0.0.0

MACD Intraday Strategy

Description

An adaptive intraday strategy powered by ML.NET machine learning, based on the MACD indicator. It predicts price delta over a customizable number of bars using online learning. The model is stored, retrained continuously, and used in live trading with no manual intervention.

Properties

General Parameters

  • Backtest Mode [default: false] — Enable or disable backtest mode.
  • Trend Approach [default: Both] — Trend Approach (OnlyLong, OnlyShort, Both).
  • Quantity [default: 1, range: 1–∞] — Quantity.
  • Profit Target [default: 50, range: 1–∞] — Profit Target.
  • Stop Loss [default: 150, range: 1–∞] — Stop Loss.
  • Use ROI? [default: true] — Use ROI?
  • Use ML.NET filter? [default: true] — Use ML.NET filter?

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: true] — 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 percentage for first level.
  • Roi 2 [default: true] — 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 percentage for second level.
  • Roi 3 [default: true] — 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 percentage 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.

Trading time

  • Enable session 1 times? (optional) [default: false] — Enable first trading session.
  • Session 1 start time [default: 17:00] — Session first start time.
  • Session 1 end time [default: 15: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: 16:00] — Session second end time.
  • Enable session 3 times? (optional) [default: false] — Enable third trading session.
  • Session 3 start time [default: 16:00] — Session third start time.
  • Session 3 end time [default: 23:59] — Session third end time.
  • Enable exit on session close [default: true] — Enable exit at the session close.
  • Session close time [default: 15:05] — Session close time.
  • Exit on session close minutes [default: 1, range: 1–∞] — Minutes before session close to exit.

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.

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.2.0.0.0 (July 10, 2025)

1) Added new input features for the ML.NET model: ATR, Cumulative Delta, price slope, and VWAP divergence. These measurements are now included in the analysis and training process to improve price prediction accuracy.

v.2.1.1.0 (Aug 8, 2025)

1) Fixed a bug with saving settings templates; after saving, it was impossible to apply the template.

v.2.2.0.0 (Sep 1, 2025)

1) Added current Daily ATR as an additional dimension for training and forecasting ML.NET models.

v.2.2.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.3.0.0.0 (Mar 9, 2026) (Current)

1) ML Engine filter feature added.