Before to start the project, the Meta Trader 4 terminal must be started with MetaTrader4Bridge2.mq4 activated. More about that MQL 4 Folder for ZeroMQ for Meta Trader 4
ZeroMQ ports and password can be changed - meta-trader.service.ts
import { MetaTrader4 } from './MetaTrader4';
@Injectable()
export class MetaTraderService {
MetaTrader = new MetaTrader4({
apiKey: 'CHANGEME',
reqUrl: 'tcp://127.0.0.1:5555',
pullUrl: 'tcp://127.0.0.1:5556',
});
}
WS Socket is started on port 8888 - socket.gateway.ts
@WebSocketGateway(8888)
export class SocketGateway implements OnGatewayInit {
@WebSocketServer()
server: Server;
subscription: Subscription;
currentRates: any;
constructor(private mtService: MetaTraderService) {
this.mtService.connect();
}
}
To connect meta-trader.service.ts with Meta Trader 4 trough ZeroMQ is used the Peter Szombati project
Connection between MetaTrader4 and NodeJS Typescript ZeroMQ Socket
Nest framework TypeScript starter repository.
$ npm install
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod