Bitcoin Forum
November 09, 2024, 04:20:51 PM *
News: Latest Bitcoin Core release: 28.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Profitability Mining, or mining the most profitable crypto-coin, using CGWatcher  (Read 1868 times)
milone (OP)
Sr. Member
****
Offline Offline

Activity: 434
Merit: 251


CGWatcher & CGRemote


View Profile WWW
July 08, 2013, 03:44:31 AM
Last edit: July 08, 2013, 06:29:30 AM by milone
 #1


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:
  • Start Mining
  • Stop Mining
  • Restart Mining
  • Restart Computer
  • Change Intensity
  • Switch Profile




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)

[Switch Profile] to [{Most Profitable - adjusted}] [Weekdays] at [8:00:00 AM]

[Switch Profile] to [{Most Profitable - average}] [Daily] at [5:00:00 PM]

[Start Mining] [] [Weekdays] at [10:00:00 PM]

[Stop Mining] [] [Daily] at [4:00:00 PM]

[Restart Mining] [] [Daily] at [12:00:00 PM]

[Restart Computer] [] [Monday] at [4:00:00 AM]

[Change Intensity] to [12] [Daily] at [8:00:00 AM]

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:

  • Pool types: if you use PPLNS-type pools, switching pools often because of profitability changes could have a small negative effect on your earnings because these type of pools reward for consistent mining and try to penalize pool-hoppers, which is essentially what you are doing if you are constantly switching pools based on profitability. Therefore you should try to use PPS-type pools if you plan on switching profiles often.
  • If everyone is switching with you, the coin may not stay most profitable for long. I don't expect this to be a big problem because CGWatcher probably doesn't have enough users to make a big impact on sending a bunch of miners to the same coin at the same time. As of this post, CGWatcher has over 2,500 (est) users (in over 65 countries! maybe translations are in order) and averages 100+ downloads per day, so there is the chance it has an effect in the future. But this assumes that all users are mining all coins. If Bob is only mining Bitcoin and Litecoin, his most profitable coin might be Litecoin even though DigitalCoin is most profitable. Tom has a DigitalCoin profile so when DigitalCoin is most profitable, profitability mining would switch him to DigitalCoin but Bob will still be back on Litecoin. Then you have to consider that how often you switch profiles based on profitability depends on how you setup your scheduled actions, so while Tom might switch every few hours, Bob might only switch once per week. So these lessen the odds of sending a wave of miners to the same coin at the same time.
  • As I mentioned earlier, CGWatcher uses profitability values based on Bitcoin. So if you don't convert your more profitable coins to Bitcoin while they are still more profitable, you risk losing any gains you made by mining the more profitable coin.
  • Because of these things, there is no guarantee that profitability mining will actually be more profitable. It depends a lot on how you set up your pools and when and if you convert your mined coins to Bitcoin. CGWatcher makes it much easier to do, but there is still work before and after coins are mined that CGWatcher cannot do for you.
  • This is a new feature, so if you experience any problems with actions not running when they are supposed to, please let me know. I did quite a bit of testing, but there are always bugs that won't be found until it is released to users, especially with the wide range of setups miners use.
  • I will probably add this ability to CGRemote for non-Windows users by adding and switching pools via the API, but it is too early to say for sure. It may be limited to coins of the same algorithm since CGRemote will not have the same abilities as CGWatcher does if running on a remote computer. I'll have more info on this in the future as CGRemote progresses.
  • Only you can determine if profitability mining is a wise strategy for you. I am not suggesting it is or isn't. I take no responsibility for any losses, we all know how volatile prices can be. Likewise, I take no credit for gains... though you are still more than welcome to donate.

If you're not already using CGWatcher, you can find more info and download here:

http://manotechnology.blogspot.com/p/cgwatcher.html

CGWatcher, a GUI/monitor for CGMiner & BFGMiner: http://www.cgwatcher.com
CGRemote, a remote mining dashboard for all of your miners: http://www.minerremote.com
BTC: 12TAYjmSrdDHLNpmix2MG6y3R868SMM7Fx    LTC: LM6Un6hZvPzLBggJWiAVG6E6w2GfaHukXY
Online24o0n
Member
**
Offline Offline

Activity: 98
Merit: 10


"Ignorance never settles a question."


View Profile
July 08, 2013, 03:47:24 AM
 #2

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.

"Never let the future disturb you. You will meet it, if you have to, with the same weapons of reason which today arm you against the present"
- Marcus Aurelius
Eli0t
Sr. Member
****
Offline Offline

Activity: 252
Merit: 250


View Profile
July 08, 2013, 03:54:02 AM
 #3

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 bats

providing 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

LTC:  LKpJf3uk7KsHU73kxq8iFJrP1AAKN7Yni7  DGC:  DKXGvEbj3Rwgrm2QQbRyNPDDZDYoq4Y44d  XPM:  AWV5AKfLFyoBaMjg9C77rGUBhuFxz5DGGL
milone (OP)
Sr. Member
****
Offline Offline

Activity: 434
Merit: 251


CGWatcher & CGRemote


View Profile WWW
July 08, 2013, 04:01:19 AM
Last edit: July 08, 2013, 08:45:32 PM by milone
 #4

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.

CGWatcher, a GUI/monitor for CGMiner & BFGMiner: http://www.cgwatcher.com
CGRemote, a remote mining dashboard for all of your miners: http://www.minerremote.com
BTC: 12TAYjmSrdDHLNpmix2MG6y3R868SMM7Fx    LTC: LM6Un6hZvPzLBggJWiAVG6E6w2GfaHukXY
12gaFacelift
Sr. Member
****
Offline Offline

Activity: 277
Merit: 250



View Profile
July 08, 2013, 08:52:26 PM
 #5

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%).

Never argue with idiots, they just drag you down to their level then beat you with experience. ~ *CANADA ONLY* Colloidal Silver Wire Rod - 12 Gauge Pure Silver .9999 - https://bitcointalk.org/index.php?topic=775964.0

https://bitcointalk.org/index.php?topic=731923.0
https://bitcointalk.org/index.php?topic=1323657.0
captainfuture
Sr. Member
****
Offline Offline

Activity: 294
Merit: 250



View Profile
July 08, 2013, 08:56:44 PM
 #6

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!

milone (OP)
Sr. Member
****
Offline Offline

Activity: 434
Merit: 251


CGWatcher & CGRemote


View Profile WWW
July 08, 2013, 10:03:31 PM
Last edit: July 08, 2013, 10:56:58 PM by milone
 #7

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
setx GPU_USE_SYNC_OBJECTS 1
C:\CGMiner\cgminer.exe --config cgminer.conf

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.

CGWatcher, a GUI/monitor for CGMiner & BFGMiner: http://www.cgwatcher.com
CGRemote, a remote mining dashboard for all of your miners: http://www.minerremote.com
BTC: 12TAYjmSrdDHLNpmix2MG6y3R868SMM7Fx    LTC: LM6Un6hZvPzLBggJWiAVG6E6w2GfaHukXY
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!