with Alpaca and Bitget?
Attempts to cancel all open orders. A response will be provided for each order that is attempted to be cancelled. If an order is no longer cancelable, the server reject the request, See the docs
Retrieve all contract symbols by product type. See the documentation
Attempts to cancel an open order. If the order is no longer cancelable (example: status=filled
), the server will reject the request, See the docs
Retrieve candlestick data for a contract symbol. See the documentation
Closes (liquidates) all of the account’s open long and short positions. A response will be provided for each order that is attempted to be cancelled. If an order is no longer cancelable, the server will reject the request, See the docs
Alpaca API allows you to harness the power of automated trading by providing an interface to manage your stock and equity portfolio through simple API calls. It's particularly suited for building trading bots, algorithmic trading strategies, or just automating interactions with your investment portfolio. Whether you're looking to place trades based on specific market conditions, automatically adjust your portfolio in response to certain triggers, or simply streamline your investment activities, Alpaca's trading API offers a robust solution.
import { axios } from "@pipedream/platform"
export default defineComponent({
props: {
alpaca: {
type: "app",
app: "alpaca",
}
},
async run({steps, $}) {
return await axios($, {
url: `https://api.alpaca.markets/v2/account`,
headers: {
Authorization: `Bearer ${this.alpaca.$auth.oauth_access_token}`,
},
})
},
})
import { axios } from "@pipedream/platform";
import crypto from "crypto";
export default defineComponent({
props: {
bitget: {
type: "app",
app: "bitget",
}
},
async run({ steps, $ }) {
function sign(message, secretKey) {
const mac = crypto.createHmac('sha256', secretKey);
mac.update(message, 'utf8');
const digest = mac.digest();
return Buffer.from(digest).toString('base64');
}
function preHash(timestamp, method, requestPath, body) {
return timestamp.toString() + method.toUpperCase() + requestPath + body;
}
const emptyBody = "";
const timestamp = Math.round(new Date());
const requestPath = "/api/v2/mix/account/account?symbol=btcusdt&productType=USDT-FUTURES&marginCoin=usdt";
const getSignResult = sign(preHash(timestamp, "GET", requestPath, emptyBody), this.bitget.$auth.secret_key);
return await axios($, {
url: `https://api.bitget.com${requestPath}`,
method: "GET",
headers: {
"ACCESS-KEY": this.bitget.$auth.api_key,
"ACCESS-SIGN": getSignResult,
"ACCESS-PASSPHRASE": this.bitget.$auth.secret_passphrase,
"ACCESS-TIMESTAMP": timestamp,
"locale": "en-US",
"Content-Type": "application/json"
}
})
},
})