Morthawt (OP)
Newbie
Offline
Activity: 32
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 12:59:28 AM Last edit: June 27, 2011, 08:52:26 PM by Morthawt |
|
I made a little program so I can keep an eye out on what exactly the prices are for bitcoins. This program, I wrote with AutoIt3. While autoit is not the best thing in the world and has its limitations it works and is very functional and pretty fast. I did not like the idea of having to keep the web page open and keep refreshing the page, which is why I created this to automatically refresh the information from the API so that I can clearly see both values. Features:- Monitor both buying and selling exchange rates via mtgox API
- Refresh rate of the exchange rate checking can be customized
- Audio alert when buy/sell rates hit within your desired targets
- Ability to save your settings so each time you load the program it has your settings
- Ability to reload settings from your saved ones and also wipe out your saved settings to default
- Currency converter with up to date currency data ([BTC - any currency] [Any currency - BTC] via Google API
- Always on top feature
- Mini "on top" window to keep an eye on rates and save screen space
- Donate menu which will copy my donations bitcoin address to your clipboard so you can donate to me
Download link: http://www.wuala.com/morthawt/btc.exchange.watcher/If you like the idea of having a little program you can keep open to check the current rates, feel free to donate something to me at the following bitcoin address: 1MTkF9ZTcXtgvQX245TwTL2Ko3NMvJHz6P There is also a donate menu which will copy the bitcoin address to clipboard. I hope you like this as much as I do. I will update it if anything changes with the API or if bugs are found I will do my best to correct them as soon as possible. Here are some little pictures of it: http://img577.imageshack.us/img577/3230/btcwatcher.png http://img18.imageshack.us/img18/280/btcdelay.pnghttp://img829.imageshack.us/img829/8458/btcconvert.png http://img96.imageshack.us/img96/3106/btcmini.pngThanks guys. Change Log: V 1.5.2- Updated the handeling of the Mt.Gox API
V 1.5- Changed the terminology on the alerting section, because I had overlooked those labels.
V 1.4.9- Changed terminology to bid and ask rather than buy and sell.
V 1.4.8- Changed menu text "Conversions" to "Tools" to accomodate new additional features.
- Added a mini "always on top" currency watcher "MinX" for when you want to save screen space!
V 1.4.7- Added the ability to choose to have the program always on top.
V 1.4.6- Added extra menu's
- Added a conversion feature to allow you to do calculations based on up to date currency conversion data (courtesy of google api).
- Fixed the code so the main window cannot be used while other child windows are opened (close them to access the main window).
V 1.4.4- Added extra menu's
- Added ability to save/load/clear your settings.
- Added the ability to choose your own refresh delay for retrieving new exchange rate information.
V 1.4.2- Fixed some code to prevent further bugs of the previous kind (hopefully)
- Altered the sizing of the window and its contents to "help" readability on systems with customized jumbo sized font sizes.
- Altered the code to hopefully prevent audio warnings when the API goes down due to too many connections.
- Recoded to check the API every 10 seconds for updated information to reduce number of connections and improve responsiveness of the interface.
V 1.4.1.2- Presumably I have now solved the bug that caused the program to intermittently crash.
V 1.4.1.1- Flipped the buy/sell areas over to be more logical
- Added two different sounds depending on if its buying price or selling price (high-low frequency = sell price / low-high frequency = buy price)
- Altered the interface to make it smaller. It was originally larger due to tests I had done with the interface prior to first release.
V 1.4 released - Added ability to set an audio alarm to alert you to a desired current buying or selling price of bitcoins.
V 1.3 Public releaseFeel free to report any bugs here on the forum thread. Edit:Included source code in the same directory on the download link if you want to check that out for any reason.
|
|
|
|
Morthawt (OP)
Newbie
Offline
Activity: 32
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 01:06:32 AM |
|
I am toying with the idea of maybe adding a feature to warn you when a rate hits around a level the user puts in. I MAY include this feature if I can pull it off. Autoit is kind of limiting in the sense that it works only in serial and not parallel, that means it can only do 1 task at a time which is where the couple seconds lag may be between closing the program or bringing up a menu option when you click it because the program is still doing its job online with receiving the data and updating the on screen display. I would love to pull it off though, so that you can type in a figure and if it hits (depending wether its selling or buying rate) on or above / on or below a certain figure to play an audio message. If I see people are liking it I will probably do my best to add that feature to it. Donations are always welcome motivation also ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Enjoy.
|
|
|
|
Olomana
Newbie
Offline
Activity: 18
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 01:48:17 AM |
|
Thanks for this. Suggestion: put the bid on the left, ask on the right.
Also, it is quite feasible to have AutoIt run tasks in parallel, or rather to simulate running them in parallel. You put each task in its own subroutine. Then you call all the tasks from a master dispatcher loop. Each task checks its own timer and executes if it's time to execute, and otherwise just returns. This is a "round-robin non-pre-emptive task scheduler". (My experience writing bots to play Evony finally pays off!)
|
|
|
|
Morthawt (OP)
Newbie
Offline
Activity: 32
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 02:06:42 AM |
|
bid and ask? Im lost. This is the current buying rate and the current selling rate that you see when you go to mtgox to do some trading. As for parallel I could have multiple scripts separately being run, communicating through ini files but I figured I don't need to. I always can if I need to though.
|
|
|
|
Morthawt (OP)
Newbie
Offline
Activity: 32
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 05:26:15 AM |
|
Updated to version 1.4
I have added a feature to be able to have an audio beep when a particular exchange figure (either buying or selling rates) hit the area you are looking for. For example if you generated a bitcoin and are waiting until it is the most expensive, you may want to put a selling alert in for perhaps 30. Once the selling price hits 30 or more it will continually beep. Same with buy price, if you want to buy coins at the lowest price, lets say under $20... You could put 20 into the buy price alert and when the actual price drops to 20 or below, it will warn you just the same.
You can disable the sound alerting by unchecking the box, or setting both alert boxes back to 0 so this gives you the choice of leaving your figures there and just temp disabling the sound, or just zeroing the whole thing.
Enjoy and feel free to donate.
1MTkF9ZTcXtgvQX245TwTL2Ko3NMvJHz6P
Thank you
|
|
|
|
Alex-Z
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 05:49:47 AM |
|
Is mt gox cool with you making a request every couple seconds?
|
|
|
|
Morthawt (OP)
Newbie
Offline
Activity: 32
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 05:58:02 AM |
|
Well considering on the site they say "That's it. Now write a bot!" I would say yes. Nowhere on there does it mention anything about limiting your accesses.
|
|
|
|
Oldminer
Legendary
Offline
Activity: 1022
Merit: 1001
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 06:46:27 AM |
|
Thanks for this - nice little gadget ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
|
|
|
|
Olomana
Newbie
Offline
Activity: 18
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 07:03:13 AM |
|
Nice sound effects, but the two different alerts should give different sounds. Duhhh!
Bid = buying at, Ask = selling at. The bid goes on the left. People read left to right, and the smaller number goes on the left. Might as well use the standard trading terminology and lay out the screen in the way people expect.
The screen should be much smaller, so it doesn't waste screen real estate.
Sorry to keep harping on user interface issues, but if you want people to use the program, good UI is more important than good programming. If you have good code and a bad UI, they'll use your code and write their own UI.
I was looking at the API... looks like it would be easy enough to add a settings screen for a user ID and password, and display the user's current BTC and dollar balances. Then you could sound an alert when the balance changes. That would tell the user when one of his open orders executed. Heh, this is starting to look like a framework for a trading bot.
|
|
|
|
tiptopgemdotcom
Legendary
Offline
Activity: 1736
Merit: 1000
Truly decentralized stable asset
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 07:11:12 AM |
|
|
|
|
|
Morthawt (OP)
Newbie
Offline
Activity: 32
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 03:43:19 PM |
|
V 1.4.1.1 has been released. Check the first post for change details and a new screenshot. ![Cool](https://bitcointalk.org/Smileys/default/cool.gif) Regarding adding balances though, at this time I am unaware of any way to "post" information via AutoIt3. This would be required to make the API login to receive information.
|
|
|
|
Morthawt (OP)
Newbie
Offline
Activity: 32
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 04:16:19 PM |
|
working on a bugfix for a recurring issue with an array. I am not sure what the issue is, everything I try and fix it with is not having a beneficial impact at all. I am continuing to work on this.
|
|
|
|
Morthawt (OP)
Newbie
Offline
Activity: 32
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 04:47:56 PM |
|
Bug has been fixed! (I hope...) ![Roll Eyes](https://bitcointalk.org/Smileys/default/rolleyes.gif)
|
|
|
|
tymothy
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 04:55:57 PM |
|
Running on a 15.6" 1920x1080 screen and the digits are partially cutoff. Could you allow the window to be resized?
|
|
|
|
Morthawt (OP)
Newbie
Offline
Activity: 32
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 04:59:19 PM |
|
is it cut off from the edge of the window, or are parts inside the window cut off.
|
|
|
|
Morthawt (OP)
Newbie
Offline
Activity: 32
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 05:01:04 PM |
|
Can you give me a printscreen of it please so I know "how" to fix it.
|
|
|
|
tymothy
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 07:37:37 PM |
|
Can you give me a printscreen of it please so I know "how" to fix it.
![](https://ip.bitcointalk.org/?u=http%3A%2F%2Fi53.tinypic.com%2F10rpmhw.jpg&t=665&c=3vK0WJyK1VlfoQ)
|
|
|
|
Alex-Z
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 07:47:34 PM |
|
V 1.4.1.1 has been released. Check the first post for change details and a new screenshot. ![Cool](https://bitcointalk.org/Smileys/default/cool.gif) Regarding adding balances though, at this time I am unaware of any way to "post" information via AutoIt3. This would be required to make the API login to receive information. You can, Something like : #include <IE.au3> #include <http.au3>
$Header = "Content-Type: application/x-www-form-urlencoded" $Host = "www.website.com" $File = "/whatever.php" $URL = "http://" & $Host & $File $PostData = "name=steve"
$Socket = _HTTPConnect($Host) _HTTPPost($Host, $File, $Socket, $PostData) $recv = _HTTPRead($Socket,0) MsgBox(0,"","BODY: "&$recv&" ERROR: "&@error) _HTTPClose($Socket)
|
|
|
|
Morthawt (OP)
Newbie
Offline
Activity: 32
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 07:57:39 PM |
|
You have altered your windows settings to use large fonts or something and altered the title bar buttons size which is reducing the amount of space for the text. I have been working on adding some check for the bug I fixed to make sure it hopefully won't occur with something else. Plus I have been working on a way to make it not alert you erroneously when the API link has too many connections going to it. I also reduced its connections to 1 per 10 seconds.
I have also done my best to resize things so "most" things will fit on your screen but I can not guarentee this because you are not using standard windows settings. The only way I could 100% fix it would be to make all the text very tiny so that it appears normal size on your screen which would result in it being useless to 98% of everyone else because the text would be minuscule.
I hope this version works better for you. Download link in the first post.
|
|
|
|
Morthawt (OP)
Newbie
Offline
Activity: 32
Merit: 0
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
June 11, 2011, 08:02:32 PM |
|
V 1.4.1.1 has been released. Check the first post for change details and a new screenshot. ![Cool](https://bitcointalk.org/Smileys/default/cool.gif) Regarding adding balances though, at this time I am unaware of any way to "post" information via AutoIt3. This would be required to make the API login to receive information. You can, Something like : #include <IE.au3> #include <http.au3>
$Header = "Content-Type: application/x-www-form-urlencoded" $Host = "www.website.com" $File = "/whatever.php" $URL = "http://" & $Host & $File $PostData = "name=steve"
$Socket = _HTTPConnect($Host) _HTTPPost($Host, $File, $Socket, $PostData) $recv = _HTTPRead($Socket,0) MsgBox(0,"","BODY: "&$recv&" ERROR: "&@error) _HTTPClose($Socket) yea its hypothetically possible but it would mean manually going in and editing all the GUI again which has to be edited in text plus then do all that specialized manual http connection code which is far too much. Plus it would only work for people using mtgox any way. At least this is the market in general so that people can then trade on what ever sites they like to trade on. If it were built in to AutoIt3 to be able to "post" then I would use it, but that takes too much memorizing and I hate copy/pasting code from sites to do things. Im a "either I understand it and can do it every time any time, or I don't do that" I hate copy/pasting code so much because it is not "my" code or something I can write from scratch.
|
|
|
|
|