mirror of
https://github.com/discountry/ritmex-bot.git
synced 2026-09-09 08:18:07 +00:00
89 lines
2.9 KiB
JavaScript
89 lines
2.9 KiB
JavaScript
|
|
|
|
import ccxt from '../../js/ccxt.js';
|
|
|
|
console.log ('CCXT Version:', ccxt.version)
|
|
|
|
async function main () {
|
|
|
|
const exchange = new ccxt.kraken ({
|
|
"apiKey": "YOUR_API_KEY",
|
|
"secret": "YOUR_SECRET",
|
|
})
|
|
|
|
console.log ('-----------------------------------------------------------')
|
|
|
|
console.log ('Loading markets...')
|
|
const markets = await exchange.loadMarkets ()
|
|
console.log ('Markets loaded')
|
|
|
|
// exchange.verbose = true // uncomment for debugging purposes
|
|
|
|
try {
|
|
|
|
const symbol = 'ETH/USDT'
|
|
, market = exchange.market (symbol)
|
|
, { base, quote } = market
|
|
, type = 'market'
|
|
, amount = market['limits']['amount']['min']
|
|
, price = undefined
|
|
, params = {
|
|
'leverage': 2,
|
|
}
|
|
|
|
console.log ('-----------------------------------------------------------')
|
|
|
|
// https://www.kraken.com/en-us/features/api#add-standard-order
|
|
|
|
console.log ('Placing order...')
|
|
let order = await exchange.createOrder (symbol, type, 'buy', amount, price, params)
|
|
console.log ('Order placed:')
|
|
console.log (order)
|
|
|
|
console.log ('-----------------------------------------------------------')
|
|
|
|
// https://www.kraken.com/en-us/features/api#get-open-positions
|
|
|
|
console.log ('Fetching open positions...')
|
|
const positionsParams = { 'docalcs': true }
|
|
let openPositions = await exchange.fetchPositions (positionsParams)
|
|
console.log ('Current positions:')
|
|
console.log (openPositions)
|
|
|
|
console.log ('-----------------------------------------------------------')
|
|
|
|
console.log ('Fetching balance...')
|
|
let balance = await exchange.fetchTotalBalance ()
|
|
console.log ('Fetched balance:')
|
|
console.log (base, balance[base], '(base)')
|
|
console.log (quote, balance[quote], '(quote)')
|
|
|
|
console.log ('-----------------------------------------------------------')
|
|
|
|
console.log ('Closing the position...')
|
|
order = await exchange.createOrder (symbol, type, 'sell', amount, price, params)
|
|
console.log ('Got a response:')
|
|
console.log (order)
|
|
|
|
console.log ('-----------------------------------------------------------')
|
|
|
|
console.log ('Fetching open positions again...')
|
|
openPositions = await exchange.fetchPositions (positionsParams)
|
|
console.log ('Current positions:')
|
|
console.log (openPositions)
|
|
|
|
console.log ('-----------------------------------------------------------')
|
|
|
|
console.log ('Fetching balance...')
|
|
balance = await exchange.fetchTotalBalance ()
|
|
console.log ('Fetched balance:')
|
|
console.log (base, balance[base], '(base)')
|
|
console.log (quote, balance[quote], '(quote)')
|
|
|
|
} catch (e) {
|
|
|
|
console.log (e.constructor.name, e.message)
|
|
}
|
|
}
|
|
|
|
main () |