Краткое руководство и простой рабочий скрипт для первоначальной игры на фондовом рынке Bitburner..
Начало
Я никогда особо ничего не знал о фондовом рынке, кроме того, что это похоже на азартные игры, а я просто ужасно играю в азартные игры. – Кажется, я всегда проигрываю. Но в начале игры я дошёл до того, что тратил ~3т+ на каждое улучшение. (они увеличиваются в геометрической прогрессии с каждой покупкой, на случай, если ты не знал, еще) и ~3 это было почти все, что я мог заработать каждый выходной на хакерстве. у меня есть доступ к 40 увеличивает, так что я’Я пытаюсь купить все, что смогу, чтобы получить и это достижение.. Понимая, что такими темпами это займет целую вечность, и учитывая, что стоимость каждого улучшения также растет. – Мне нужен был лучший способ заработать деньги. Поэтому я решил узнать, как играть на фондовом рынке в Bitburner., к тому же это все виртуально – что я могу потерять?
Оказывается, фондовый рынок не’это все равно, что играть в казино и полагаться на карты или игровые автоматы и свою удачу, чтобы выиграть. Рынок подобен берегу океана с его приливами и отливами, которые в большинстве случаев можно предсказать математически, чтобы извлечь из них выгоду., именно так люди и корпорации зарабатывают деньги на фондовом рынке, и это’на самом деле это разрешено. Ты можешь’в казино этого делать нельзя – насколько я слышал, это может доставить тебе массу неприятностей. Информация об акции’история называется рыночными данными, которые можно приобрести, чтобы математически сформулировать стратегии покупки и продажи..
Самые основы
Здесь’это настоящие основы, которые ты’мне нужно знать:
Что такое позиция?Позиция — это количество акций, которыми владеет игрок данной корпорации.. Игрок занимает позицию, когда он совершает покупку посредством ордера на покупку.. Открытые позиции могут быть длинными или короткими в зависимости от вашего прогресса в игре.. Изначально у вас есть доступ только к длинным акциям., но позже вы сможете приобрести короткие акции (гораздо позже, кажется).
Что такое длинные и короткие акции?Длинные позиции относятся к покупке акций с ожиданием увеличения их стоимости.. Короткие позиции приносят прибыль, когда базовая ценная бумага падает в цене.. Короткие акции часто включают в себя ценные бумаги, которые берутся взаймы, а затем продаются., будет выкуплен, надеюсь, по более низкой цене.
Для получения более базовой информации, обратитесь к документации игры здесь.
Фондовый рынок Bitburner
Изначально, вы заходите на фондовый рынок через карту – все города имеют доступ к нему.
Счет на ВФБ –Стоит 200 миллионов и требуется для доступа к фондовому рынку.. Покупка этого добавит Фондовый рынок в левое меню под ‘Мир’.
Доступ к API TIX рыночных данных –Доступ к функциям API, которые позволят вам покупать/продавать акции и выполнять другие задачи, связанные с акциями, стоит 5 миллиардов долларов..
Четыре Сигмы (4С) Доступ к рыночным данным – Доступ к данным прогнозов 4S стоит 1b.. Я где-то читал, что использование данных 4S увеличит вашу прибыль на 60%. Это то, что нам нужно прямо сейчас.
Четыре Сигмы (4С) Доступ к API рынка –Доступ к API стоит 25 миллиардов долларов, что позволяет использовать функции TIX, требующие доступа к рыночным данным 4S..
Для начала, ты’Я хочу просто купить все вещи для доступа к рынку сразу, когда ты сможешь себе это позволить.. К тому времени, когда вам понадобится фондовый рынок, ты должен много зарабатывать на хакерстве, что важнее изначально (Больше опыта взлома = больше серверов можно взломать = больше $$ получил и еще больше хакерского опыта). Позже, как только ты узнаешь больше о том, что делаешь, ты’придется делать все это заново без доступа к данным 4S и небольших ресурсов.. Итак, цель сейчас состоит в том, чтобы просто заработать кучу денег, чтобы купить как можно больше начальных дополнений, одновременно изучая, как работает фондовый рынок.. Помнить, как только ты увеличишь, ты’потеряешь все свои деньги и придется начинать все сначала, так что все ваши деньги на данный момент полностью одноразовые и чем больше вы тратите на рынке, чем больше ты’уйду с рынка.
Кодекс
Порывшись в Интернете в поисках любой доступной информации, я смог найти, Мне удалось собрать рабочий скрипт, используя лучший код из разных источников и авторов., в основном Реддит (который заведомо ненадежен), обновил их до Bitburner 2.0 и синтаксис NS2, очищены или добавлены дополнительные комментарии, чтобы было легче увидеть, что именно делает скрипт, а общий вывод стал более полезным и с более правильной меткой времени, чтобы вы могли видеть, что он действительно работает лучше.. Цель состоит в том, чтобы учиться на скрипте., так что я’Мы сделали его максимально простым и понятным, сохранив при этом исходную математику и логику.. я’Я также нашел формулы от специалиста по обработке данных для отсутствия доступа к рынку 4S, которые утверждают, что работают., но я’оставлю это на потом, возможно, более продвинутое руководство. Я оставил короткий код акций, который нашел, и обернул его флагом, который вы можете переключить в заголовке Globals. – он не проверен, поэтому будьте осторожны, если поиграете с ним позже, когда у вас будет доступ к короткометражкам..
Скрипт будет использовать как можно больше денег, чтобы купить как можно больше выгодных акций одновременно и получить прибыль.. я’Я видел, как он тратил целых 1 квартал на покупку акций во время огромного рыночного бума.. У меня было 40 т, когда я впервые запустил сценарий утром, а к обеду я заработал 150 т, просто позволяя ему работать постоянно.. На данный момент в моем письме, я’я купил 35 увеличивает (только 5 осталось идти!) теперь они стоят ~45 центов каждый и я’с помощью этого скрипта я зарабатываю около 10 центов в день. Есть достижение сделать 2 квартал (Q не Q), но этот сценарий займет слишком много времени, так что потребуется больше биржевой магии в расчетах или какой-нибудь другой обман. Обратите внимание, что вы также можете влиять на рынок путем взлома/роста., покупка акций и даже работа в компании, в которой у вас есть акции. Так что действительно, этот сценарий лишь затрагивает поверхность того, что вы на самом деле можете сделать, чтобы заработать еще больше денег..
Я рекомендую просто посмотреть выполнение скрипта в течение нескольких дней.. Получите хорошее представление о поведении фондового рынка – это’с ‘приливы и отливы’. Не забудьте сохранить файл игры перед началом на случай возникновения проблем или просто желания вернуться назад.. Вы должны видеть сообщения отладки для всего, и вы можете добавить больше, если хотите точно видеть, что происходит.. Также, наблюдаю за твоим ‘портфель’ В меню фондового рынка вы можете увидеть, сколько каждая позиция принесла вам в данный момент и в будущем. ‘Статистика – Общий – Деньги’ ты можешь увидеть, сколько у тебя денег’В целом я заработал на фондовом рынке. Если вы паникуете, просто убей скрипт и продай всё, ты не потеряешь много – просто в основном комиссионные.
Позиция на складе ->Сколько акций у вас в позиции.
4S Прогноз ->Каков прогноз 4S на следующем рынке?’ для акций.
Текущая стоимость акций:По сути, сколько денег вы сейчас вложили в акции.
Текущая чистая стоимость:Что у тебя есть на самом деле сейчас, стоит ли тебе убить сценарий и продать все. Так, это больше твой текущий момент ‘банк’ вместо обзора отображать деньги или ‘общая стоимость’ со всем, что связано с фондовым рынком.
/** @парам {НС} нс */ экспортировать асинхронную функцию main(нс) { // Logging ns.disableLog('ВСЕ'); //ns.disableLog('спать'); //ns.disableLog('getServerMoneyAvailable'); нс.хвост(); // Globals const scriptTimer = 2000; // Time script waits const moneyKeep = 1000000000; // Failsafe Money const stockBuyOver_Long = 0.60; // Покупайте акции, когда прогноз закончится. % const stockBuyUnder_Short = 0.40; // Покупайте шорты, когда прогноз ниже этого % const stockVolatility = 0.05; // Stocks must be under this volatility const minSharePercent = 5; const maxSharePercent = 1.00; const SellThreshold_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; // Установите true, когда игроку доступны короткие акции. // Functions function buyPositions(запас) { пусть позиция = ns.stock.getPosition(запас); пусть maxShares = (ns.stock.getMaxShares(запас) * МаксSharePercent) - позиция[0]; пусть maxSharesShort = (ns.stock.getMaxShares(запас) * МаксSharePercent) - позиция[2]; пусть AskPrice = ns.stock.getAskPrice(запас); пусть прогноз = ns.stock.getForecast(запас); пусть volatilityPercent = ns.stock.getVolatility(запас); пусть playerMoney = ns.getPlayer().деньги; // Look for Long Stocks to buy if (forecast >= stockBuyOver_Long && volatilityPercent <= stockVolatility) { if (playerMoney - moneyKeep > ns.stock.getPurchaseCost(запас, минSharePercent, "Длинный")) { пусть акции = Math.min((игрокДеньги - деньгиДержать - 100000) / спроситьЦена, maxShares); пусть buyFor = ns.stock.buyStock(запас, акции); если (boughtFor > 0) { нс.принт('Купил ' + акции + «Длинные акции» + запас + ' для ' + ns.nFormat(купилДля, «0,000 долларов США»)); } } } // Look for Short Stocks to buy if (Короткая разблокировка) { если (прогноз <= stockBuyUnder_Short && volatilityPercent <= stockVolatility) { if (playerMoney - moneyKeep > ns.stock.getPurchaseCost(запас, минSharePercent, "Короткий")) { пусть акции = Math.min((игрокДеньги - деньгиДержать - 100000) / спроситьЦена, maxSharesShort); пусть buyFor = ns.stock.buyShort(запас, акции); если (boughtFor > 0) { нс.принт('Купил ' + акции + «Короткие акции» + запас + ' для ' + ns.nFormat(купилДля, «0,000 долларов США»)); } } } } } функция SellIfOutsideThreshdold(запас) { пусть позиция = ns.stock.getPosition(запас); пусть прогноз = ns.stock.getForecast(запас); если (позиция[0] > 0) { нс.принт(запас + ' 4S Forcast -> ' + прогноз.toFixed(2)); // Check if we need to sell Long stocks if (прогноз < 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) { нс.принт(запас + ' 4S Forcast -> ' + прогноз.toFixed(2)); // Check if we need to sell Short stocks if (forecast > sellThreshold_Short) { пусть продано = ns.stock.sellShort(запас, позиция[2]); нс.принт('Продал ' + запас + «Короткие акции» + запас + ' для ' + ns.nFormat(проданоДля, «0,000 долларов США»)); } } } } // Main Loop while (истинный) { // Get stocks in order of favorable forcast let orderedStocks = ns.stock.getSymbols().сортировать(функция (а, б) { вернуть Math.abs(0.5 - ns.stock.getForecast(б)) - Math.abs(0.5 - ns.stock.getForecast(а)); }) пусть текущая стоимость = 0; нс.принт("-------------------------------"); нс.принт('Текущие прогнозы:'); для (постоянный запас заказанных запасов) { константная позиция = ns.stock.getPosition(запас); если (позиция[0] > 0 || позиция[2] > 0) { нс.принт(запас + ' Position -> ' + позиция[0]); // Check if we need to sell sellIfOutsideThreshdold(запас); } // Check if we should buy buyPositions(запас); // Отслеживайте текущую прибыль с течением времени.. если (позиция[0] > 0 || позиция[2] > 0) { пусть longShares = позиция[0]; пусть longPrice = позиция[1]; пусть shortShares = позиция[2]; пусть короткая цена = позиция[3]; пусть bidPrice = ns.stock.getBidPrice(запас); // Calculate profit let profit = longShares * (цена предложения - длинная цена) - (2 * 100000); letprofitShort = shortShares * Math.abs(цена предложения - короткая цена) - (2 * 100000); // Calculate net worth currentWorth += profitShort + выгода + (длинные акции * длинная цена) + (короткие акции * короткая цена); } } // Output Script Status ns.print(«Текущая стоимость акций: ' + ns.nFormat(текущая стоимость, «0,000 долларов США»)); нс.принт(«Текущая чистая стоимость: ' + ns.nFormat(текущая стоимость + ns.getPlayer().деньги, «0,000 долларов США»)); нс.принт(новая дата().toLocaleTimeString() + ' - Бег...'); жду нс.сон(скрипттаймер); } }
Багз
Кажется, существует ошибка в библиотеке numeral.js, используемой Netscript., при форматировании чисел мимо ‘т’, поэтому он не отображается ‘д’. Это отмечено в исходном коде Bitburner и разработчик создал свою функцию (форматReallyBigNumber) для правильного отображения значений q+ на экране обзора Bitburner. Вы можете добавить функции в скрипт самостоятельно, если это вас действительно беспокоит, потому что я хотел сделать скрипт максимально простым.:
Также, когда скрипт покупает/продает, вы видите сообщение на короткое время, затем исчезает в тексте журнала. Это’он все еще там – Я могу заставить его снова отобразиться, кратко поиграв с параметрами и пользовательским интерфейсом, поэтому я подозреваю, что это ошибка пользовательского интерфейса, а не сценария, потому что я не вижу в сценарии ничего другого, что могло бы быть неправильным.. Возможно, кто-то еще поймет это и оставит комментарий для возможного исправления..
Это все, чем мы делимся сегодня для этого. Битбернер гид. Это руководство было первоначально создано и написано Зак Старфайр. На случай, если нам не удастся обновить это руководство, вы можете найти последнее обновление, следуя этому связь.