Title: Profitability Mining, or mining the most profitable crypto-coin, using CGWatcher Post by: milone on July 08, 2013, 03:44:31 AM Profitability Mining is mining whatever crypto-coin is most profitable at any given time based on how much it is worth in Bitcoins. This is not a new concept and has been in practice since the first alt-coin appeared. I did not come up with the idea, I just made it easier to do in CGWatcher. I realize Profitability Mining may not be the best name for it, as even mining one coin is done in hopes of being profitable. But I have to refer to it as something other than "switching coins often based on current profitability at the time of the switch". CGWatcher 1.2.0 introduces profitability mining, the second most requested feature behind CGRemote (coming soon). This post will explain how this works, and how the Scheduled Actions used to control profitability mining work. Scheduled Actions The previous scheduling feature in CGWatcher provided a basic "start miner" and "stop miner" option, and meant that the scheduled mining would have to occur on the set days at the set times every week. I didn't want to just duplicate this feature a few times, and instead wanted to allow for unlimited control of scheduling the miner to perform a variety of actions. I think the Scheduled Actions (similar to Window's Scheduled Tasks but named differently to avoid confusion) provide that and allow for additional actions to be easily added in the future. They allow you to fine-tune what your miner does and when it does it, down to the exact. The Scheduled Actions you create are displayed in the Schedule tab. They are sorted to display all enabled actions first, in chronological order of when they will next run. Disabled actions are displayed last. Each action has an enable/disable checkbox, Edit button, and Delete button. Click Add Scheduled Action... to create a new action. The actions available at introduction are:
When creating a scheduled action, think of creating a sentence instructing CGWatcher of what you want it to do. As you select one option, other available options may be changed or filtered. After the action drop-down, the next field is the "value". For the Change Intensity action, this is the intensity you want to change to. For the Switch Profile action, a drop-down list of your profiles allows you to select which profile to switch to. There are some additional options at the bottom of this list related to profitability, which I'll go into more below. The next option in the "sentence" you're creating is the frequency drop-down list. You can choose to have the action run daily, on a specific day, weekdays, or weekends. Using any of these options will lastly display a time option at which to start the action. The frequency drop-down also contains an Every... option, that when used changes the time option to a textbox where you can enter a number of hours at which to trigger the action. You can use a decimal if you wish to run the action at less-than-one-hour intervals. You can create scheduled actions that run at the exact same time, but if you want to ensure one runs before another you should add at least one second to the one you want to run last because they are ran in order of the time you set. If you schedule a Start Mining action to run at 3:00:00 PM and a Change Intensity action to run at 3:00:01 PM, the Change Intensity action will run once the Start Mining action has completed (which takes more than one second), so you do not have to worry about timing actions depending on what they do. When using Every... N hour(s) actions, the timer for each of these actions begins when CGWatcher is started. So creating an action to run every 4 hours would run first 4 hours after CGWatcher was started. Then it will run 4 hours after that, and so on. However, if you either edit an action or enable a disabled action, the timer's start time for it is reset. If you move your mouse over a scheduled action in the Schedule tab, a tooltip will display the next time that action is set to run. (This only applies to enabled actions.) Profitability Mining So when using CGWatcher, profitability mining is using scheduled actions to automatically switch to mine the most profitable coin that you've setup to mine. It works by checking the current profitability of the various crypto-coins, and then switching to the profile with the most profitable coin. This means that you'll want to create a separate profile for each coin that you mine, and assign a coin to each profile in Profile Manager. If you do not assign a coin to a profile, the profile is ignored when determining which profile is most profitable. The Profile Manager now includes a drop-down list to select the coin to associate to that profile. The coin data is collected from http://www.coinchoose.com, so new coins added to the website will become available in CGWatcher after the coin data is refreshed. CGWatcher also uses the data from coinchoose to determine profile profitability. You'll need to assign a coin to at least two profiles in order for profitability mining to work. Otherwise if you did not assign a coin to any profiles, it would be unable to determine which is most profitable; and if you assign a coin to only one profile, that profile would always be the most profitable because there is nothing else to compare it to. You can check profitability at any time by clicking an Other Tools... button and then selecting Profitability from the menu. There is also a Profitability button in the Settings tab. These open the Coin Profitability window, which displays current profitability data from coinchoose, along with some other information about each coin like hashing algorithm, difficulty, network hashrate, best price, and which exchange is currently offering the best price. In the Coin Profitability window, you can sort columns by clicking on the column header cell once to sort ascending, then again to sort descending. There are three columns relating to the coin profitability. The first, "Profitability", is the current profitability compared to Bitcoin. If profitability is 200%, mining that coin will earn you twice as many Bitcoins as mining Bitcoin itself. Obviously this value can change at any time, and you would need to convert the mined coins to Bitcoin immediately in order to preserve this increase. If you hold the coin and decide to convert to Bitcoins the next day when the coin's profitability is only at 50%, you've now lost the additional coins you made by profitability mining. Likewise, there is the possibility that holding the coins allows you to convert when the profitability is even higher, so it is a gamble. Yes, there are miners who are not interested in converting everything to Bitcoin. But that is an essential part of profitability mining, since all profitability is based on Bitcoin. The second column is "Adjusted Profitability". This value has been adjusted for stales and is intended to give a more accurate estimate of profitability. The third column is "Average Profitability", which is based on a 7-day average. This is useful if you are looking to mine something more continuously instead of jumping on whatever happens to be most profitable every couple hours. So back in the Scheduled Action window, you'll see that if you select the Switch Profile action, there are three profitability options in the profiles drop-down list matching the three columns: {Most profitable}, {Most profitable - adjusted}, and {Most profitable - average}. Selecting one of these tells CGWatcher which profitability value you want it to use when determining which profile of yours is most profitable before switching to that profile. By default, CGWatcher updates coin profitability data every 15 minutes. You can change this by editing the CoinRefreshInterval value in the [CGWatcher] section of the INI file. The minimum value is 5 minutes, and the maximum is 1380 (or 23 hours). When a scheduled action is triggered that switches profiles to most profitable, CGWatcher checks if the coin data has been refreshed in the past 15 minutes and if it hasn't, it attempts to refresh it to ensure it is selecting the current most profitable. If that refresh should fail and CGWatcher finds that the coin profitability data has not been updated in the past 24 hours, it cancels the action (which is why the maximum refresh interval is 23 hours.) Some example scheduled actions: Code: [Switch Profile] to [{Most Profitable}] [Every...] [8] hour(s) Things to Think About I'm not suggesting you should or shouldn't mine based on profitability. I've provided the tools to do it because it has been one of the most requested features. There are some things you should keep in mind when deciding whether profitability mining is right for you:
If you're not already using CGWatcher, you can find more info and download here: http://manotechnology.blogspot.com/p/cgwatcher.html Title: Re: Profitability Mining, or mining the most profitable crypto-coin, using CGWatcher Post by: Online24o0n on July 08, 2013, 03:47:24 AM You are only destroying actual Good coins out there, this is just making noobs believe which coin is the best and all the hash power is turned away from truly innovative and well backed coins onto shit coins, then it dies and they move to the next... This is just one big pump and dump tool.
Title: Re: Profitability Mining, or mining the most profitable crypto-coin, using CGWatcher Post by: Eli0t on July 08, 2013, 03:54:02 AM You are only destroying actual Good coins out there, this is just making noobs believe which coin is the best and all the hash power is turned away from truly innovative and well backed coins onto shit coins, then it dies and they move to the next... This is just one big pump and dump tool. you can already do the same thing with coinchoose and a handful of batsproviding a nice UI and requested features is the best way an app evolves saying the author is destroying good coins is nonsense, no coins were destroyed in the making of this app Title: Re: Profitability Mining, or mining the most profitable crypto-coin, using CGWatcher Post by: milone on July 08, 2013, 04:01:19 AM You are only destroying actual Good coins out there, this is just making noobs believe which coin is the best and all the hash power is turned away from truly innovative and well backed coins onto shit coins, then it dies and they move to the next... This is just one big pump and dump tool. I've addressed this at the bottom of the post, but with how quickly you replied I expect you probably didn't read it all. The chances of CGWatcher having a noticeable impact on any particular coin are doubtful for the reasons I mentioned. Regardless of how I feel about it, it is something many users have asked for. I personally question whether or not it would actually end up being more profitable and I stated this. If you don't convert to bitcoins while the coin you mined is still more profitable, you risk losing any gains and could even end up with less than if you had just mined Bitcoins. And there are miners doing this with or without CGWatcher, like those using cryptoswitcher or their own automated method of switching. Title: Re: Profitability Mining, or mining the most profitable crypto-coin, using CGWatcher Post by: 12gaFacelift on July 08, 2013, 08:52:26 PM Maybe i dont see the option or something but when i stop the miner the fan stay ON to the maximum(in my case its 80%).
Title: Re: Profitability Mining, or mining the most profitable crypto-coin, using CGWatcher Post by: captainfuture on July 08, 2013, 08:56:44 PM thats a great app and i love it!
u dont have to use the coinswitching schedules. u can also use it to switch between 2 or 3 coins u like and u think that have a future. with this app i reduced my downtime and thats a good thing for all of us. Thanx milone for your great work! Title: Re: Profitability Mining, or mining the most profitable crypto-coin, using CGWatcher Post by: milone on July 08, 2013, 10:03:31 PM Maybe i dont see the option or something but when i stop the miner the fan stay ON to the maximum(in my case its 80%). Are you using a .bat or .cmd file? This normally shouldn't happen since CGWatcher tries to send the "quit" command to close cgminer so it can shutdown properly (and only kills the process as a last resort), but there are still some issues regarding batch/command files. During testing I created a batch file similar to this: Code: setx GPU_MAX_ALLOC_PERCENT 100 and what I found was that sending the "quit" command caused cgminer to restart itself... even though it responded correctly ("BYE"). So once I launched the miner using the batch file, the "quit" command would not close it, and cgminer would actually restart (in a new process as usual). Then CGWatcher would pick up this new process and it would close correctly with the "quit" command. So for now it is just killing the process if you're using a batch or command file to launch the miner. I even tried sending "quit" and then killing immediately after up to a few seconds after hoping it would give it time to shutdown... but it didn't matter because the original process is closing, it's just that a new one is starting. The only way to guarantee the miner would close (and not restart itself) was to kill the process. This may be dependent on what is in the batch file, but I have to do more testing to know for sure. It could be related to the setx options? Either way, I'll come up with some way to fix this... maybe creating an option to run a batch file before launching the miner instead of launching the miner through the batch file... although that creates another issue regarding the 2> log command that Windows doesn't seem to like in its process start info arguments. A temporary workaround would be to not use batch files, but I realize this is necessary sometimes... particularly for scrypt mining (and the 2> log option). So I'm not suggesting this is a fix for everyone, just that if you don't need to use a batch file you're better off not using one. Just move any arguments from the batch file to the profile arguments in CGWatcher (again, with the exception of the 2> log option which I still have to figure out what the problem is.) If you're not using a .bat or .cmd file, this should not be happening unless cgminer is not closing correctly. If you can email me a debug report (go to Tests tab, click Create Debug Report) I'll see what is happening. thats a great app and i love it! u dont have to use the coinswitching schedules. u can also use it to switch between 2 or 3 coins u like and u think that have a future. with this app i reduced my downtime and thats a good thing for all of us. Thanx milone for your great work! Thanks, and yeah you can use scheduled actions for other things besides profitability mining. There will be additional actions added in the near future and this morning I received some requests for additional actions that are very good ideas. Edit: To add to this, it was requested that when using a .bat or .cmd file and restarting cgminer, that CGWatcher actually stop and relaunch the .bat/.cmd file rather than just sending the "restart" command to ensure any other commands were executed. This is where the initial problem was discovered by users because the "quit" command was attempting to close the first cgminer, but cgminer was actually restarting itself before closing. Then immediately after, CGWatcher would launch the new cgminer (at this point unaware cgminer had restarted itself), resulting in two instances of cgminer running. The temporary fix of killing the miner seemed acceptable to the users who reported it, but I did have it on the list to go back and figure out. Then it was sort of neglected as I worked on the schedule stuff so I'm going to look at it again now and try to fix this without killing the process. Though when restarting, I may just stick with killing the process since the miner will be re-launched anyway. To add to the confusion, I am actually trying to reproduce the problem right now as this was all a few weeks ago, and it is closing correctly. |