Перейти к содержанию

начальные шаги работы по API


gaalx

Рекомендуемые сообщения

запрос

https://bittrex.com/...?market=btc-elt

ответ

{"success":true,"message":"","result":{"Bid":0.00001011,"Ask":0.00001095,"Last":0.00001011}}

Как я могу присвоить какой-то переменной значение Bid, Ask?

Изменено пользователем gaalx
Ссылка на комментарий
Поделиться на другие сайты

requests

 

import requests, json, decimal

raw_data = requests.get('https://bittrex.com/api/v1/public/getticker?market=btc-elt')
jsn_data = json.loads(raw_data.text, parse_float=decimal.Decimal)

result = jsn_data['result']
bid, ask = result['Bid'], result['Ask']

output = ('Bid: {Bid}, Ask: {Ask}').format(Bid=bid, Ask=ask)
print(output)
Берите Питон и не ерундите с Го :) Изменено пользователем Dwr
Ссылка на комментарий
Поделиться на другие сайты

requests

 

import requests, json, decimal

raw_data = requests.get('https://bittrex.com/api/v1/public/getticker?market=btc-elt')
jsn_data = json.loads(raw_data.text, parse_float=decimal.Decimal)

result = jsn_data['result']
bid, ask = result['Bid'], result['Ask']

output = ('Bid: {Bid}, Ask: {Ask}').format(Bid=bid, Ask=ask)
print(output)
Берите Питон и не ерундите с Го :)

 

Большое спасибо. 

 

Вопрос по проверке "success":true, т.е. доступ был или цифры взяты от балды, наверное если фальс, то будут нули.

 

так:

 

success = result['success']

if success=true then ....

Ссылка на комментарий
Поделиться на другие сайты

$f=fopen('https://bittrex.com/api/v1.1/public/getticker?market=BTC-LTC

 

 

запрос

https://bittrex.com/...?market=btc-elt

ответ

{"success":true,"message":"","result":{"Bid":0.00001011,"Ask":0.00001095,"Last":0.00001011}}

Как я могу присвоить какой-то переменной значение Bid, Ask?

 

 

$f=fopen('https://bittrex.com/api/v1.1/public/getticker?market=BTC-ELT,rb');
    $out=fgets($f);
    $dat = json_decode( $out,true );
    
    if($dat["success"]==1)
        {
        echo $dat["success"] . "<br>";
        echo $dat["result"]["Bid"] . "<br>";
        echo $dat["result"]["Ask"] . "<br>";
        echo $dat["result"]["Last"] . "<br>";
        }
    else echo $dat["message"] . "<br>";

Ссылка на комментарий
Поделиться на другие сайты

invertor87

 

По-моему, в данном случае проще использовать file_get_contents:

$data = file_get_contents('https://bittrex.com/api/v1/public/getticker?market=btc-elt');
$json = json_decode($data);

var_dump($json);
Изменено пользователем Dwr
Ссылка на комментарий
Поделиться на другие сайты

Traceback (most recent call last):

File "C:/Python27/minning/elt", line 1, in <module>

import requests, json, decimal

ImportError: No module named requests

>>>

 

import requests, json, decimal

raw_data = requests.get('https://bittrex.com/api/v1/public/getticker?market=btc-elt')

jsn_data = json.loads(raw_data.text, parse_float=decimal.Decimal)

result = jsn_data['result']

bid, ask = result['Bid'], result['Ask']

output = ('Bid: {Bid}, Ask: {Ask}').format(Bid=bid, Ask=ask)

print(output)

 

Python 2.7.8 Release

 

Traceback (most recent call last):

File "C:\Python34\minning\elt", line 1, in <module>

import requests, json, decimal

ImportError: No module named 'requests'

>>>

 

Python 3.4.1

 

https://pypi.python.org/pypi/setuptools#windows-7-or-graphical-install

 

Windows 7 (or graphical install)

For Windows 7 and earlier, download ez_setup.py using your favorite web browser or other technique and "run" that file.

Изменено пользователем gaalx
Ссылка на комментарий
Поделиться на другие сайты

А ничего, что тема "Трейдинг"?  Может не обсуждать в ней криворукость юзверей, не умеющих поставить питон?

Ссылка на комментарий
Поделиться на другие сайты

Dwr, большое спасибо!!!

 

Python 2.7.8 (default, Jun 30 2014, 16:03:49) [MSC v.1500 32 bit (Intel)] on win32

Type "copyright", "credits" or "license()" for more information.

>>> ================================ RESTART ================================

>>>

Bid: 0.00001002, Ask: 0.00001005

>>>

Изменено пользователем gaalx
Ссылка на комментарий
Поделиться на другие сайты

 

 

По-моему, в данном случае проще использовать file_get_contents:

 

+1. ТС, не делай мозги, бери тупо PHP, как язык с самым низким порогом вхождения(самый простой), и экспериментируй на нём. Как, уже Dwr написал, на нём такие простые вещи делаются в 3 строчки, не надо ни о каких импортах задумываться и знать основы ООП, просто берёшь и делаешь, как получается.

 

PHP - это топор. После того как ты научишься пользоваться топором, бери рубанок (Python, например) и обстругивай, то бишь переписывай, если это вообще понадобиться. Хотя как показывает практика, как бы не хаяли PHP, он подходит для решения большинства задач, особенно когда надо решить в лоб и очень быстро, собственно статистика об этом и говорит, PHP - самый популярный и распространённый язык в веб-программировании, а "миллионы леммингов, как известно, не могут ошибаться" :)

 

