1.4.1 • Published 3 years ago

moonstonks-boersenapi v1.4.1

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

MoonStonks Börsen API

Offizielle API der MoonStonks Börse, um jegliche Art von Order zu stellen.

Installation

npm install moonstonks-boersenapi

oder

yarn add moonstonks-boersenapi

Setup

import { BörsenAPI } from 'moonstonks-boersenapi';

public api = new BörsenAPI('moonstonks token')

Eine Order stellen

Es gibt viele verschiedene Orders, diese können je nach bedarf dynamisch oder statisch gestellt werden. Hierzu gibt es mehrere Methoden, welche über unsere BörsenAPI erreichbar sind.

import { OrderManager } from "moonstonks-boersenapi";

public orderManager = new OrderManager(api, 'onPlace' 'onMatch', 'onComplete', 'onDelete')

Eine Buy Market Order stellen

async function placeBuyMarketOrder(shareId: string, amount: number): Promise<Job>;
orderManager
  .placeBuyMarketOrder('shareId', 20)
  .then((job) => console.log('Job', job))
  .catch((error) => console.error(error));

Eine Buy Limit Order stellen

async function placeBuyLimitOrder(shareId: string, amount: number, limit: number): Promise<Job>;
orderManager
  .placeBuyLimitOrder('shareId', 20, 200)
  .then((job) => console.log('Job', job))
  .catch((error) => console.error(error));

Eine Buy Stop Market Order stellen

async function placeBuyStopMarketOrder(shareId: string, amount: number, stop: number): Promise<Job>;
orderManager
  .placeBuyStopMarketOrder('shareId', 20, 200, 300)
  .then((job) => console.log('Job', job))
  .catch((error) => console.error(error));

Eine Buy Stop Limit Order stellen

async function placeBuyStopLimitOrder(shareId: string, amount: number, limit: number, stop: number): Promise<Job>;
orderManager
  .placeBuyStopLimitOrder('shareId', 20, 200, 350)
  .then((job) => console.log('Job', job))
  .catch((error) => console.error(error));

Eine Sell Market Order stellen

async function placeSellMarketOrder(shareId: string, amount: number): Promise<Job>;
orderManager
  .placeSellMarketOrder('shareId', 20)
  .then((job) => console.log('Job', job))
  .catch((error) => console.error(error));

Eine Sell Limit Order stellen

async function placeSellLimitOrder(shareId: string, amount: number, limit: number): Promise<Job>;
orderManager
  .placeSellLimitOrder('shareId', 20, 200)
  .then((job) => console.log('Job', job))
  .catch((error) => console.error(error));

Eine Sell Stop Market Order stellen

async function placeSellStopMarketOrder(shareId: string, amount: number, stop: number): Promise<Job>;
orderManager
  .placeSellStopMarketOrder('shareId', 20, 200, 300)
  .then((job) => console.log('Job', job))
  .catch((error) => console.error(error));

Eine Sell Stop Limit Order stellen

async function placeSellStopLimitOrder(shareId: string, amount: number, limit: number, stop: number): Promise<Job>;
orderManager
  .placeSellStopLimitOrder('shareId', 20, 200, 350)
  .then((job) => console.log('Job', job))
  .catch((error) => console.error(error));

Eine Order verwalten

Eine Order abfragen

async function getOrder(orderId: string): Promise<Order>;
orderManager
  .getOrder('orderId')
  .then((order) => console.log('Order', order))
  .catch((error) => console.error(error));

Eine Order löschen

async function deleteOrder(orderId: string): Promise<Job>;
orderManager
  .deleteOrder('orderId')
  .then((job) => console.log('Job', job))
  .catch((error) => console.error(error));

Einen Job löschen

async function deleteJob(jobId: string): Promise<boolean>;
const deleted = await orderManager.deleteJob('jobId');

Shares

Shares sind items, welche in der MoonStonks Börse gehandelt werden können. Hierzu stellt die Börse verschiedene Methoden zur Verfügung, um Informationen wie den aktuellen Kurs, die Preisentwicklung und andere abzurufen.

import { ShareManager } from 'moonstonks-boersenapi';

Alle handelbaren Items abrufen

static async function getShares(): Promise<Share[]>;
ShareManager.getShares();

Den aktuellen Kurs eines items erhalten

static async function getPrice(shareId: string): Promise<number>;
ShareManager.getPrice('shareId');

Die Preisentwicklung abrufen

