Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Also, do you have enough brokers? You need at least 80 brokers for this mod to work well.
Finally, please read the boldfaced part of the Description above, which starts out by saying, " This version of the mod is now obsolete... " You really should use CookiStocker 2 instead, as it generates about an order of magnitude more profits per day.
Any further comments on this mod should be posted on the new mod page .
1. Version 1.6, which is the version released on Steam, uses a fairly basic trading algorithm based only on mode changes. This is the algorithm that is currently described in the CookiStocker Steam Guide ; I will be updating it when I update the Steam version of CookiStocker, which should be soon.
2. Version 2.0, which can be found in this pastebin [pastebin.com], is the latest complete version of CookiStocker. It uses an algorithm that takes into account not only mode changes, but short term changes that occur while the mode stays the same. It also fixes a number of bugs, such as the one Ziajowaty refers to. Finally, it handles boundary conditions intelligently, buying whenever a stock falls below $2, never selling when a stock is below $11, and being cautious about stocks selling for high prices.
3. Version 3.0, which is under development, uses a much more sophisticated stock trading algorithm. It treats the stock modes more as hints than as absolute descriptions, which better reflects reality. It puts a lot of weight into detecting patterns in mode changes that I have found after analyzing very large amounts of data, and it bases its trades on these patterns. It keeps the same boundary condition checking that is present in CookiStocker 2.0.
> restingPrice: 40+(i*5)
It gives me much better results than the default. This works best for buildings lv0-1, since I'm not sure how the average price rises with building levels.
While the variable name should change to averagePrice, since resting price is something else on the stock market, it doesn't matter for the average user trying to get the gaseous assets achievement.
Any idea when it will release (or it's expected release)?
I would also recommend against adding rules to CookiStocker right now, as the new version will make them all obsolete. You can follow the progress of the new version by reading (and possibly subscribing to) the discussions linked above, specifically the ones on "The Trading Algorithm" and "CookiStocker 2.0".
The problem is actually only with the line about selling. Note that this line omits the call to console.log, which is quite problematic.
I also found and posted the fix for another major bug in a March 4th post. This sounds like the same bug you mentioned in the last line of your first post.
As for your questions in your second post, I am currently involved in a major rewrite of the stock trading algorithm that takes into account every possible type of stock transition. Preliminary results are very positive, as my simulations show that the new algorithm buys and sells at the exact perfect points most of the time. When it doesn't, it corrects itself quickly, and losses are kept quite small. When this algorithm is finished, I expect that it will be possible to achieve Gaseous Assets in less that two days of play.
So if I wanted to add a rule to never buy unless current price is lower than 50, would this be correct?
&& (stockList.goods [i] .currentPrice < 50)
I commented out both of the console.log from buying and selling:
// if (stockerConsoleAnnouncements) console.log('=====$$$== Buying '+ stockList.goods .name);
// if (stockerConsoleAnnouncements) ('=====$$$== Selling '+ stockList.goods .name +' at a profit of ' + (stockList.goods .currentPrice - stockList.goods .priceBought).toFixed(2));
And added a limit on buying at 50% of resting price for buying:
(stockList.goods .currentPrice < (stockList.goods .restingPrice * 0.5 ))
For selling I kept it higher than resting price instead of last bought price
(stockList.goods .currentPrice > stockList.goods .restingPrice)
I plan to move the options into the standard Options menu with the release of CookiStocker 2.0, which I'm currently working on. You can find a list of all the features planned for this release in the CookiStocker 2.0 discussion, which is also linked above.
Losses such as you have reported are a bit on the high side, but not unexpected. The key is to run the minigame for long periods of time. If you do, you should get fairly steady returns of $1 to $2 million per day, and that's even without the bug fixes.
BTW, the new version of CookiStocker is currently averaging about 1.4 trades per minute. I don't have a release date for it, but I am actively working on it.
If you want to follow the development process more closely, I recommend subscribing to the Steam Guide devoted to this mod.
In the meantime, you can fix the problem of selling only at high prices (which is a bug) by applying the fix I posted in this thread on March 4th.
It buys stocks at rather high prices.
Instead of buying PBL at +110$ it should buy them when its less than 60$ no?
However, this can be easily fixed in CookiStocker. In the "buying" section of the code, right before the statement "stockList.sessionPurchases++;" (that's line 199 in the original file), insert the following:
if (StockAssistant ?? 0)
{
StockAssistant.stockData.goods .boughtVal = market .prev;
StockAssistant.buyGood(i);
}
Similarly, in the "selling" section of the code, right before the statement "stockList.sessionPurchases++;" (that's line 218 in the original file), insert the following:
if (StockAssistant ?? 0)
StockAssistant.sellGood(i);
(Note: you need to indent this code properly, as all indentation is removed in these comments.)
Once this is done, Stock Assistant will behave properly, exactly as before.
I tracked down this bug and found that it's actually a JavaScript implantation issue, which happens to coexist with a second bug that simply prevents some output from being sent to the console.
Continued below
stockList.goods .priceBought).toFixed(2)
needs to be replaced with
Beautify(market .boughtVal, 2)
It turns out that the built-in toFixed() method (which appears to be implemented as a macro) has the unintended consequence of setting the variable "i" to a random number. Since "i" is the loop index for the loop that processes each stock, this causes the loop to be broken as soon as one stock is sold. Making the above replacement fixes this problem and lets the mod sell as many stocks in one run as it needs to.
&& (stockList.goods .currentPrice > stockList.goods .restingPrice) // only if the price is higher than the price it was bought at
Note that despite what the comment says, the code is actually checking to see if the stock price is above the resting price - not the price at which it was bought. To make the code check the current price against the bought price, which is what the comment states and which is what makes sense, line 212 should read as follows:
&& (stockList.goods .currentPrice > stockList.goods .priceBought) // only if the price is higher than the price it was bought at
I would expect that this change would bring significantly better performance.