Но сразу начинать с Питона не советую, ты в нём запутаешься скорей всего, это язык для уже подготовленных. А если у тебя даже базы программирования нет и не знаешь, что такое ООП, не лезь туда сразу.

Ссылка на комментарий
Поделиться на другие сайты

 

 

первый пост в теме и такой. одна мысль есть у меня в голове, но молчу. Есть люди которые могут дать толчок, спасибо им за это, и они его дают, в мелочах суть и первые шаги всегда сложны.

Перевод - "мне лень читать специализированные ресурсы, у меня нет времени, у вас время есть, расскажите, вы же знаете!"
Ссылка на комментарий
Поделиться на другие сайты

сейчас вот хочу вывести саксесс в конечной строке.

 

ЗЫ я в отпуске и потому времени много.

 

>>> ================================ RESTART ================================

>>>

Bid: 0.00001002, Ask: 0.00001073

Success: True

>>>

 

пробую код:

Continuation lines are needed when entering a multi-line construct. As an example, take a look at this if statement:

 

>>> the_world_is_flat = 1

>>> if the_world_is_flat:

... print "Be careful not to fall off!"

...

Be careful not to fall off!

 

из примера. ругается на print

 

the_world_is_flat = 1

if the_world_is_flat:

print "Be careful not to fall off!"

Изменено пользователем gaalx
Ссылка на комментарий
Поделиться на другие сайты

из примера. ругается на print

 

 

В py3 print - функция, используйте скобки:

print("Be careful not to fall off!")

 

Ну, или отступы забыли, если py2 пользуете:

the_world_is_flat = 1
if the_world_is_flat:
    print "Be careful not to fall off!"
Изменено пользователем Dwr
Ссылка на комментарий
Поделиться на другие сайты

В py3 print - функция, используйте скобки:

print("Be careful not to fall off!")

 

Ну, или отступы забыли, если py2 пользуете:

the_world_is_flat = 1
if the_world_is_flat:
    print "Be careful not to fall off!"

 

именно так. прохожу уроки - http://www.codecademy.com/ru/courses/introduction-to-python-6WeG3/3/1?curriculum_id=4f89dab3d788890003000096 есть еще ряд вопросов, но после того как пройду этот и еще один курс.

Ссылка на комментарий
Поделиться на другие сайты

HelloWorld для написания торгового бота: получаем данные в JSON, парсим и обрабатываем их - https://forum.bits.media/index.php?/blog/24/entry-63-helloworld-dlia-napisaniia-torgovogo-bota-poluchaem-danny/

Ссылка на комментарий
Поделиться на другие сайты

В 7/17/2014 в 17:24, Dwr сказал:

 

Надо присвоить переменной:

API_KEY=... её значение, а потом разбираться с запросами на куплю-продажу:

https://bittrex.com/api/v1/market/selllimit?apikey=API_KEY&market=BTC-LTC&quantity=1.2&rate=1.3

 

Я так понимаю можно сразу отослать через строку:

