PipWires — Visual MQL4/MQL5 Code Generator with Free Browser Demo

PipWires

Trader
Jun 19, 2026
3
0
6
42
Hello everyone,

We're developing PipWires, a visual programming application for creating trading-strategy logic and generating editable MQL4 and MQL5 source code.

PipWires is not a ready-made EA, signal provider, or automated profitability system. Users create the strategy logic themselves by connecting visual elements for events, conditions, indicators, variables, calculations, and trading actions.

The resulting MQL code can be viewed, copied, edited, and compiled using the normal MetaTrader development workflow.

rsi_strategy_1024.png

Current features
- Visual flow and data connections
- MQL4 and MQL5 code generation
- Trading events and conditional logic
- Indicators, variables, calculations, and trade actions
- Grid snapping and alignment
- Wire jumpers for organizing larger workflows
- Visible and editable generated source code
- Free browser-based demo

You can try the browser demo here: PipWires Website

The browser demo is intentionally limited. Its purpose is to let users test the visual workflow and inspect the generated code before the desktop early-access version becomes available.

What PipWires does not do
- It does not generate profitable strategies automatically.
- It does not provide trading signals or financial advice.
- It does not remove the need for compilation, testing, backtesting, and risk validation.
- It does not hide the generated strategy inside a black box.

The project is still under active development, and I’m currently looking for feedback from MetaTrader users and MQL developers.

In particular, I would like to know:
1. Is the visual workflow easy to understand?
2. Is the generated MQL structure readable?
3. Which indicators, order-management tools, or other elements should be prioritized?
4. Would you use a tool like this for prototyping or maintaining an EA?
5. Which limitations would prevent you from using it?

Website and free browser demo: PipWires Website

I’ll use this thread for relevant development updates and to respond to questions or technical feedback.

PipWires is a software development tool. It does not provide financial advice, trading signals, or guarantees of trading performance.
 
Looks useful for prototyping the logic. For the hand-editing side afterwards, I've been working on a clangd-based VS Code setup for MQL — it gives real go-to-definition and symbol-aware autocomplete instead of just syntax highlighting, which helps a lot when maintaining the generated code in a larger project. Full disclosure, it's my own extension (ngSoftware.mql-clangd). Could pair well with a generator workflow like yours.
 
Thanks — that does sound complementary to the workflow PipWires is aiming for.

The generated MQL code is intended to remain readable and editable rather than locking users into PipWires, so a proper symbol-aware VS Code setup could be useful once a project grows beyond the initial visual prototype.

I haven’t tested your extension yet, so I can’t comment on compatibility at this stage, but I’ll take a look at it. In particular, I’d be interested to see how it handles MQL-specific includes, standard-library classes, and generated multi-file projects.

PipWires currently focuses on producing the initial structure and strategy logic, while users remain free to continue development in MetaEditor or another editor afterward.
 
Thanks — that does sound complementary to the workflow PipWires is aiming for.

The generated MQL code is intended to remain readable and editable rather than locking users into PipWires, so a proper symbol-aware VS Code setup could be useful once a project grows beyond the initial visual prototype.

I haven’t tested your extension yet, so I can’t comment on compatibility at this stage, but I’ll take a look at it. In particular, I’d be interested to see how it handles MQL-specific includes, standard-library classes, and generated multi-file projects.

PipWires currently focuses on producing the initial structure and strategy logic, while users remain free to continue development in MetaEditor or another editor afterward.
Thanks for taking a look. To your points:
Includes and standard-library classes (Trade, Arrays, etc.) are where it helps most — those .mqh files get genuine go-to-definition and completion from real source.
One honest caveat on built-ins: the built-in MQL5 functions (iMA, OrderSend, etc.) aren't parsed from MetaEditor's internal source — they come from a compat/stub header that ships with the extension. That said, coverage is comprehensive: all ~37 standard indicator functions, the full MQL5 (and legacy MQL4) trading API, plus series, arrays, strings, math, file, chart, object, SQLite, socket, and the complete enum families. The standard-library classes (CTrade, CArray*, …) are covered by an auto-generated stub set on top of that. So for built-ins it's stub-driven rather than source-indexed, but in practice the API surface is essentially complete.
Multi-file projects work cleanly for your own includes — clangd walks the full dependency graph and lets you jump between files. For the standard library (<Trade/Trade.mqh> etc.) that additionally requires the MT5 Include5Dir to be set correctly; once it is, you get the same real navigation into the actual MT5 source headers.
Happy to help if you hit snags configuring it against a PipWires output — would be a good real-world test.
Thanks — that does sound complementary to the workflow PipWires is aiming for.

The generated MQL code is intended to remain readable and editable rather than locking users into PipWires, so a proper symbol-aware VS Code setup could be useful once a project grows beyond the initial visual prototype.

I haven’t tested your extension yet, so I can’t comment on compatibility at this stage, but I’ll take a look at it. In particular, I’d be interested to see how it handles MQL-specific includes, standard-library classes, and generated multi-file projects.

PipWires currently focuses on producing the initial structure and strategy logic, while users remain free to continue development in MetaEditor or another editor afterward.
Thanks for taking a look. To your points:
Includes and standard-library classes (Trade, Arrays, etc.) are where it helps most — those .mqh files get genuine go-to-definition and completion from real source.
One honest caveat on built-ins: the built-in MQL5 functions (iMA, OrderSend, etc.) aren't parsed from MetaEditor's internal source — they come from a compat/stub header that ships with the extension. That said, coverage is comprehensive: all ~37 standard indicator functions, the full MQL5 (and legacy MQL4) trading API, plus series, arrays, strings, math, file, chart, object, SQLite, socket, and the complete enum families. The standard-library classes (CTrade, CArray*, …) are covered by an auto-generated stub set on top of that. So for built-ins it's stub-driven rather than source-indexed, but in practice the API surface is essentially complete.
Multi-file projects work cleanly for your own includes — clangd walks the full dependency graph and lets you jump between files. For the standard library (<Trade/Trade.mqh> etc.) that additionally requires the MT5 Include5Dir to be set correctly; once it is, you get the same real navigation into the actual MT5 source headers.
Happy to help if you hit snags configuring it against a PipWires output — would be a good real-world test.
 
Thanks for the detailed explanation. The distinction between source-indexed standard-library headers and stub-driven built-ins makes sense.

The multi-file handling is especially relevant for PipWires. Although the current generated examples are relatively compact, the intended output structure can include generated helper functions, shared headers, and target-specific includes as projects become larger.

I agree that testing the extension against actual PipWires-generated output would be a useful real-world compatibility check. Once I have a representative multi-file MQL5 project ready, I can test:
  • navigation into generated helper functions and project includes;
  • completion for built-in MQL functions and enums;
  • navigation into MetaTrader standard-library classes such as CTrade;
  • diagnostics on generated code;
  • behavior when both generated and manually maintained files are present.
I’ll let you know if I encounter any configuration or parsing issues. Thanks for offering to help.