В принципе, я хочу, чтобы мой локальный терминал MetaTrader 5 выполнял POST-запросы каждый раз, когда изменялся BID-курс пары EUR/USD.Как создать скрипт терминала MetaTrader 5 для отправки ставки EURUSD BID на мой сервер nodejs на порту 443?
И я собираюсь console.log
это в моем сервере nodejs:
const express = require('express');
const app = express();
const http = require('http').Server(app);
const io = require('socket.io')(http);
const path = require('path');
const mongoose = require('mongoose');
const bodyParser = require('body-parser');
let env = process.env.NODE_ENV || 'development';
const port = 443;
const connection = 'mongodb://localhost:27017/db';
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json());
app.use(express.static(path.join(__dirname, 'public')));
mongoose.connect(connection)
.then((db) => {
console.log('MongoDB up and running!');
app.post('/fxrates', (req, res) => {
console.log(req);
});
// MY ROUTES for the client
})
.catch(console.log);
http.listen(port,() => {
console.log(`listening on ${port}`);
});
Вот мой MQ5 скрипт, который компилируется без ошибок. Но когда я запустил его, я ничего не вижу в моем терминале сервера nodejs.
И я вижу Print("Test:",b);
сценарий печати в Meta Trader Experts Tab
Я также добавил в MetaTrader 5 Terminal -> Сервис -> Параметры -> Советники
http://localhost:443/fxrates
и
http://localhost/fxrates
http://localhost
MQ5 сценарий
//+------------------------------------------------------------------+
//| fxrates.mq5 |
//| Copyright 2017, MetaQuotes Software Corp. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, MetaQuotes Software Corp."
#property link "https://www.mql5.com"
#property version "1.00"
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//- string headers;
string headers;
char data[], result[];
string str = "data=value"; // post data variables to send
StringToCharArray(str,data);
string b = CharArrayToString(data);
Print("Test:",b); // just test if good ... it is.
WebRequest("POST","http://localhost:443/fxrates",NULL,NULL,3000,data,ArraySize(data),result,headers);
}
//+------------------------------------------------------------------+
Вы хотя бы ** попросили мой предыдущий совет + исходный код для регистрации/отображения содержимого транзакции, завершенной http-POST, в консоли python? >>> http://stackoverflow.com/a/39966404/3666197 повторить запуск + пост, что было зарегистрировано, нормально? ** – user3666197