r = requests.post(https://bittrex.com/api/v1/market/selllimit?apikey=API_KEY&market=BTC-LTC&quantity=1.2&rate=1.3)

или тоже через requests.get, т.к. по результатам отправления этой строки приходит информация:

{

"success" : true,

"message" : "",

"result" : [{

"resultUuid" : "614c34e4-8d71-11e3-94b5-425861b86ab6"

}

]

}

которую надо проанализировать на труе.

 

вместо 1.2 можно устанавливать переменную

а=1.2

b=1.3

raw_data2 = requests.get('https://bittrex.com/api/v1/market/selllimit?apikey=API_KEY&market=BTC-LTC&quantity=a&rate=b')

 

Далее вопрос по циклу и таймерам:

так в питоне можно сделать?

Loop

{

Sleep,110000

...

}

 

и касательно принудительной остановки или паузы:

 

есть команда - Pause ну или стоп.

 

Судя по краткому знакомству оператор GOTO тут отсутствует.

 

Спасибо за подсказки.

 

Может пару слов скажете? По циклам и временным задержкам.

Ссылка на комментарий
Поделиться на другие сайты

Скажем. Цикл:

i = 10
while i > 0:
    print(i)
    i -= 1

Задержка:

import time
time.sleep(10) # seconds
Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

подскажите как в делфи купить что-то на битриксе через апи?

создал ключ API Keys, он состоит из 2 частей: Key и Secret.

 

в докуменентации указано, что купить можно с помощью запроса

https://bittrex.com/api/v1.1/market/buymarket?apikey=API_KEY&market=BTC-LTC&quantity=1.2  

собственно что нужно писать вместо API_KEY в этом запросе?

использую Delphi7 и библиотеку Synapse.

Ссылка на комментарий
Поделиться на другие сайты

Есть вариант гораздо проще. Купить 1bbot lite или 1bbot PRO.

 

В первой версии легкий язык написания правил.Во второй Паскаль или Делфи.

Но все вопросы по апи уже решены.

Актуальность данных полученных по апи и огромные возможности включая арбитраж и использования данных других пар\ бирж.

Ведь просто подключившись по апи и вытянув данные с биржи Вас ждет еще множество проблемм с синхронизацией и так далее.

Ссылка на комментарий
Поделиться на другие сайты

подскажите как в делфи купить что-то на битриксе через апи?

создал ключ API Keys

 

, он состоит из 2 частей: Key и Secret.

 

в докуменентации указано, что купить можно с помощью запроса

https://bittrex.com/api/v1.1/market/buymarket?apikey=API_KEY&market=BTC-LTC&quantity=1.2  
собственно что нужно писать вместо API_KEY в этом запросе?

использую Delphi7 и библиотеку Synapse.

 

ваш ключ, который вам выдает биржа. на бирже настраиваете - будет ли он торговый или просто тестовый. для получение ключа надо обязательно пройти 2ФА, иначе доступа к ключу не будет. Изменено пользователем gaalx
Ссылка на комментарий
Поделиться на другие сайты

Есть вариант гораздо проще. Купить 1bbot lite или 1bbot PRO.

 

В первой версии легкий язык написания правил.Во второй Паскаль или Делфи.

Но все вопросы по апи уже решены.

Актуальность данных полученных по апи и огромные возможности включая арбитраж и использования данных других пар\ бирж.

Ведь просто подключившись по апи и вытянув данные с биржи Вас ждет еще множество проблемм с синхронизацией и так далее.

спасибо, обязательно посмотрю

посмотрел, вот мне нужно постоянно мониторить на битриксе все рынки с объемом от 2 до 10 биткоинов, а ваш бот работает только на одной паре, поэтому не подходит.

 

ваш ключ, который вам выдает биржа. на бирже настраиваете - будет ли он торговый или просто тестовый. для получение ключа надо обязательно пройти 2ФА, иначе доступа к ключу не будет.

это все есть, ключ получен, 2фа включена, проблема в другом - как средствами языка Delphi и используя API биржи что-то купить?

немного поразбирался, в документации по апи есть пример на языке 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);

основная проблема при переносе на делфи - это функция

$sign=hash_hmac('sha512',$uri,$apisecret);

буду очень благодарен, если подскажите как её реализовать на языке Delphi.

Изменено пользователем poop
Ссылка на комментарий
Поделиться на другие сайты

буду очень благодарен, если подскажите как её реализовать на языке Delphi.

 

 

Вот тут есть решение.

 

Используйте модуль TIdHMACSHA512 из Indy, предварительно подключив библиотеки Openssl

Ссылка на комментарий
Поделиться на другие сайты

подсказали на стороннем форуме, может кому прогодится

var key, secret:string;
    url,sign:string;
    HTTP:THttpSend;
    list:TStringList;
    nonce:string;
