Show Posts
|
Pages: « 1 [2] 3 4 »
|
The reason is the upcoming hard fork Big whales know this is going to be devastating. So now they pump Bitcoin so they can dump all they have before the hard fork. This apparent rise also causes a lot of people new to Bitcoin and unaware of the upcoming hard fork to invest, enriching the whales.
Oh yes, of course. Bearish sentiment = higher price! Trolls are funny.
|
|
|
As long as there are people trading, they couldn't care less...
This website involves money and errors carry losses. Changes should be planned and warned ahead of time.
+9999999 ^ 9999999
|
|
|
It seems you guys have changed the minimum volume for many pairs without warning. This has caused me much headache this morning. I have already opened a ticket about it so rather than bitch about it any more here I would like to make a suggestion.
The public API method "AssetPairs" should be changed so that minimum volume for each pair is included in the return. This would make it so that when my bot is initialized it could make note of what the minimum volume is for each pair and then make sure that all orders for a given pair are at least of the minimum volume. This would make it so that you guys can change this value whenever you please, and it wouldn't break my bot, or anyone's for that matter.
right now the return for this method looks like this:
'XZECZUSD': {'aclass_base': 'currency', 'aclass_quote': 'currency', 'altname': 'ZECUSD', 'base': 'XZEC', 'fee_volume_currency': 'ZUSD', 'fees': [[0, 0.26], [50000, 0.24], [100000, 0.22], [250000, 0.2], [500000, 0.18], [1000000, 0.16], [2500000, 0.14], [5000000, 0.12], [10000000, 0.1]], 'fees_maker': [[0, 0.16], [50000, 0.14], [100000, 0.12], [250000, 0.1], [500000, 0.08], [1000000, 0.06], [2500000, 0.04], [5000000, 0.02], [10000000, 0]], 'leverage_buy': [], 'leverage_sell': [], 'lot': 'unit', 'lot_decimals': 8, 'lot_multiplier': 1, 'margin_call': 80, 'margin_stop': 40, 'pair_decimals': 5, 'quote': 'ZUSD'}}
what I am suggesting is simply adding a field like: 'minimum_volume' : <value representing minimum volume for this pair>
the Json return would then look something like:
'XZECZUSD': {'aclass_base': 'currency', 'aclass_quote': 'currency', 'altname': 'ZECUSD', 'base': 'XZEC', 'fee_volume_currency': 'ZUSD', 'fees': [[0, 0.26], [50000, 0.24], [100000, 0.22], [250000, 0.2], [500000, 0.18], [1000000, 0.16], [2500000, 0.14], [5000000, 0.12], [10000000, 0.1]], 'fees_maker': [[0, 0.16], [50000, 0.14], [100000, 0.12], [250000, 0.1], [500000, 0.08], [1000000, 0.06], [2500000, 0.04], [5000000, 0.02], [10000000, 0]], 'leverage_buy': [], 'leverage_sell': [], 'lot': 'unit', 'lot_decimals': 8, 'lot_multiplier': 1, 'margin_call': 80, 'margin_stop': 40, 'pair_decimals': 5, 'minimum_volume': 0.001(or whatever the actual value is, I don't currently know:S), 'quote': 'ZUSD'}}
Please pass this suggestion on tho whomever maintains the API methods.
|
|
|
So I solved the issue! Today i learned there is a difference between a URL and a URI. The signature uses the URI not the URL (/0/public/Balance as opposed to https://api.kraken.com/0/public/Balance). Thank you guys for responding, your replies did set me on the right track! In case anyone with the same problem googles this 1 year from now here is some code that works for me: def privateMethod(method, args = {}): uriPath = KrakenAPI.PRIVATE + method urlPath = KrakenAPI.URL + KrakenAPI.PRIVATE + method args['nonce'] = int(1000*time.time()) postData = urlencode(args) encoded = (str(args['nonce']) + postData).encode() message = uriPath.encode() + hashlib.sha256(encoded).digest() signature = hmac.new(base64.b64decode(KrakenAPI.SECRET_API_KEY), message, hashlib.sha512) sigdigest = base64.b64encode(signature.digest()) header = {'API-Key': KrakenAPI.API_KEY, 'API-Sign': sigdigest.decode()} return requests.post(urlPath, headers = header, data = postData)
|
|
|
Alright so now I get an error message saying invalid key! Is the key not simply what they provide you via the website? Do you not just copy / paste it? I can understand my signature not being valid, but the key?
def privateMethod(method, args = {}): urlPath = KrakenAPI.URL + KrakenAPI.PRIVATE + method args['nonce'] = int(1000*time.time()) postData = urlencode(args) encoded = (str(args['nonce']) + postData).encode() message = urlPath.encode() + hashlib.sha256(encoded).digest() signature = hmac.new(base64.b64decode(KrakenAPI.SECRET_API_KEY), message, hashlib.sha512) sigdigest = base64.b64encode(signature.digest()) header = {'API-Key': KrakenAPI.API_KEY, 'API-Sign': sigdigest.decode()} return requests.post(urlPath, headers = header, data = postData)
balanceDataJson = privateMethod("Balance") balanceData = json.loads(balanceDataJson.content) pprint(balanceData)
|
|
|
OK so I downloaded the python code from github and gleaned a few insights from it. I now get a different error.... {'error': ['EGeneral:Internal error']}
No idea what this could be. It would be nice if the different errors had some documentation..
new code just FYI:
def privateMethod(method, args = {}): nonce = str(int(time.time())) argJson = json.dumps(args) req = urlencode(args) sha256 = hashlib.sha256(nonce.encode() + req.encode()).digest() urlPath = KrakenAPI.URL + KrakenAPI.PRIVATE + method sha512 = base64.b64encode(hmac.new(base64.b64decode(KrakenAPI.SECRET_API_KEY), urlPath.encode() + sha256, hashlib.sha512).digest()).decode() header = {'API-Key': KrakenAPI.API_KEY, 'API-Sign': sha512} return requests.post(KrakenAPI.URL + KrakenAPI.PRIVATE + method, headers = header)
balanceDataJson = privateMethod("Balance") balanceData = json.loads(balanceDataJson.content) pprint(balanceData)
|
|
|
Second attempt, realized I wasn't using HMAC SHA512. Same result.
def privateMethod(method, args = {}): nonce = str(int(time.time())) argJson = json.dumps(args) sha256 = hashlib.sha256(nonce.encode('utf-8') + argJson.encode('utf-8')).hexdigest() urlPath = KrakenAPI.URL + KrakenAPI.PRIVATE + method sha512 = hmac.new(base64.b64decode(KrakenAPI.SECRET_API_KEY), urlPath.encode('utf-8') + sha256.encode('utf-8'), hashlib.sha512).hexdigest() header = {'API-Key': KrakenAPI.API_KEY, 'API-Sign': sha512} return requests.post(KrakenAPI.URL + KrakenAPI.PRIVATE + method, headers = header, data = urlencode(args))
balanceDataJson = privateMethod("Balance") balanceData = json.loads(balanceDataJson.content) pprint(balanceData)
|
|
|
Thank you for your response. I have wrote a function to send private posts but I get a response back telling me I have an invalid signature :S
def privateMethod(method, args = {}): nonce = str(int(time.time())) argJson = json.dumps(args) sha256 = hashlib.sha256(nonce.encode('utf-8') + argJson.encode('utf-8')).hexdigest() urlPath = KrakenAPI.URL + KrakenAPI.PRIVATE + method sha512 = hashlib.sha512(urlPath.encode('utf-8') + sha256.encode('utf-8') + base64.b64decode(KrakenAPI.SECRET_API_KEY)).hexdigest() header = {'API-Key': KrakenAPI.API_KEY, 'API-Sign': sha512} return requests.post(KrakenAPI.URL + KrakenAPI.PRIVATE + method, headers = header, data = urlencode(args))
balanceData = privateMethod("Balance") balanceDataJson = json.loads(balanceData.content) pprint(balanceDataJson)
Also, is there a particular reason I should be using get vs post for the public methods? Genuinely curious.
|
|
|
I have never made a program that interacts with a website's API before but I am trying my hand at a trading bot! I am writing in python and so far have it so that I can query the public data just fine. example: import requests import json from pprint import pprint pairData = requests.post(" https://api.kraken.com/0/public/AssetPairs", data = {}) pairDataJson = json.loads(pairData.content) pprint(pairDataJson) But I can't seem to wrap my head around the private methods (the whole api-key / api-sign / nonce stuff). I understand I get my api-key by logging in through the website, but from there I am stuck. Can anyone give an example of what a post request would look like for the private methods?
|
|
|
I have multiple bitcoins worth of deposits and shares, and have a few hundred bucks I was about to deposit. this sucks :/ and something doesnt smell right.. it feels like they want out and this 8s a convenient excuse. maybe they are looking to jettison the "shareholders", or maybe they are afraid of new regulation, but there is definitely more to this story.
|
|
|
cryptsy support sucks. It takes them days to answer once on a ticket.
No joke, i submitted my ticket a week ago and no response. Very unprofessional, at this point i'd prefer a please fuck off letter to this silence.
|
|
|
Is a FIFTEEN min delay normal?
|
|
|
I have recently been trying my hand at trading alt coins via cryptsy, all was going well untill last sunday. I had an open LTC position and placed a sell order for 0.01469 btc/ltc and then went to a hockey game. When i came home insaw that the price had risen above .0147 yet my order went unfilled and i am infact still left holding the LTC. I took a screenshot of my order and of the chart that clearly shows the time stamp on my oder is before the candle that includes the price rise to .0147. I am at work now but can post the screenshot later this evening.
I submitted a ticket to cryptsy but have not gotten a response back yet. I was wondering if anyone has had this happen before and if so what the outcome was, did cryptsy do anything to rectify the situation ?
I would like to commit larger amounts of btc to my trading activity as i had bern profitable up to this point, but i am wary of doing so if i cant rely on my orders executing!
|
|
|
This has nothing to do with the bitcoin technology as the "block chain" is centrally managed, I.E. no mining. Forget about comparing this to bitcoin because they are not at all similiar, what would be the advantage of "Real coins" over USD in a bank account?
|
|
|
RT is russian propaganda, with an anti american bias. This means they have good reports sometimes almost by mistake. A similar thing happend during ron pauls presidential run.
|
|
|
As has been mentioned this would be a hard fork. If that were to happen i would continue to use the original uncompromised version, as i am sure others would too. The market will then decide which rendition is superior.
|
|
|
I think its great you guys issue debit cards, this is an important step i believe to making it easy for the average joe to use bitcoin. How feasable would it be to implement a system where the debit card is linkied to an account demoninated in BTC, and when you purchase something at a POS terminal it would sell BTC at what ever price the market will bear untill enough fiat has been raised to cover the purchase? I think this would be a huge step forward in bringing btc into the mainstream.
Also @ BOB, as someone who works for one of the big 5 banks I can tell you that having at home agents is not unsual even for the largest of the large banks. Ideally, their systems keep track of which agents access and modify which client records, so if an agent were to "go rouge" it would be easy to discover and punish whomever is responsible.
|
|
|
The Cavirtex twitter feed says bitcoin withdraws have been re-enabled, yet the site itself does not allow it. Last update was 20 hours ago.. any further word on what is going on / ETA on allowing BTC withdraws.
|
|
|
Option 3 is that he is ideologically driven, If crypto currencies become dominant it will make it that much more difficult for the state to fund his particular brand of utopia. Either way he doesn`t upset me that much. I`d say having people make faulty criticisms makes your position look stronger then if no one was making them at all, it shows their desperation. "I have never made but one prayer to God, a very short one: 'O Lord make my enemies ridiculous.' And God granted it." - Voltaire
|
|
|
Changing the definition of your units of measurement means nothing if the thing you are measuring stays the same. If you cross the border into canada we measure distance in kilometers. This doesnt mean our cars go faster, just that the nominal value we use to measure speed is smaller. We could measure speed in centimetres / hour if we wanted and the only thing it would affect is our road signs and spedomoeters.
|
|
|
|