工作已完成
执行时间5 小时
客户反馈
Good and fast programmer, quickly responds to messages, stays on point.
员工反馈
Great customer, very friendly and kindly.
指定
I have been using bittrex bot for over a year and few days ago it started to report BAD REQUEST (400) error. (my code did not change, something changed in Bittrex)
this is my mql code:
int nonce = TimeGMT(); string uri = "https://bittrex.com/api/v1.1/market/getopenorders?apikey="+api_key+"&nonce="+nonce; StringToCharArray(uri, uri_char, 0, WHOLE_ARRAY, CP_UTF8); string output = CryptCreateSHA512Hash(uri,api_secret); ArrayResize(uri_char, ArraySize(uri_char)-1); string headers = "apisign:"+output; int res=WebRequest("POST",uri, headers,private_api_timeout,uri_char, result_char, result_headers); result = CharArrayToString(result_char,0,WHOLE_ARRAY); if(res!=200) { Print2("Authorization error #"+(string)res+", LastError="+(string)GetLastError()); Print2("result = "+result); Print2("ERROR: Positions NOT LOADED from all pairs!"); } else { ... }
reports:
Authorization error #400, LastError=0 result2 = Bad Request
php example, that works:
<?php
$apikey='xxx';
$apisecret='xxx';
$nonce=time();
$uri='https://bittrex.com/api/v1.1/market/getopenorders?apikey='.$apikey.'&nonce='.$nonce;
$sign=hash_hmac('sha512',$uri,$apisecret);
$ch = curl_init($uri);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('apisign:'.$sign));
$execResult = curl_exec($ch);
$obj = json_decode($execResult);
if (curl_error($ch)) {
$error_msg = curl_error($ch);
echo 'error='.$error_msg;
} else {
echo 'execResult='.$execResult;
}
?>
returns:
{"success":true,"message":"","result":[]}execResult=1
When I wrote their customer support, they replied:
Hi, The the V1.1 API has been changed to no longer accept request bodies. You must use the API as documented with a query string. https://support.bittrex.com/hc/en-us/articles/115003723911-Developer-s-Guide-API Best Regards,
But I still can't catch what am I doing wrong in my code. Another response from service desk, after me implying that their method doesn't work for me:
HI, Our developers are working to resolve this issue. Please see the information below. There is a workaround to use GetOrdersEx which does not require a POST. ## API POST Account/GetOrders * Method : POST * URL : https://bittrex.com/api/v1.1/Account/GetOrders?apikey=xxx&nonce=1234 * HEADER : * apisign : signature with hmac(sah512) fro above URL * BODY format : * {"orders":["xxxxxxxx-2f68-405b-bfd3-fb19b362feea","xxxxxxxx-3583-48e5-951f-29b3ed04b65f"]} * LIMIT : orders count <= 1000
I need someone to make my code great again and make it work with Bittrex API, as it used to.
反馈
1
等级
项目
5
20%
仲裁
2
0%
/
100%
逾期
1
20%
空闲
2
等级
项目
93
34%
仲裁
10
40%
/
30%
逾期
5
5%
空闲
相似订单
Ndugelo Ravhengani Bot
30+ USD
Create a bot that can trade and read indicators easy to read for first time users. Bot that can be used on a phone and connect to MT5. It should be easy to install or use on any device especially phone and laptop, preferably the bot that can run over night and controllable when needed
V3 PRO Auto-Scalper EA
40+ USD
//———————————————————————————————————————————————————————————————————— struct S_MCAV { double matureSum; double totalSum; double value; void Init () { matureSum = 0.0; totalSum = 0.0; value = 0.5; } void AddContext (int ctx) { totalSum += 1.0; if (ctx == 1) matureSum += 1.0; } void ApplyDecay (double rate) { matureSum *= rate; totalSum *= rate; } void Update () {
项目信息
预算
30 - 60 USD
截止日期
从 1 到 2 天