begin
key:='xxx';
secret:='xxx';
nonce:=inttostr(DateTimeToUnix(now));

url:='https://bittrex.com/api/v1.1/account/getbalances?apikey='+key+'&nonce='+nonce;
sign:=SHA512DigestToHex(CalcHMAC_SHA512(secret, url));

HTTP:=THttpSend.Create;
HTTP.Headers.Add('apisign:'+sign);
HTTP.HTTPMethod('GET',url);
list:=TStringList.Create;
list.LoadFromStream(HTTP.Document);
memo1.Lines.Add(inttostr(HTTP.ResultCode)+#13#10+list.Text);
list.Free;
HTTP.Free;

end;

требуется подключить этот модуль, cHash.pas
https://code.google.com/p/fundamentals/source/browse/trunk/Source/Utils/cHash.pas?r=30

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Подскажите что за параметр (Так же необходимо посылать POST-параметр nonce с инкрементным числовым значением.(>0)) на btc-e почемуто при каждом запросе требуется увеличивать его на 1

{'success': 0, 'error': "invalid nonce parameter; on key:16, you sent:'16', you
should send:17"}
Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
  • Similar Topics

    • Подарите пожалуйста шанс встать с инвалидной коляски + мои изделия ручной работы

      Здравствуйте всем добрым и понимающим людям!меня зовут Виктория,я инвалид-колясочник 1-гр.В 18 лет я получила травму,которая приковала меня к коляске.И вот уже 14 лет ищу любую возможность заработать в интернете средств, чтобы просто выжить. Я живу с мамой на одну мою пенсию 1.769 грн и помощь по уходу за мной мама получает 200 грн. При этом моя реабилитация в международной клинике восстановительного лечения, сроком на 11 дней, стоит 14000 грн. Неподъемная сумма для меня! И это без проживания и

      в Благотворительность

    • Требуется специалист у кого был опыт работы в автообменнике либо был свой автообменник

      Что вы должны уметь для данной работы:   Понимание криптоплатежей Понимание организации выплат на карточки Навыки маркетинга автообменника Понимание организации менеджмента автообменника   Удаленная работа в новой платежной системе. Зарплата 2000 USD. Белая удаленная работа.   При выходе на прибыль возможен небольшой %   Шлите в Телеграм @fintechmonster описание вашего релевантного опыта работы

      в Работа

    • Сингапур ужесточит правила работы криптовалютных компаний

      Законодатели Сингапура внесли поправки в Закон о платежных услугах. Поправки усложнят регулирования цифровых активов. Декларируемая цель: защита криптовалютных трейдеров и инвесторов. Денежно-кредитное управление Сингапура (MAS) пообещало, что дополнения к Закону о платежных услугах вступят в силу постепенно, начиная с 4 апреля 2024 года. Измененные правила будут распространяться на поставщиков услуг, занимающихся передачей и обменом токенов, даже если сами сервисы не владеют криптоактивами

      в Новости криптовалют

    • Биржа Binance анонсировала частичную приостановку работы сервиса Convert

      Крупнейшая криптобиржа мира объявила о плановом техническом обслуживании сервиса Binance Convert и временном прекращении обслуживания 15 торговых пар. Команда торговой площадки уточнила, что 28 февраля временно прекратит доступ к торговым парам на Binance Convert, включая: WBNB-BNB, WETH-ETH, GXS-REI, BTTOLD-BTTC, TRXOLD-TRX, STGOLD-STG, RDNTOLD-RDNT, QUICKOLD-QUICK, AVAOLD-AVA, OPUSDCE-USDC, MATICUSDCE-USDC, ARBUSDCE-USDC, TUSDOLD-TUSD, PAX-USDP и BUSD-FDUSD.   Компания объяснила: г

      в Новости криптовалют

    • Поиск работы (Стабильные проекты)

      Здравствуйте ув.форумчане   Что я предлагаю усторить вашему проекту: - Постоянный контроль чатов, социальных страниц, форумов, веток а так-же пост информации - Создание баннеров (дизайн) и пост, ежедневно, поддерживание целевой аудтиории в активе. - Идеи и реализации маркетинговых ходов по минимальному бюджету (тест-режим так-же возможен) - Проведение, организация мероприятий онлайн, оффлайн не важно. (Так-же входит работа по bitcointalk.org) - Еженедельный(месячные) отчёты п

      в Работа

×
×
  • Создать...