Komut dosyaları: Açık Ticaret

Açık Ticaret:

Bu fonksiyon, bir işlem açmanın ana mantığını gerçekleştirir. Kullanıcı tarafından sağlanan sembol bilgilerine ve parametrelere dayanarak açılış fiyatını, kar alma seviyelerini ve zararı durdurmayı hesaplar. Sembol, hacim, emir türü, kayma, yorum, sihirli numara vb. gibi gerekli bilgileri içeren bir işlem talebi (MqlTradeRequest) hazırlayın. İşlem talebini göndermek ve sonucu almak için OrderSend fonksiyonunu çağırın. SetTypeFillingBySymbol fonksiyonu: Sembolün gerçekleştirme politikasına göre emir gerçekleştirme türünü (Doldur veya İptal Et, Anında veya İptal Et veya İade Et) belirler. GetMinTradeLevel fonksiyonu: sembolün dondurma seviyesine ve durdurma seviyesine göre minimum işlem seviyesini hesaplar. Minimum seviyeyi belirli sınırlar içinde olmasını sağlamak için ayarlar ve sonucu döndürür.

Author: Manuel Gonzales

Bunu MT5'e nasıl ekleyebilirim?
Luis Gonzalo Mira Pintos #:
Bunu MT5'e nasıl ekleyebilirim?

Merhaba Luis, bu, uzman danışmanlarda işlev olarak kullanılabilen bir komut dosyasıdır.
Kurulum tamamlandıktan sonra, simgeyi komut dosyası bölümünden çalıştırmak istediğiniz sembol penceresine sürükleyip bırakın.
Saygılarımla.

Luis Gonzalo Mira Pintos #:
Bunu MT5'e nasıl ekleyebilirim?
const express = require("express");
const bodyParser = require("body-parser");

const app = express();
app.use(bodyParser.json());

/*
MT5'ten beklenen JSON:
{
"symbol": "EURUSD",
"candles": [
{ "high": 1.0921, "low": 1.0882, "close": 1.0910 },
...
],
"period": 20
}
*/

app.post("/breakout", (req, res) => {
const { candles, period } = req.body;

if (!candles || candles.length < period + 1) {
return res.json({ signal: "NONE" });
}

const lookback = candles.slice(1, period + 1);

const highestHigh = Math.max(...lookback.map(c => c.high));
const lowestLow = Math.min(...lookback.map(c => c.low));

const currentClose = candles[0].close;

let signal = "NONE";

if (currentClose > highestHigh) signal = "BUY";
if (currentClose < lowestLow) signal = "SELL";

res.json({
signal,
en yüksek yüksek,
en düşük Düşük
});
});

app.listen(3000, () => {
console.log("Breakout bot API'si 3000 numaralı bağlantı noktasında çalışıyor");
});