Initial commit: MQL5 Scripts Collection (MetaTrader 5)

This commit is contained in:
GeneralTradingSarl
2025-06-24 00:33:04 +01:00
commit 60a549d89c
1959 changed files with 31907 additions and 0 deletions
@@ -0,0 +1,19 @@
# 🚀 Unlock the Power of Trading!
Welcome to this open-source trading project. Here you will find powerful tools to enhance your trading journey. If you find this project useful, please consider starring ⭐, sharing, or donating to support further development!
---
**Support the project:**
- Star this repository on GitHub
- Share it with your trading friends
- [Donate here](https://www.paypal.com/donate/?hosted_button_id=YOUR_BUTTON_ID) to help us grow!
---
![Screenshot](script.png)
## Source Files
- `sec-websocket-key-generator.mq5`
---
> Made with ❤️ for the trading community.
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

@@ -0,0 +1,63 @@
//+------------------------------------------------------------------+
//| Sec-WebSocket-Key-Generator.mq5 |
//| Copyright 2024, Rajesh Kumar Nait |
//| https://www.mql5.com/en/users/rajeshnait/seller |
//+------------------------------------------------------------------+
#property copyright "Copyright 2024, Rajesh Kumar Nait"
#property link "https://www.mql5.com/en/users/rajeshnait/seller"
#property version "1.00"
#property description "Generated Sec-WebSocket-Key as described in https://datatracker.ietf.org/doc/html/rfc6455#section-11.3.3"
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart() {
//---
MathSrand(GetTickCount());
// Call the function to generate and print the key
string generatedKey = GenerateKey();
Print("Generated Key: ", generatedKey);
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
string Base64EncodeChar(int value) {
string base64Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
if (value >= 0 && value <= 63)
return StringSubstr(base64Chars, value, 1);
else
return "=";
}
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
string GenerateKey() {
uchar randomBytes[16];
// Generate 16 random bytes using MathRand
for (int i = 0; i < ArraySize(randomBytes); i++) {
randomBytes[i] = MathRand() % 256;
}
// Base64 encode the random bytes
string base64Key = "";
for (int i = 0; i < ArraySize(randomBytes); i += 3) {
int byte1 = randomBytes[i];
int byte2 = i + 1 < ArraySize(randomBytes) ? randomBytes[i + 1] : 0;
int byte3 = i + 2 < ArraySize(randomBytes) ? randomBytes[i + 2] : 0;
int combinedValue = (byte1 << 16) | (byte2 << 8) | byte3;
base64Key += Base64EncodeChar((combinedValue >> 18) & 0x3F);
base64Key += Base64EncodeChar((combinedValue >> 12) & 0x3F);
base64Key += i + 1 < ArraySize(randomBytes) ? Base64EncodeChar((combinedValue >> 6) & 0x3F) : "=";
base64Key += i + 2 < ArraySize(randomBytes) ? Base64EncodeChar(combinedValue & 0x3F) : "=";
}
return base64Key;
}
//+------------------------------------------------------------------+