Привет всем, некоторые могут хотеть Автотрейдинг по MATLAB
---------------------------------------------------
во-первых, вам нужно будет загрузить (или скопировать) 3 м-файлы: url2.m, DataHash.m, HMAC.m
https://www.mathworks.com/matlabcentral/fileexchange/35693-urlread2
http://www.mathworks.com/matlabcentral/fileexchange/31272-datahash
http://www.mathworks.com/matlabcentral/fileexchange/46182-hmac-hash-message-authentication-code-function
и ниже код я использую,
Вам просто нужно скопировать и сохранить их как м-файл.
все они являются функциями, эз, чтобы изменить ваш стиль, если вам нужно
----------------------------------------------------
Функция отклика = POLO_Call (команда, PARAMS)
% Пожертвуйте BTC: 3NQ3RpAcXjNRgFXCAXuAf6icjuG31ZSfeT если это нравится
% AppKey и appSecret -----------------------------
appKey = '';
appSecret = '';
% нонс
= одноразовое значение;% создать одноразовый номер вашего стиля
% Кодирование SHA512 ----------------------------------------------- ----------
адр =»https://poloniex.com/tradingApi ';
Параметры = [ 'команда =', команда»&Nonce =», Nonce PARAMS];
requestString = HMAC (appSecret, параметры, 'SHA-512');% HMAC-shaxxx зависит от обмена
% Заголовок = структура ( 'имя', имя, 'значение', значение);
header1 = структура ( 'название', 'Content-Type', 'значение', 'применение / х-WWW-форм-urlencoded');
header2 = структура ( 'имя', 'Ключ', 'значение', appKey);
header3 = структура ( 'имя', 'знак', 'значение', requestString);
Заголовки = [header1, header2, header3];
ответ = urlread2 (адрес, 'POST', параметры, заголовки);
---------------------------------------------------------------------------
Функция отклика = POLO_ChkOdr
COMMAND = 'returnOpenOrders';
Титулы =»¤cyPair = все ';
ответ = POLO_Call (команда, PARAMS);
-----------------------------------------------
Функция отклика = POLO_ClOdr (NUM)
%, Например: POLO_ClOdr (7533967)
COMMAND = 'cancelOrder';
Титулы = [»&ORDERNUMBER =», num2str (число)];
ответ = POLO_Call (команда, PARAMS);
--------------------------------------------
Функция ORDERNUMBER = POLO_Trade (тип, currencyPair, скорость, количество)
%, Например: POLO_Trade ( 'купить', 'USDT_BTC', 600,0.001)
Команда = тип;
Титулы = [»¤cyPair = 'currencyPair'&Скорость = 'num2str (скорость),'&сумма =», num2st
г (сумма)];
ответ = POLO_Call (команда, PARAMS) пусть% Disp, чтобы его CHK
ORDERNUMBER = POLO_J2M (ответ, 'ORDERNUMBER');
-----------------------------------------------------------------------------------
Функция амт = POLO_Bal (валюта)
%, Например: POLO_Bal ( 'BTC')
COMMAND = 'returnBalances';
PARAMS = '';
TMP = POLO_Call (команда, PARAMS);
амт = POLO_J2M (TMP, валюта);
------------------------------------------------------
Функция [SEL, купить, ср] = POLO_Ticker (пара)
URL = [»https://poloniex.com/public?command=returnOrderBook¤cyPair =», пара];
TMP = urlread (URL);
Сель = POLO_J2M (TMP, 'просит');
купить = POLO_J2M (TMP, 'ставки');
ср = средняя ([SEL; купить]);
----------------------------------------------------
Функция F = POLO_J2M (ул, ГОСТР)
% Е = POLO_J2M (Str, 'купить')
Ул (ул == '{') = []; Ул (ул == '}') = [];
Ул (ул == '[') = []; Ул (ул == ']') = [];
Str (Str ==»"знак равно Ул (ул == ' ') =','; Ул (ул == ' ') =''';
Str = [ ''', ул]; Str = [ул, '''];
ГОСТР = [ ''', ГОСТР, ':'];
% -----------------------------------
й = регулярное выражение (ул, ГОСТР); Длина й = й + (ГОСТР);
если длина (й) == 1
I = 0; TMP = str2double (ул (ул: (й + я)));
в то время как ~ IsNaN (TMP)%, если TMP является числом
F = TMP; I = I + 1;
TMP = str2double (ул (ул: (й + я)));
конец
% ------------------------------------
еще
ошибка ( '[Chk НТР вы набрали такой п только один])
конец
--------------------------------------------------------
Примечание: если ваша версия MATLAB закончилась 2016b, попробуйте jsondecode заменить POLO_J2M.m.
если вы хотите изменить код для другого обмена,
обратите внимание, что вы можете проверить Ниду POLO_J2M работает в формате обмен ответа.
Теперь вы можете сосредоточиться на анализе математики с помощью MATLAB для торговли,
но помните, что все это на свой страх и риск.
удачи!