Eine kurze Anleitung und ein einfaches Arbeitsskript für das erste Spielen mit dem Bitburner Stock Market.
Der Anfang
Ich wusste nie viel über die Börse, außer, dass sie wie Glücksspiel ist, und ich bin einfach schrecklich im Glücksspiel – Ich scheine immer zu verlieren. Aber ich kam in meinem frühen Spiel an einen Punkt, an dem ich mehr als 3t für jede Erweiterung ausgegeben habe (Sie erhöhen sich exponentiell mit jedem Kauf, falls Sie es nicht wussten, noch) und ~3t war ungefähr alles, was ich jeden Tag mit Hacking verdienen konnte. Ich habe Zugriff auf 40 erweitert, also ich’Ich versuche, alles zu kaufen, was ich kann, damit ich diesen Erfolg auch erreichen kann. Mir wurde klar, dass es bei diesem Tempo ewig dauern würde, und angesichts der steigenden Kosten für jede Erweiterung stiegen auch die Kosten – Ich brauchte eine bessere Möglichkeit, Geld zu verdienen. Also beschloss ich, in Bitburner zu lernen, wie man an der Börse spielt, außerdem ist alles virtuell – Was kann ich verlieren?
Es stellt sich heraus, Die Börse ist nicht’Es ist nicht so sehr, als würde man in einem Casino spielen und sich auf die Karten oder Spielautomaten und sein Glück, zu gewinnen, verlassen. Der Markt ist wie ein Meeresufer mit seinen Höhen und Tiefen, die größtenteils mathematisch vorhergesagt werden können, um daraus Profit zu schlagen, Auf diese Weise verdienen Menschen und Unternehmen Geld an der Börse und damit’ist eigentlich erlaubt. Du kannst’Das gibt es in einem Casino nicht wirklich – Soweit ich gehört habe, könnte Ihnen das tatsächlich eine Menge Ärger einbringen. Informationen zu einer Aktie’Die Geschichte eines Unternehmens nennt man Marktdaten, die gekauft werden können, um Kauf- und Verkaufsstrategien mathematisch zu formulieren.
Die Grundlagen
Hier’Das sind die wahren Grundlagen von Ihnen’Ich muss es wissen:
Was ist eine Position??Eine Position ist die Menge an Aktien, die der Spieler für ein bestimmtes Unternehmen besitzt. Ein Spieler nimmt eine Position ein, wenn er über eine Kauforder einen Kauf tätigt. Offene Positionen können abhängig von Ihrem Fortschritt im Spiel entweder Long- oder Short-Positionen sein. Zunächst haben Sie nur Zugriff auf Long Stocks, aber später können Sie Short Stocks kaufen (viel später, so scheint es).
Was sind Long- und Short-Aktien??Unter Long-Positionen versteht man den Kauf einer Aktie in der Erwartung, dass der Wert steigt. Short-Positionen profitieren, wenn der Preis des zugrunde liegenden Wertpapiers fällt. Bei Short-Aktien handelt es sich häufig um Wertpapiere, die geliehen und dann verkauft werden, hoffentlich zu einem günstigeren Preis zurückgekauft werden.
Für weitere grundlegende Informationen, Konsultieren Sie die Spieldokumente Hier.
Der Bitburner-Aktienmarkt
Anfänglich, Sie gelangen über die Karte zur Börse – Alle Städte haben Zugriff darauf.
WSE-Konto –Kostet 200 Mio. und ist für den Zugang zur Börse erforderlich. Wenn Sie dies kaufen, wird die Börse zum linken Menü darunter hinzugefügt ‘Welt’.
Zugriff auf die TIX-API für Marktdaten –Der Zugriff auf die API-Funktionen, mit denen Sie Aktien kaufen/verkaufen und andere aktienbezogene Aufgaben erledigen können, kostet 5 Milliarden.
Vier Sigma (4S) Zugang zu Marktdaten – Kosten 1 Mrd. für den Zugriff auf 4S-Prognosedaten. Ich habe irgendwo gelesen, dass die Verwendung der 4S-Daten Ihren Gewinn um mehr steigert 60%. Das ist es, was wir jetzt brauchen.
Vier Sigma (4S) Markt-API-Zugriff –Der API-Zugriff kostet 25 Milliarden US-Dollar und ermöglicht die Nutzung der TIX-Funktionen, die 4S-Marktdatenzugriff erfordern.
Um damit anzufangen, Du’Wenn Sie es sich leisten können, möchten Sie einfach alle Marktzugangsartikel auf einmal kaufen. Bis dahin brauchen Sie die Börse, Sie sollten mit Hacking viel verdienen, was zunächst wichtiger ist (Mehr Hacking XP = mehr Server können gehackt werden = mehr $$ gewonnen und noch mehr Hacking-Erfahrung). Später, sobald Sie mehr darüber wissen, was Sie tun, Du’Ohne 4S-Datenzugriff und mit geringen Ressourcen muss alles noch einmal von vorne gemacht werden. Das Ziel besteht nun einfach darin, eine Menge Geld zu verdienen, um so viele Erstaufstockungen wie möglich zu kaufen und gleichzeitig zu lernen, wie der Aktienmarkt funktioniert. Erinnern, sobald Sie vergrößern, Du’Dann verlierst du dein ganzes Geld und musst von vorne anfangen, Daher ist Ihr gesamtes Geld zu diesem Zeitpunkt vollständig verfügbar und desto mehr geben Sie auf dem Markt aus, Je mehr du’Werde vom Markt verschwinden.
Der Codez
Nachdem ich das Internet nach verfügbaren Informationen durchsucht hatte, die ich finden konnte, Es ist mir gelungen, mit dem besten Code aus vielen verschiedenen Quellen und Autoren ein funktionierendes Skript zusammenzustellen, hauptsächlich Reddit (was notorisch unzuverlässig ist), habe sie auf Bitburner aktualisiert 2.0 und NS2-Syntax, Es wurden bereinigt oder weitere Kommentare hinzugefügt, damit man einfacher erkennen kann, was genau das Skript tut. Außerdem wurde die allgemeine Ausgabe nützlicher und mit einem korrekteren Zeitstempel versehen, sodass Sie sehen können, dass sie tatsächlich besser läuft. Der Zweck besteht darin, aus dem Skript zu lernen, also ich’Wir haben es so einfach und selbsterklärend wie möglich gehalten und dabei die ursprüngliche Mathematik und Logik beibehalten. ICH’Ich habe auch Formeln eines Datenwissenschaftlers für keinen 4S-Marktzugang gefunden, die angeblich funktionieren, aber ich’Das hebe ich mir für später auf, vielleicht eine fortgeschrittenere Anleitung. Ich habe den Short-Stocks-Code, den ich gefunden habe, belassen und ihn in eine Flagge verpackt, die Sie im Globals-Header umschalten können – Es ist ungetestet, seien Sie also vorsichtig, wenn Sie später damit spielen, wenn Sie Zugang zu Shorts haben.
Das Skript wird so viel Geld wie möglich verwenden, um so viele günstige Aktien auf einmal zu kaufen und so Gewinne zu erzielen. ICH’Ich habe gesehen, dass bei einem großen Marktboom bis zu 1 Quartal für den Kauf von Aktien aufgewendet wird. Ich hatte 40 t, als ich das Skript morgens zum ersten Mal startete, und schaffte es am Nachmittag auf 150 t, indem ich es einfach ständig laufen ließ. An diesem Punkt jetzt in meinem Schreiben, ICH’Habe gekauft 35 erweitert (nur 5 links zu gehen!) wobei sie jetzt jeweils etwa 45 qm kosten, und ich’Mit diesem Skript verdiene ich jetzt etwa 10q pro Tag. Es gibt einen Erfolg, um 2Q zu erreichen (Q nicht q), aber dieses Skript würde einfach zu lange dauern, Es wäre also mehr Börsenmagie in den Berechnungen oder ein anderer Betrug erforderlich. Beachten Sie, dass Sie den Markt auch durch Hacking/Wachstum beeinflussen können, Aktienkäufe und sogar die Arbeit für das Unternehmen, bei dem Sie Aktien haben. Also wirklich, Dieses Skript kratzt nur an der Oberfläche dessen, was Sie tatsächlich tun könnten, um noch mehr Geld zu verdienen.
Ich empfehle, dem Skript einfach ein paar Tage lang zuzuschauen. Verschaffen Sie sich ein gutes Gefühl für das Verhalten an der Börse – Es’S ‘Ebbe und Flut’. Denken Sie daran, Ihre Spieldatei zu speichern, bevor Sie beginnen, falls Probleme auftreten oder Sie einfach zurückgehen möchten. Sie sollten für alles Debug-Meldungen sehen und können weitere hinzufügen, wenn Sie genau sehen möchten, was vor sich geht. Auch, Beobachten Sie Ihre ‘Portfolio’ Im Börsenmenü können Sie sehen, wie viel Sie mit jeder Position aktuell und darunter verdient haben ‘Statistiken – Allgemein – Geld’ Sie können sehen, wie viel Geld Sie haben’Habe insgesamt an der Börse gemacht. Wenn Sie in Panik geraten, Töte einfach das Drehbuch und verkaufe alles, Du wirst nicht viel verlieren – nur größtenteils Provisionsgebühren.
Lagerbestand ->Wie viel Aktien Sie in der Position haben.
4S-Vorhersage ->Was die 4S für den nächsten Markt prognostizieren ‚Tick‘ für die Aktie.
Aktueller Aktienwert:Grundsätzlich, wie viel Geld Sie derzeit insgesamt in Aktien gebunden haben.
Aktuelles Vermögen:Was du jetzt eigentlich hast, Sollten Sie das Drehbuch beenden und alles verkaufen?. Also, Das ist eher dein Strom ‘Bank’ statt der Übersichtsanzeige Geld bzw ‘Gesamtwert’ mit allem, was an der Börse gebunden ist.
/** @param {NS} ns */ Asynchrone Funktion main exportieren(ns) { // Logging ns.disableLog('ALLE'); //ns.disableLog('schlafen'); //ns.disableLog('getServerMoneyAvailable'); ns.tail(); // Globals const scriptTimer = 2000; // Time script waits const moneyKeep = 1000000000; // Failsafe Money const stockBuyOver_Long = 0.60; // Kaufen Sie Aktien, wenn die Prognose darüber liegt % const stockBuyUnder_Short = 0.40; // Kaufen Sie Shorts, wenn die Prognose darunter liegt % const stockVolatility = 0.05; // Stocks must be under this volatility const minSharePercent = 5; const maxSharePercent = 1.00; const saleThreshold_Long = 0.55; // Sell Long when chance of increasing is under this const sellThreshold_Short = 0.40; // Sell Short when chance of increasing is under this const shortUnlock = false; // Auf „true“ setzen, wenn dem Spieler Short-Aktien zur Verfügung stehen // Functions function buyPositions(Aktie) { let position = ns.stock.getPosition(Aktie); let maxShares = (ns.stock.getMaxShares(Aktie) * maxSharePercent) - Position[0]; let maxSharesShort = (ns.stock.getMaxShares(Aktie) * maxSharePercent) - Position[2]; let askPrice = ns.stock.getAskPrice(Aktie); let Forecast = ns.stock.getForecast(Aktie); let volatilityPercent = ns.stock.getVolatility(Aktie); let playerMoney = ns.getPlayer().Geld; // Look for Long Stocks to buy if (forecast >= stockBuyOver_Long && volatilityPercent <= stockVolatility) { if (playerMoney - moneyKeep > ns.stock.getPurchaseCost(Aktie, minSharePercent, "Lang")) { lass Anteile = Math.min((SpielerGeld - MoneyKeep - 100000) / askPrice, maxShares); let buyFor = ns.stock.buyStock(Aktie, Aktien); Wenn (boughtFor > 0) { ns.print('Gekauft ' + Aktien + „Long-Aktien von“ + Aktie + ' für ' + ns.nFormat(gekauftFür, '$0,000a')); } } } // Look for Short Stocks to buy if (shortUnlock) { Wenn (Vorhersage <= stockBuyUnder_Short && volatilityPercent <= stockVolatility) { if (playerMoney - moneyKeep > ns.stock.getPurchaseCost(Aktie, minSharePercent, "Kurz")) { lass Anteile = Math.min((SpielerGeld - MoneyKeep - 100000) / askPrice, maxSharesShort); let buyFor = ns.stock.buyShort(Aktie, Aktien); Wenn (boughtFor > 0) { ns.print('Gekauft ' + Aktien + ' Short-Aktien von ' + Aktie + ' für ' + ns.nFormat(gekauftFür, '$0,000a')); } } } } } Funktion „sellIfOutsideThreshdold“.(Aktie) { let position = ns.stock.getPosition(Aktie); let Forecast = ns.stock.getForecast(Aktie); Wenn (Position[0] > 0) { ns.print(Aktie + ' 4S Forcast -> ' + Forecast.toFixed(2)); // Check if we need to sell Long stocks if (Vorhersage < sellThreshold_Long) { let soldFor = ns.stock.sellStock(stock, position[0]); ns.print('Sold ' + stock + ' Long shares of ' + stock + ' for ' + ns.nFormat(soldFor, '$0.000a')); } } if (shortUnlock) { if (position[2] > 0) { ns.print(Aktie + ' 4S Forcast -> ' + Forecast.toFixed(2)); // Check if we need to sell Short stocks if (forecast > sellThreshold_Short) { let soldFor = ns.stock.sellShort(Aktie, Position[2]); ns.print('Verkauft ' + Aktie + ' Short-Aktien von ' + Aktie + ' für ' + ns.nFormat(verkauftFür, '$0,000a')); } } } } // Main Loop while (WAHR) { // Get stocks in order of favorable forcast let orderedStocks = ns.stock.getSymbols().Sortieren(Funktion (A, B) { Rückkehr Math.abs(0.5 - ns.stock.getForecast(B)) - Mathe.abs(0.5 - ns.stock.getForecast(A)); }) let currentWorth = 0; ns.print("-------------------------------"); ns.print(„Aktuelle Foreasten:'); für (konstanter Bestand der bestellten Bestände) { const position = ns.stock.getPosition(Aktie); Wenn (Position[0] > 0 || Position[2] > 0) { ns.print(Aktie + ' Position -> ' + Position[0]); // Check if we need to sell sellIfOutsideThreshdold(Aktie); } // Check if we should buy buyPositions(Aktie); // Verfolgen Sie den aktuellen Gewinn im Laufe der Zeit.. Wenn (Position[0] > 0 || Position[2] > 0) { let longShares = position[0]; let longPrice = position[1]; let shortShares = position[2]; let shortPrice = position[3]; let bidPrice = ns.stock.getBidPrice(Aktie); // Calculate profit let profit = longShares * (bidPrice - longPrice) - (2 * 100000); let profitShort = shortShares * Mathe.abs(bidPrice - shortPrice) - (2 * 100000); // Calculate net worth currentWorth += profitShort + profitieren + (longShares * longPrice) + (shortShares * shortPrice); } } // Output Script Status ns.print(„Aktueller Aktienwert: ' + ns.nFormat(aktueller Wert, '$0,000a')); ns.print(„Aktuelles Vermögen: ' + ns.nFormat(aktueller Wert + ns.getPlayer().Geld, '$0,000a')); ns.print(neues Datum().toLocaleTimeString() + ' - Läuft...'); warte auf ns.sleep(scriptTimer); } }
Die Bugz
Es scheint einen Fehler in der von Netscript verwendeten Bibliothek „numeral.js“ zu geben, beim Formatieren vergangener Zahlen ‘T’, daher wird es nicht angezeigt ‘Q’. Dies ist im Bitburner-Quellcode vermerkt und der Entwickler hat eine eigene Funktion erstellt (formatReallyBigNumber) um q+-Werte in der Bitburner-Übersichtsanzeige korrekt anzuzeigen. Sie können die Funktionen selbst zum Skript hinzufügen, wenn Sie das wirklich stört, da ich das Skript einfach so einfach wie möglich halten wollte:
Auch, wenn das Skript kauft/verkauft, Sie sehen die Meldung kurz, verschwindet dann im Protokolltext. Es’ist immer noch da – Ich schaffe es, es wieder anzuzeigen, indem ich kurz an den Optionen und der Benutzeroberfläche herumfummele, daher vermute ich, dass es sich eher um einen Fehler in der Benutzeroberfläche als im Skript handelt, da ich sonst nichts erkennen kann, was im Skript fehlerhaft sein könnte. Vielleicht findet es jemand anderes heraus und postet einen Kommentar für eine mögliche Lösung.
Das ist alles, was wir heute dafür teilen Bitburner Führung. Dieser Leitfaden wurde ursprünglich erstellt und geschrieben von Zac Starfire. Für den Fall, dass wir diesen Leitfaden nicht aktualisieren können, Sie können das neueste Update finden, indem Sie diesem folgen Verknüpfung.