Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- global.Promise = require('bluebird');
- const FTXRest = require('./');
- const FTXWs = require('ftx-api-ws');
- const now = require('performance-now');
- const BitMEXClient = require('./indexBitmex');
- var FTXbidPrice = 0;
- var FTXaskPrice = 0;
- const ftxws = new FTXWs({
- key: "3kLzV-WdA0y2tDInH9PA9oCmcbJG7KolLIZ75DFg",
- secret: "dSO5vqNoNCMI_-OsP5rMGrgOnGfU2DdYOR0fNPls",
- subaccount: "btcarb"
- });
- var FTX_KEY = "3kLzV-WdA0y2tDInH9PA9oCmcbJG7KolLIZ75DFg";
- var FTX_SECRET = "dSO5vqNoNCMI_-OsP5rMGrgOnGfU2DdYOR0fNPls";
- var FTX_SUBACCOUNT = "btcarb";
- const ftx = new FTXRest({
- key: "3kLzV-WdA0y2tDInH9PA9oCmcbJG7KolLIZ75DFg",
- secret: "dSO5vqNoNCMI_-OsP5rMGrgOnGfU2DdYOR0fNPls",
- subaccount: "btcarb"
- });
- const bitmex = new BitMEXClient({
- testnet: false,
- apiKeyID: "0nMEd5ag0emj5eBLSe8pNtWg",
- apiKeySecret: "uLACu8ZZc7gYiDAOBx60yCbsglRMLlbqGwE6vsY4UValF_7Y",
- maxTableLen: 100,
- });
- var api = new API({key:"3kLzV-WdA0y2tDInH9PA9oCmcbJG7KolLIZ75DF", secret:"dSO5vqNoNCMI_-OsP5rMGrgOnGfU2DdYOR0fNPls", subaccount:"btcarb"});
- import API from './api';
- import FIXParser, {
- Field,
- Fields,
- Messages,
- Side,
- OrderTypes,
- HandlInst,
- TimeInForce,
- EncryptMethod
- } from './fixparser/fixparser.js';
- api.ftxFix.connect();
- const sleep = ms => new Promise(r => setTimeout(r, ms));
- sleep(5000);
- bitmex.on('error', console.error);
- bitmex.on('open', () => console.log('Connection opened.'));
- bitmex.on('close', () => console.log('Connection closed.'));
- bitmex.on('initialize', () => console.log('Client initialized, data is flowing.'));
- bitmex.addStream('XBTUSD', 'trade', data => {
- try {
- for (let t = data.length - 1; t >= 0; t--) {
- if(data[t].size >= 20000 && api.ftxFix.connected == true)
- {
- for(var i = 0; i<50; i++)
- {
- sendOrderFIX("sell", "BTC-PERP", FTXaskPrice+100, 0.01, false, true);
- sendOrderFIX("buy", "BTC-PERP", FTXbidPrice-100, 0.01, false, true);
- }
- }
- else if ( api.ftxFix.connected == false)
- {
- // api.ftxFix.connect();
- }
- }
- } catch (e) {
- console.error('trade ' + e);
- }
- });
- async function WSstart() {
- await ftxws.connect();
- ftxws.subscribe('ticker', 'BTC-PERP');
- ftxws.on('BTC-PERP::ticker', function(e) {
- try {
- if (e.bidSize < 4) {
- FTXbidPrice = e.bid - 1;
- } else {
- FTXbidPrice = e.bid;
- }
- if (e.askSize < 4) {
- FTXaskPrice = e.ask + 1;
- } else {
- FTXaskPrice = e.ask;
- }
- } catch (e) {
- console.error('BTC-PERP::ticker ' + e);
- }
- });
- }
- WSstart();
- async function sendOrderFIX(side, market, price, size, postOnly, ioc) {
- try {
- const start = now();
- const result = await api.ftxFix.placeOrder(side, market, price, size, postOnly, ioc);
- const end = now();
- console.log("SentOrderFIX took", (end - start).toFixed(5));
- } catch (err) {
- console.log('sendOrderFIX ', err);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement