Skip to content

Releases: digineat/go-metatrader4

MT4 Client Library v1.1.0

11 Aug 11:11
v1.1.0
e073e69

Choose a tag to compare

v1.1.0: Minor Update (Repo Migration & Dependency Refresh)

This release is a small but important housekeeping update:

🔄 Changes

  • Repository migrated from personal account to the official organization:
    github.com/valentineus/go-metatrader4github.com/digineat/go-metatrader4
  • Updated import paths throughout the project to match the new repo location
  • Dependencies refreshed to their latest compatible versions

📦 Install

go get github.com/digineat/go-metatrader4

⚠️ Note: If you're upgrading from v1.0.0, make sure to update your import statements accordingly.

🧪 Quick Start (Updated)

import "github.com/digineat/go-metatrader4/mt4"

// Your code remains the same otherwise

Everything else — API, behavior, and usage — remains unchanged.

MT4 Client Library v1.0.0

09 Jun 12:22
v1.0.0
0dad887

Choose a tag to compare

v1.0.0: First Stable Release

Hi! I'm excited to share the first stable version of a project I've been working on: a lightweight, low-level Go client for interacting with MetaTrader 4 (MT4) trading servers over TCP.

This library is designed for developers who need direct, programmatic access to MT4 without relying on heavyweight platforms or closed binaries. If you're building trading bots, gateways, or dashboards — this is for you.

🚀 Key Features

  • 🧱 Minimal API – idiomatic Go interface, no extra layers
  • 🔌 Raw TCP Connection – communicate with MT4 servers directly
  • ⏱️ Timeout Configs – customize dial/read/write behavior
  • 🔁 Auto-Close (Optional) – auto-manage connections or control manually
  • 🧠 Context Support – works seamlessly with context.Context

📦 Install

go get github.com/digineat/go-metatrader4

🧪 Quick Start

import "github.com/digineat/go-metatrader4/mt4"

client := mt4.NewClient("127.0.0.1", 443,
    mt4.WithDialTimeout(3*time.Second),
    mt4.WithAutoClose(true),
)
ctx := context.Background()
params := map[string]string{
    "login":    "55555",
    "password": "_some_password_",
}
res, err := client.Execute(ctx, "WWAPUSER", params)

✅ Requirements

  • Go 1.24+
  • MT4 Server with TCP access enabled

📚 Resources

🤝 Feedback & Contributions

If you try it out and something breaks — open an issue, I'll take a look. If you find it useful — ⭐ the repo or share your use case. Pull requests are also welcome!