static async function getPrices(shareId: string, options?: PriceOptions): Promise<Price[]>;
ShareManager.getPrices('shareId');
ShareManager.getPrices('shareId', { limit: 10 });
ShareManager.getPrices('shareId', { from: 1616751375000 });
ShareManager.getPrices('shareId', { until: 1616841375000 });
ShareManager.getPrices('shareId', { from: 1616751375000, until: 1616841375000 });
ShareManager.getPrices('shareId', { from: 1616751375000, until: 1616841375000, limit: 10 });

Market

import { MarketManager } from 'moonstonks-api';

Prüfen, ob der Market gerade geöffnet ist

static async function isOpen(): Promise<boolean>;
MarketManager.isOpen();

Prüfen, ob der Market gerade geschlossen ist

static async function isClosed(): Promise<boolean>;
MarketManager.isClosed();

Den aktuellen Status des Markets abrufen

static async function getStatus(): Promise<string>;
MarketManager.getStatus();

Datenmodelle

Order

AttributTypeBeschreibung
idstringeindeutige Order ID
shareIdstringID des gewählten Shares
timestampnumberZeitstempel des Stellens der Order
type"buy" | "sell"Ordertyp: Kauf- oder Verkaufsorder
amountnumberMenge der zu kaufenden/verkaufenden Shares
limit?numberLimit zu dem man diese Order ausführen möchte; Wenn leer = Marketorder
stop?numberGrenze der Stop-Market Order

Job

AttributTypeBeschreibung
idstringeindeutige Job ID
brokerBrokerJob Owner
placeOrder?PlaceOrderDtoBündel der Daten für das Platzieren einer Order
deleteOrder?DeleteOrderDtoBündel der Daten für das Löschen einer Order
triggerId?stringID der Order, deren Stop erreicht wurde

Share

AttributTypeBeschreibung
idstringeindeutige Share ID
namestringName des Shares
colorstringFarbe zur Identifikation des Shares
thumbnailstringBild/Grafik zur Identifikation des Shares
pricenumberaktueller Preis des Shares

Price

AttributTypeBeschreibung
timestampnumberZeitstempel des aktuellen Preises
pricenumberHöhe des aktuellen Preises

PriceOptions

AttributTypeBeschreibung
from?numberZeitstempel, ab dem die Preise ausgegeben werden
until?numberZeitstempel, bis zu dem die Preise ausgegeben werden
limit?numberBegrenzt die Anzahl der Suchergebnisse

Broker

AttributTypeBeschreibung
type'private' | 'business' | 'simulation' | 'stockmarket'Art des Brokers
displayNamestringAnzeigename des Brokers

DTOs

PlaceOrderDto

AttributTypeBeschreibung
shareIdstringId des gewählten Shares
amountnumberMenge der zu handelnden Shares dieser Order
onPlacestringaufgerufener Endpunkt vom Broker, wenn Order platziert wird
onMatchstringaufgerufener Endpunkt vom Broker, wenn Order gematcht wird
onCompletestringaufgerufener Endpunkt vom Brokert, wenn Order ausgeführt
onDeletestringaufgerufener Endpunkt vom Broker, wenn Order gelöscht wird
type'buy' | 'sell'Ordertyp: Kauf- oder Verkaufsorder
limit?numberLimit zu dem man diese Order ausführen möchte, wenn leer = Marketorder
stop?numberGrenze der Order

UnqueueJobDto

AttributTypeBeschreibung
jobIdstringeindeutige Job ID

DeleteOrderDto

AttributTypeBeschreibung
orderIdstringeindeutige Order ID

OrderCompletedDto

AttributTypeBeschreibung
orderIdstringeindeutige Order ID
timestampnumberZeitstempel, wann die Order erfüllt wurde

OrderDeletedDto

AttributTypeBeschreibung
orderIdstringeindeutige Order ID
timestampnumberZeitstempel, wann die Order gelöscht wurde
remainingnumberMenge der übrig gebliebenen Shares

OrderMatchedDto

AttributTypeBeschreibung
orderIdstringeindeutige Order ID
timestampnumberZeitstempel, wann die Order gematched wurde
amountnumberMenge der Shares, die gematched wurden
remainingnumberMenge der ürbig gebliebenen Shares nach dem Match
pricenumberPreis, zu dem die Order gematched wurde

// TBC..

1.4.1

3 years ago

1.4.0

3 years ago

1.3.3

3 years ago

1.3.2

3 years ago

1.2.4

3 years ago

1.3.1

3 years ago

1.3.0

3 years ago

1.2.3

3 years ago

1.2.2

3 years ago

1.2.1

3 years ago

1.2.0

3 years ago

1.1.0

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago