aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2025-06-04 11:08:19 +0300
committerGitHub <noreply@github.com>2025-06-04 11:08:19 +0300
commit7240595478fedec02e9e47c704976cf56a66d3e8 (patch)
tree300165d4ecf00fed03d33b36863370384cbdc7ce /README.md
parent76dc648f33a9f96e68d5c9000032c2b986bd5a3d (diff)
downloadgo-metatrader4-7240595478fedec02e9e47c704976cf56a66d3e8.tar.xz
go-metatrader4-7240595478fedec02e9e47c704976cf56a66d3e8.zip
First version
Diffstat (limited to 'README.md')
-rw-r--r--README.md47
1 files changed, 47 insertions, 0 deletions
diff --git a/README.md b/README.md
index e69de29..d047a8e 100644
--- a/README.md
+++ b/README.md
@@ -0,0 +1,47 @@
+# MT4 Client Library
+
+A lightweight Go client library for interacting with a MetaTrader 4 (MT4) trading server over TCP.
+
+## Example Usage
+
+```go
+import "go.popov.link/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
+
+## Maintainer & Project Info
+
+- Vanity import path: `go.popov.link/metatrader4`
+- Source mirror (read-only): [code.popov.link](https://code.popov.link/valentineus/go-metatrader4)
+- Issues and contributions: [GitHub](https://github.com/valentineus/go-metatrader4/issues)
+
+Maintained by [Valentin Popov](mailto:valentin@popov.link).
+
+## License
+
+This project is licensed under the [MIT License](LICENSE.txt). \ No newline at end of file