go-metatrader4

module
v1.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 11, 2025 License: MIT

README

MT4 Client Library

Go Reference Go Report Card

A lightweight Go client library for interacting with a MetaTrader 4 (MT4) trading server over TCP.

Example Usage

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)

The Execute method sends a raw MT4 command. Parameters are encoded using base64 and Windows-1251. Use WithAutoClose(false) if you want to reuse the connection manually via client.Close().

Options

  • WithDialTimeout(d time.Duration): Sets the timeout for establishing a TCP connection. Default: 5s.
  • WithReadTimeout(d time.Duration): Sets the maximum time to wait for a server response. Default: 5s.
  • WithWriteTimeout(d time.Duration): Sets the maximum time to complete sending a request. Default: 5s.
  • WithAutoClose(enabled bool): If true, closes the connection after each Execute (default). Use false to reuse the session manually via client.Close().

Requirements

  • Go 1.24 or later
  • MetaTrader 4 server with TCP access

Project Info

  • Vanity import path: github.com/digineat/go-metatrader4/mt4
  • Issues and contributions: GitHub

Maintained by Valentin Popov.

License

This project is licensed under the MIT License.

Directories

Path Synopsis
examples
info command
internal
conn
Package conn wraps net.Conn with simple timeout helpers.
Package conn wraps net.Conn with simple timeout helpers.
proto
Package proto provides helpers for encoding requests and decoding responses.
Package proto provides helpers for encoding requests and decoding responses.
Package mt4 provides a lightweight client for MetaTrader 4 servers.
Package mt4 provides a lightweight client for MetaTrader 4 servers.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL