npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

moonstonks-boersenapi

v1.4.1

Published

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

Readme

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

| Attribut | Type | Beschreibung | | :-------- | :-------------- | :--------------------------------------------------------------------- | | id | string | eindeutige Order ID | | shareId | string | ID des gewählten Shares | | timestamp | number | Zeitstempel des Stellens der Order | | type | "buy" | "sell" | Ordertyp: Kauf- oder Verkaufsorder | | amount | number | Menge der zu kaufenden/verkaufenden Shares | | limit? | number | Limit zu dem man diese Order ausführen möchte; Wenn leer = Marketorder | | stop? | number | Grenze der Stop-Market Order |


Job

| Attribut | Type | Beschreibung | | :----------- | :------------- | :---------------------------------------------- | | id | string | eindeutige Job ID | | broker | Broker | Job Owner | | placeOrder? | PlaceOrderDto | Bündel der Daten für das Platzieren einer Order | | deleteOrder? | DeleteOrderDto | Bündel der Daten für das Löschen einer Order | | triggerId? | string | ID der Order, deren Stop erreicht wurde |


Share

| Attribut | Type | Beschreibung | | :-------- | :----- | :---------------------------------------- | | id | string | eindeutige Share ID | | name | string | Name des Shares | | color | string | Farbe zur Identifikation des Shares | | thumbnail | string | Bild/Grafik zur Identifikation des Shares | | price | number | aktueller Preis des Shares |


Price

| Attribut | Type | Beschreibung | | :-------- | :----- | :-------------------------------- | | timestamp | number | Zeitstempel des aktuellen Preises | | price | number | Höhe des aktuellen Preises |


PriceOptions

| Attribut | Type | Beschreibung | | :------- | :----- | :--------------------------------------------------- | | from? | number | Zeitstempel, ab dem die Preise ausgegeben werden | | until? | number | Zeitstempel, bis zu dem die Preise ausgegeben werden | | limit? | number | Begrenzt die Anzahl der Suchergebnisse |


Broker

| Attribut | Type | Beschreibung | | :---------- | :------------------------------------------------------- | :---------------------- | | type | 'private' | 'business' | 'simulation' | 'stockmarket' | Art des Brokers | | displayName | string | Anzeigename des Brokers |

DTOs

PlaceOrderDto

| Attribut | Type | Beschreibung | | :--------- | :-------------- | :--------------------------------------------------------------------- | | shareId | string | Id des gewählten Shares | | amount | number | Menge der zu handelnden Shares dieser Order | | onPlace | string | aufgerufener Endpunkt vom Broker, wenn Order platziert wird | | onMatch | string | aufgerufener Endpunkt vom Broker, wenn Order gematcht wird | | onComplete | string | aufgerufener Endpunkt vom Brokert, wenn Order ausgeführt | | onDelete | string | aufgerufener Endpunkt vom Broker, wenn Order gelöscht wird | | type | 'buy' | 'sell' | Ordertyp: Kauf- oder Verkaufsorder | | limit? | number | Limit zu dem man diese Order ausführen möchte, wenn leer = Marketorder | | stop? | number | Grenze der Order |

UnqueueJobDto

| Attribut | Type | Beschreibung | | :------- | :----- | :---------------- | | jobId | string | eindeutige Job ID |


DeleteOrderDto

| Attribut | Type | Beschreibung | | :------- | :----- | :------------------ | | orderId | string | eindeutige Order ID |


OrderCompletedDto

| Attribut | Type | Beschreibung | | :------- | :----- | :------------------ | | orderId | string | eindeutige Order ID | | timestamp | number | Zeitstempel, wann die Order erfüllt wurde |


OrderDeletedDto

| Attribut | Type | Beschreibung | | :------- | :----- | :------------------ | | orderId | string | eindeutige Order ID | | timestamp | number | Zeitstempel, wann die Order gelöscht wurde | | remaining | number | Menge der übrig gebliebenen Shares |


OrderMatchedDto

| Attribut | Type | Beschreibung | | :------- | :----- | :------------------ | | orderId | string | eindeutige Order ID | | timestamp | number | Zeitstempel, wann die Order gematched wurde | | amount | number | Menge der Shares, die gematched wurden | | remaining | number | Menge der ürbig gebliebenen Shares nach dem Match | | price | number | Preis, zu dem die Order gematched wurde |


// TBC..