Job finished
Execution time 5 hours
Feedback from employee
Great customer, very friendly and kindly.
Feedback from customer
Good and fast programmer, quickly responds to messages, stays on point.
Specification
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.
Responded
1
Rating
Projects
5
20%
Arbitration
2
0%
/
100%
Overdue
1
20%
Free
2
Rating
Projects
93
34%
Arbitration
10
40%
/
30%
Overdue
5
5%
Free
Similar orders
MarketMind Breakout Pro XAUUSD H1 — Donchian Breakout EA Project type: Personal EA development and backtesting Platform: MetaTrader 5 Instrument: XAUUSD Timeframe: H1 Strategy: Donchian Channel breakout with EMA 200 Project overview This project evaluates a Donchian breakout trading strategy for XAUUSD on the H1 timeframe. The system uses channel-based breakout conditions and an EMA 200 trend filter. Historical
a { text-decoration: none; color: #464feb; } tr th, tr td { border: 1px solid #e6e6e6; } tr th { background-color: #f5f5f5; } Project Description I need an Expert Advisor (EA) for MetaTrader 5 (MT5) that can automatically trade Gold (XAUUSD) and major Forex pairs. The EA must analyze market conditions, open and close trades automatically, manage risk effectively, and be fully compatible with the MT5 Strategy Tester
Project information
Budget
30 - 60 USD
Deadline
from 1 to 2 day(s)