EDIT: Подвижная код робота отвечала:
Этот проект потребовалось некоторое время, чтобы писать.
Он сделал несколько BTC, то несколько долларов, хотя он действовал так, чтобы замедлить для моих потребностей. Я изменил к цене качению бота и больше не нужно запускать это.
Это не .01B к L на U бот. Вы можете работать с B до B или U в U, он анализирует два пути в одну сторону (луковица, реветь) (UBLU, ULBU) и выбирает наиболее выгодный путь (In B или U) в количестве не как ПРОЦЕНТ моя цель была чтобы больше денег не самый высокий процент и поскольку это динамическое, что функция была необходима. Вы все еще можете установить минимальную% прибыли для каждой сделки, и я рекомендую установить его, по крайней мере, обменной плату .2%, как вы будете часто застревают в LTC. Существует валюту вровень используется на торговой ноге три, которая торгует всю L за $ валюты. При этом используется вычисление рекурсивной динамической глубины и может выполнять круговые сделки любого количества. Если вы скажете ей торговать 1Б он сортирует книгу заказов и узнать, что максимальное B, L, U доступна перед выполнением торговли (Так что если вы попытаетесь с 1БОМ может торговать +0,01, 0,2, 1, 0,98 , 0,023 и т.д.) в зависимости от размера каждой ножки книги заказа.
Есть много настраиваемых переменных. Существует также незаконченная функция изменения валюты, которая позволит вам поменять от B до U, когда цена B падает и U в B, когда он растет. Это на самом деле работает очень хорошо, вы можете воспользоваться арбитражем в любой валюте, держа средства в самой прибыльной валюте.
Выход очень минимален, поскольку выходные затрат время, цель была суб 1мса в торговле анализа. Когда торговля стартовала часто есть несколько возможностей назад, чтобы поддержать или большой портфель заказов на все ноги так код выводит никакого вывода после торговли, он просто запускает пути снова и продолжает торговать, пока нет возможности прибыли не найдена.
- = Дубликатом портфель заказов
. = Торговый путь анализируется
число = количество сделок завершено
E # = Ошибка при получении книги заказа (текущий код был написан для запуска на круглом наборе Роббина серверов и выйти после двух ошибок)
о = заказы размещены
C = заказы отменены
Вы должны будете ввести свой ключ и секрет
быть осторожной настройка мин & Макс на тот же номер, как это будет использовать другой механизм торгов.
Я не несет ответственности за N00b потерять деньги или зарабатывать деньги (Хотя я с удовольствием буду принимать пожертвования! 18DBdwc6JkCGrz2svV6mCPeURbZM8La5TN)
Код:
#screen -dmS arbot -h -L ./roundrobin.sh тысяча двадцать четыре
PHP
// USER КОНФИГУРИРУЕМЫЙ
// Печать Debug Информация о торгах
$ DEBUG знак равно НОЛЬ;
// Вашей мин и максимальная ставка, устанавливается в то же самое для статических торгов
$ minBTC знак равно .01;
$ maxBTC знак равно .025;
$ minUSD знак равно 2;
$ maxUSD знак равно 10;
// Для использования fastTrade установить минимальное и максимальное на ту же сумму.
если ( $ minBTC == $ maxBTC || $ minUSD == $ maxUSD) {
$ fastTrade знак равно ПРАВДА;
Распечатать «Fast Trade Enabled ->> Не забудьте очистить валюты»;
}
// Минимальных Заявок обмена будет принимать (BTC-E Mins)
$ minBidBTC знак равно .01;
$ minBidLTC знак равно .1;
$ minBidUSD знак равно .01;
// Использование динамической глубины мы можем выполнить наиболее прибыльную сделку в $ валюте с минимальной% прибыли
// установить как 0, чтобы торговать все прибыльные
$ пороговая знак равно 0; // Выполнение любой прибыльной сделки ** Trade не будет выполняться, если не бить P% ниже
$ thresholdP знак равно .5; // Порог в%
// 100,001-999,999,999 макс ожидания между неторговым & Книга дупликации уменьшенный 1.2.3.4.
$ nanosleep знак равно 1; // наносекунд
// Максимальное время вы хотите сохранить порядок в книге заказа в секундах
// Это применимо только к валюте смыва (нога 3) заказов.
$ MaxAge знак равно 60; // секунд
// Валюта начинаться и заканчиваться в B || L || U
$ валюта знак равно "U";
$ интервал знак равно 12; // вашего интервала замены валюты, это много тиков будут проанализированы, чтобы определить изменения в валюте
$ кривая знак равно 1; // количество противоположных пар тикер выбросить.
/ * IE, если вы тянете $ 10,11,12,9,13 с интервалом 5 и кривой 1 цена будет считать рост.
* Если ваш интервал равен 0, то цена будет считать застойными
* /
// BTC-E Валютные пары & ставка задать имена в формате JSON
$ btcesymbol = Массив ("Btc_usd", "Ltc_btc", "Ltc_usd");
$ btcebidorask = Массив («торги», «Спрашивает»);
$ executeTrade знак равно $ postTrade знак равно ЛОЖНЫЙ;
// Программы
// A - Валюта Арбитраж, выберите UtoU или BtoB арбитраж через L
// B - Портфолио Балансировка, Поддержание 50% двух валют во все времена
// D - купить вниз, купить 1/2 спреда каждый .5 падение и продавать 1 каждый $ 1 выигрыш
// СЧЕТЧИКИ
$ колзнак равно1; // # торгов
$ о знак равно $ я знак равно $ е знак равно 0;
$ т знак равно 0;
$ GLOBALS['бегущая строка'] = Массив ();
// Содержит номера заказа и времени
$ цена знак равно $ объем = Массив ();
$ путь знак равно $ ЛАМПЫ знак равно $ Blub знак равно $ UBLU знак равно $ ULBU знак равно 0;
// получить incriment из нашего файла
$ нонс знак равно readInc();
// Начал свежий пробег, отмените отложенные ордера.
cancelOrders();
//изменить валюту();
// $ = валюта changeCurrency ();
// повторить навсегда
в то время как ( 'Miaviator' !знак равно «Распущенный») {
// Мы не заключить сделку последний цикл
если (!$ executeTrade) {
// Это не торговли цикл, выписывать incriment в файл.
writeInc($ нонс);
//изменить валюту();
// Вывод программы
Распечатать "";
// мы Выполненная профессии последнего запуска (это не запустить)
если ($ postTrade) {
$ minUSD знак равно $ minBTC*$ BTCtoUSD[«ставки»] [0] [0];
$ maxUSD знак равно $ maxBTC*$ BTCtoUSD[«Спрашивает»] [0] [0];
// Общий объем торгов сделали этот пробег
// @ $ всего = $ общая + $ подсчитывать;
Распечатать $ кол;
// Сброс счетчика торговли
$ кол знак равно 0;
// отключить после торговли
$ postTrade знак равно ЛОЖНЫЙ;
если(@$ fastTrade) {
cancelOrders();
// $ = торговли json_decode (btce_query ( "GetInfo"), TRUE);
// DEBUG добавить способ очистки валюты.
} Еще {
в то время как ( $ о > 0 ) {
Распечатать «О»;
$ о--;
}
}
}
}
если ($ executeTrade) {
// Мы обменяли последний запуск
$ postTrade знак равно ПРАВДА;
// Добавить торговлю на прилавок
$ кол++;
// сброс торговли BOOL для следующего запуска
$ executeTrade знак равно ЛОЖНЫЙ;
}
// Получить книгу заказов
$ я знак равно $ е знак равно 0;
// это ужасный код \ /
$ BTCtoUSDold знак равно$ BTCtoUSD[«ставки»] [0] [0];
$ LTCtoBTCold знак равно$ LTCtoBTC[«ставки»] [0] [0];
$ LTCtoUSDold знак равно$ LTCtoUSD[«ставки»] [0] [0];
$ BTCtoUSDold1 знак равно$ BTCtoUSD[«Спрашивает»] [0] [0];
$ LTCtoBTCold1 знак равно$ LTCtoBTC[«Спрашивает»] [0] [0];
$ LTCtoUSDold1 знак равно$ LTCtoUSD[«Спрашивает»] [0] [0];
// поле пустым orderbooks
$ BTCtoUSD знак равно $ LTCtoBTC знак равно $ LTCtoUSD = Массив ();
в то время как (пусто ($ BTCtoUSD) || пусто ($ LTCtoBTC) || пусто ($ LTCtoUSD)) {
$ BTCtoUSD знак равноjson_decode( Отправить( 'Https://btc-e.com/api/2/btc_usd/depth' ), ПРАВДА );
$ LTCtoBTC знак равноjson_decode( Отправить( 'Https://btc-e.com/api/2/ltc_btc/depth' ), ПРАВДА );
$ LTCtoUSD знак равноjson_decode( Отправить( 'Https://btc-e.com/api/2/ltc_usd/depth' ), ПРАВДА );
// Проверка книги заказа изменен
$ старый знак равно $ BTCtoUSDold+$ LTCtoBTCold+$ LTCtoUSDold+$ BTCtoUSDold1+$ LTCtoBTCold1+$ LTCtoUSDold1;
$ новый знак равно $ BTCtoUSD[«ставки»] [0] [0] +$ LTCtoBTC[«ставки»] [0] [0] +$ LTCtoUSD[«ставки»] [0] [0] +$ BTCtoUSD[«Спрашивает»] [0] [0] +$ LTCtoBTC[«Спрашивает»] [0] [0] +$ LTCtoUSD[«Спрашивает»] [0] [0];
если( !@$ BTCtoUSD[«ставки»] || @$ LTCtoBTC[«ставки»] || @$ LTCtoUSD[«ставки»]) {
$ BTCtoUSD знак равно $ LTCtoBTC знак равно $ LTCtoUSD = Массив ();
// $ сон = рандов (6, 36) * (++ $ е);
$ е++;
Распечатать "E" . $ е;
спать(5);
если ( $ е > 2 ) Выход;
/ *
если ($ nanosleep > 100000)
{$ Nanosleep = $ nanosleep + 100000;} // до 9999 прогонов
еще
{$ Nanosleep = $ nanosleep ^ 10;}
* /
}
если ( $ старый == $ новый ) {
$ BTCtoUSD знак равно $ LTCtoBTC знак равно $ LTCtoUSD = Массив ();
Распечатать "-";
// Динамический Таймер
// $ сон = рандов (100000, $ nanosleep); // 100000
// time_nanosleep (0, $ сна);
// Статический таймер
time_nanosleep(0, $ nanosleep);
// если (@ $ postCancel)
// Если мы отложенные ордера отменить их (они могут не существовать)
если (@$ раз) {
// установить текущее время сравнить заказы
$ время знак равно время();
// найти самый ранний порядок в массиве (конец)
$ orderOne знак равно конец($ раз);
// Если этот порядок старше MaxAge начинают отменять
если ( $ orderOne < $ время-$ MaxAge) {
// эхо-цикл по времени порядка
для каждого ($ раз в виде $ ключ знак равно> $ значение ) {
// если мы попали заказы более новые, чем MaxAge перерыва
если ( $ значение > $ время-$ MaxAge ) {
ломать;
}
еще {
$ order_id знак равно $ заказов[$ ключ];
// отменить заказ по номеру нам не нужно, чтобы проверить, если он заполнен или нет
$ торговли знак равно json_decode(btce_query("Отменить заказ", массив ("номер заказа" знак равно> $ order_id)), ПРАВДА);
// удалить этот порядок и время из массива
снята с охраны ($ заказов[$ ключ]);
снята с охраны ($ раз[$ ключ]);
Распечатать "C";
}
}
}
}
}
}
если ( $ валюта == «В») {
////////////////////////////////////////////////// //////////////////
// ЛАМПА Глубина Math
////////////////////////////////////////////////// //////////////////
// торговля 1 математик, B к U, вход B
$ BTC знак равно $ maxBTC;
$ minimumBidBTC знак равно $ minBTC;
для каждого ($ BTCtoUSD[«ставки»] в виде $ значение) {
$ BTCtoUSDbidRate знак равно $ значение[0]; // установить Rate
если ($ значение[1] >знак равно $ minimumBidBTC && $ значение[1] < $ BTC ) {
$ BTC знак равно $ значение[1]; // Устанавливает к балансовой стоимости
ломать;
}
если ( $ значение[1] >знак равно $ minimumBidBTC && $ значение[1] >знак равно $ BTC) {
ломать;
}
}
$ USDзнак равно$ BTC*$ BTCtoUSDbidRate*.998; // установить U двигаться дальше
// торговля 2 математика, U в L, вход L
для каждого ($ LTCtoUSD[«Спрашивает»] в виде $ значение) {
$ minimumBidLTC знак равно$ minimumBidBTC*$ BTCtoUSDbidRate/.998) /$ значение[0];
$ LTCtoUSDaskRate знак равно $ значение[0];
если ($ значение[1] >знак равно $ minimumBidLTC/.998 && $ значение[1] *$ значение[0] < $ USD ) {
$ BTC знак равно $ USD/$ BTCtoUSDbidRate/.998; // установить новый B
$ USD знак равно $ BTC*$ BTCtoUSDbidRate*.998; // установить новый U двигаться дальше
ломать;
}
если ( $ значение[1] >знак равно $ minimumBidLTC && $ значение[1] *$ значение[0] >знак равно $ USD ) {
ломать;
}
}
$ LTC знак равно$ USD*.998) /$ LTCtoUSDaskRate; // установить L двигаться дальше
// торговля 3 математика, L к B», вход L
для каждого ($ LTCtoBTC[«ставки»] в виде $ значение) {
$ LTCtoBTCbidRate знак равно $ значение[0];
если ( $ значение[1] /.998 >знак равно $ minimumBidLTC && $ значение[1] < $ LTC ) {
$ minimumBidBTC знак равно$ minimumBidBTC*$ BTCtoUSDbidRate/.998) /$ значение[0]; // Это не в том месте и он не используется?
$ USDXзнак равно$ значение[1] *$ LTCtoUSDaskRate) /.998;
$ BTCзнак равно$ USDX/$ BTCtoUSDbidRate) /.998;
$ USD знак равно$ BTC*$ BTCtoUSDbidRate) *.998;
$ LTC знак равно$ USD/$ LTCtoUSDaskRate) *.998;
ломать;
}
если ( $ значение[1] /.998 >знак равно $ minimumBidLTC && $ значение[1] >знак равно $ LTC ) {
ломать;
}
}
$ BULBamount = Массив ($ BTC,$ USD,$ LTC);
$ BULBrate = Массив ($ BTCtoUSDbidRate,$ LTCtoUSDaskRate,$ LTCtoBTCbidRate);
// $ ЛАМПЫ = круглый ((($ LTC * $ LTCtoBTCbidRate * 0,998 / $ BTC) -1) * 100,4);
$ ЛАМПЫ знак равно $ LTC*$ LTCtoBTCbidRate*.998-$ BTC; // B Profit
// 4/19 тестирования торгует только выше 0,2% порога комисся, чтобы сэкономить на валютных клиринговые расходах.
$ BULBpercent знак равно$ LTC*$ LTCtoBTCbidRate*.998) /$ BTC-1) *100;
если (@$ DEBUG) Распечатать «\ П ЛАМПА Сумма: {$ ЛАМПЫ} ЛАМПА Процент: {$ BULBpercent}";
если ($ ЛАМПЫ > $ пороговая && $ BULBpercent > $ thresholdP ) {$ executeTrade знак равно ПРАВДА;}// Торговля если критерии.
если ($ BULBamount < $ minBidBTC){Выход;} // ОШИБКА ПРОВЕРКИ
////////////////////////////////////////////////// //////////////////
// END END END ЛАМПА Глубина Math
////////////////////////////////////////////////// //////////////////
////////////////////////////////////////////////// //////////////////
// Blub Глубина Math
////////////////////////////////////////////////// //////////////////
// 1 торговой математика, В к L, L вход
$ BTC знак равно $ maxBTC;
$ minimumBidBTC знак равно $ minBTC;
для каждого ($ LTCtoBTC[«Спрашивает»] в виде $ значение) {
$ minimumBidLTC знак равно $ minimumBidBTC/$ значение[0];
$ LTCtoBTCaskRate знак равно $ значение[0];
если ($ значение[1] >знак равно $ minimumBidLTC && $ значение[1] *$ значение[0] < $ BTC && $ значение[1] *$ значение[0] >знак равно $ minimumBidBTC) {
$ BTC знак равно $ значение[1] *$ значение[0]; // Устанавливает к балансовой стоимости
ломать;
}
если ( $ значение[1] >знак равно $ minimumBidLTC && $ значение[1] *$ значение[0] >знак равно $ BTC) {
ломать;
}
}
$ LTCзнак равно$ BTC/$ LTCtoBTCaskRate) *.998; // установить L двигаться дальше
// торговля 2 математика, L на U, вход L
для каждого ($ LTCtoUSD[«ставки»] в виде $ значение) {
$ minimumBidLTC знак равно $ minimumBidLTC/.998;
если ($ значение[1] >знак равно $ minimumBidLTC && $ значение[1] < $ LTC ) {
$ LTCtoUSDbidRate знак равно $ значение[0];
$ BTC знак равно $ значение[1] *$ LTCtoBTCaskRate/.998;
$ LTCзнак равно$ BTC/$ LTCtoBTCaskRate) *.998; // Recalc торговля 1 с новым B
ломать;
}
если ( $ значение[1] >знак равно $ minimumBidLTC && $ значение[1] >знак равно $ LTC) {
$ LTCtoUSDbidRate знак равно $ значение[0];
ломать;
}
}
$ USD знак равно$ LTC*$ LTCtoUSDbidRate) *.998; // установить U двигаться дальше
// торговля 3 математика, U к B», вход B
для каждого ($ BTCtoUSD[«Спрашивает»] в виде $ значение) {
$ minimumBidBTC знак равно $ minimumBidBTC/.998;
если ( $ значение[1] >знак равно $ minimumBidBTC && $ значение[1] *$ значение[0] < $ USD) {
$ BTCtoUSDaskRate знак равно $ значение[0];
$ LTCX знак равно$ значение[1] *$ значение[0]) / ( $ LTCtoUSDbidRate*.998 ); // установить новый L из книги
$ BTC знак равно$ LTCX*$ LTCtoBTCaskRate) /.998; // установить новый B с новым L
$ LTC знак равно$ BTC/$ LTCtoBTCaskRate) *.998; // Recalc торговля 1 с новым B
$ USD знак равно$ LTC*$ LTCtoUSDbidRate) *.998; // Recalc торговля 2 с новым U
ломать;
}
если ( $ значение[1] >знак равно $ minimumBidBTC && $ значение[1] *$ значение[0] >знак равно $ USD) {
$ BTCtoUSDaskRate знак равно $ значение[0];
ломать;
}
}
$ BLUBamount = Массив ($ BTC,$ LTC,$ USD);
$ BLUBrate = Массив ($ LTCtoBTCaskRate,$ LTCtoUSDbidRate,$ BTCtoUSDaskRate);
// $ Blub = круглый ((((($ USD / $ BTCtoUSDaskRate) * 998) / $ BTC) -1) * 100,4.);
$ Blub знак равно $ USD/$ BTCtoUSDaskRate*.998-$ BTC;
$ BLUBpercent знак равно$ USD/$ BTCtoUSDaskRate*.998) /$ BTC-1) *100;
если ($ USD/$ BTCtoUSDaskRate*.998-$ BTC > $ пороговая && $ BLUBpercent > $ thresholdP )
{$ executeTrade знак равно ПРАВДА;}
если (@$ DEBUG) Распечатать «\ П Blub Сумма: {$ Blub} Blub Процент: {$ BLUBpercent}";
// ОШИБКА ПРОВЕРКИ
если ($ BLUBamount < $ minBidBTC)
{Выход;}
////////////////////////////////////////////////// //////////////////
// END END END Blub Глубина Math
////////////////////////////////////////////////// //////////////////
}
если ( $ валюта == "U") {
////////////////////////////////////////////////// //////////////////
// ULBU Глубина Math
////////////////////////////////////////////////// //////////////////
// UBLU это спросить, спросить, предложение.
$ minimumBidLTC знак равно $ minBidLTC;
$ minimumBidBTC знак равно $ minBidBTC;
$ USDзнак равно$ maxUSD;
// печать "USD: {$ USD} \ п";
// печать "Leg 1 \ п";
// торговля 1, Купить L с U, вход L
для каждого ($ LTCtoUSD[«Спрашивает»] в виде $ значение) {
// print_r ($ значение);
// minbid LTC уже установлен
$ LTCtoUSDaskRateзнак равно$ значение[0]; // установить скорость
// После этой сделки и комисси должны иметь по крайней мере 1LTC влево
// Если мы покупаем .1 LTC мы не можем продать .0998LTC в LEG 2
если ($ значение[1] >знак равно $ minimumBidLTC/.998 && $ значение[1] *$ значение[0] < $ USD ) {
$ USDзнак равно$ значение[1] *$ значение[0]; // установить U к балансовой стоимости
// печать "USD: {$ USD} \ п";
ломать;
}
если ( $ значение[1] >знак равно $ minimumBidLTC/.998 && $ значение[1] *$ значение[0] >знак равно $ USD) {
// $ USD = $ USD; // использовать текущий U
ломать;
}
}
$ LTC знак равно$ USD/$ LTCtoUSDaskRate) *.998; // установить L двигаться дальше
// печать "LTC: {$ LTC} \ п";
// торговля 2, Продажа L для B, вход L
// печать "Leg 2 \ п";
// При нынешних темпах мы не беспокоиться о том, что минимальные ставки в долларах США
// value0 это скорость (МОП) значение 1 сумма (INL) 0 * 1 Итого B
для каждого ($ LTCtoBTC[«ставки»] в виде $ значение) {
// print_r ($ значение);
$ LTCtoBTCbidRate знак равно $ значение[0]; // установить скорость
если ( $ значение[1] >знак равно $ minimumBidLTC && $ значение[1] < $ LTC && $ значение[0] *$ значение[1] *.998 >знак равно $ minimumBidBTC ) {
$ USD знак равно$ значение[1] *$ LTCtoUSDaskRate) /.998; // установить новый U вверх
// печать "USD: {$ USD} \ п";
$ LTC знак равно $ USD/$ LTCtoUSDaskRate*.998; // установить новый L вниз
// печать "LTC: {$ LTC} \ п";
ломать;
}
если ($ значение[1] /.998 >знак равно $ minimumBidLTC && $ значение[1] >знак равно $ LTC && $ значение[0] *$ значение[1] *.998 >знак равно $ minimumBidBTC ) {
// $ USD = $ USD; // использовать текущий U
// $ LTC = $ LTC; // использовать текущий L
ломать;
}
}
$ BTC знак равно$ LTC*$ LTCtoBTCbidRate) *.998; // установить B, чтобы перейти
// печать "BTC: {$ BTC} \ п";
// торговля 3, Продажа B для U», вход B
// печать "Leg 3 \ п";
для каждого ($ BTCtoUSD[«ставки»] в виде $ значение) {
// print_r ($ значение);
$ BTCtoUSDbidRate знак равно $ значение[0]; // установить скорость
если ( $ значение[1] >знак равно $ minimumBidBTC && $ значение[1] < $ BTC ) {
// $ LTCX = $ значение [1] / * Total B * // $ LTCtoBTCbidRate / * Div 0,002 МОГ для L * //. 998 / * Добавить комисси * /
//$LTCX=$value[1]/($LTCtoUSDaskRate*.998); // установить новый L вверх
$ LTCX знак равно $ значение[1] /$ LTCtoBTCbidRate/.998;
// печать "LTCX: {$ LTCX} \ п";
$ USDзнак равно$ LTCX*$ LTCtoUSDaskRate) /.998; // установить новый U вверх
// печать "USD: {$ USD} \ п";
$ LTCзнак равно$ USD/$ LTCtoUSDaskRate) *.998; // установить новый L вниз
// печать "LTC: {$ LTC} \ п";
$ BTCзнак равно$ LTC*$ LTCtoBTCbidRate) *.998; // установить новый B вниз
// печать "BTC: {$ BTC} \ п";
ломать;
}
если ( $ значение[1] >знак равно $ minimumBidBTC && $ значение[1] >знак равно $ BTC) {
// $ USD = $ USD; // использовать текущий U
// $ LTC = $ LTC; // использовать текущий L
// $ BTC = $ BTC; // использовать текущий B
ломать;
}
}
$ USDX знак равно$ BTC*$ BTCtoUSDbidRate) *.998; // окончательный U
// печать "USDX: {$ USDX} \ п";
$ ULBUamount = Массив ($ USD,$ LTC,$ BTC);
// печать "ULBUamount: {$ ULBUamount} \ п";
$ ULBUrate = Массив ($ LTCtoUSDaskRate,$ LTCtoBTCbidRate,$ BTCtoUSDbidRate);
// print_r ($ ULBUrate);
$ ULBU знак равно $ USDX-$ USD;
// печать "ULBU: {$ ULBU} \ п";
если ( $ ULBU > $ пороговая)
{$ executeTrade знак равно ПРАВДА;}
// ОШИБКА ПРОВЕРКИ
если ($ ULBUamount < $ minBidUSD)
{Выход;}
////////////////////////////////////////////////// //////////////////
// END ULBU Глубина Math
////////////////////////////////////////////////// //////////////////
////////////////////////////////////////////////// //////////////////
// UBLU Глубина Math
////////////////////////////////////////////////// //////////////////
/// начальная сумма торговли = $ USD
/// /// UBLU
$ minimumBidBTC знак равно $ minBidBTC;
$ USDзнак равно$ maxUSD;
// печать "USD: {$ USD} \ п";
// (определить мин)
// торговля 1, Купить B с U, вход B
для каждого ($ BTCtoUSD[«Спрашивает»] в виде $ значение) {
// print_r ($ значение);
$ BTCtoUSDaskRateзнак равно$ значение[0]; // установить скорость
если ( $ значение[1] >знак равно $ minimumBidBTC && $ значение[1] *$ значение[0] < $ USD ) {
$ USDзнак равно$ значение[1] *$ значение[0]; // установить U к балансовой стоимости
// печать "USD: {$ USD} \ п";
ломать;
}
если ( $ значение[1] >знак равно $ minimumBidBTC && $ значение[1] *$ значение[0] >знак равно $ USD) {
// $ USD = $ USD; // использовать текущий U
ломать;
}
}
$ BTC знак равно$ USD/$ BTCtoUSDaskRate) *.998; // установить B, чтобы перейти
// печать "BTC: {$ BTC} \ п";
// торговля 2, Купить L с B, вход L
для каждого ($ LTCtoBTC[«Спрашивает»] в виде $ значение) {
// print_r ($ значение);
$ LTCtoBTCaskRate знак равно $ значение[0]; // установить скорость
если ( $ значение[1] /.998 >знак равно $ minimumBidLTC && $ значение[1] *$ значение[0] < $ BTC ) {
$ USDзнак равно$ значение[1] *$ значение[0] *$ BTCtoUSDaskRate) /.998; // установить новый U вверх
// печать "USD: {$ USD} \ п";
$ BTCзнак равно$ USD/$ BTCtoUSDaskRate) *.998; // установить новый B вниз
// печать "BTC: {$ BTC} \ п";
ломать;
}
если ($ значение[1] /.998 >знак равно $ minimumBidLTC && $ значение[1] >знак равно $ BTC) {
// $ USD = $ USD; // использовать текущий U
// $ BTC = $ BTC; // использовать текущий B
ломать;
}
}
$ LTC знак равно$ BTC/$ LTCtoBTCaskRate) *.998; // установить L двигаться дальше
// печать "LTC: {$ LTC} \ п";
// торговля 3, Продажа L для U», L вход
для каждого ($ LTCtoUSD[«ставки»] в виде $ значение) {
$ LTCtoUSDbidRate знак равно $ значение[0];
если ( $ значение[1] >знак равно $ minimumBidLTC && $ значение[1] < $ LTC ) {
$ BTCXзнак равно$ значение[1] *$ LTCtoBTCaskRate) /.998; // установить новый В вверх
// печать "BTCX: {$ BTCX} \ п";
$ USDзнак равно$ BTCX*$ BTCtoUSDaskRate) /.998; // установить новый U вверх
// печать "USD: {$ USD} \ п";
$ BTCзнак равно$ USD/$ BTCtoUSDaskRate) *.998; // установить новый B вниз
// печать "BTC: {$ BTC} \ п";
$ LTCзнак равно$ BTC/$ LTCtoBTCaskRate) *.998; // установить новый L вниз
// печать "LTC: {$ LTC} \ п";
ломать;
}
если ( $ значение[1] >знак равно $ minimumBidLTC && $ значение[1] >знак равно $ LTC) {
// $ USD = $ USD; // использовать текущий U
// $ BTC = $ BTC; // использовать текущий B
// $ LTC = $ LTC; // использовать текущий L
ломать;
}
}
$ USDX знак равно$ LTC*$ LTCtoUSDbidRate) *.998; // окончательный U
// печать "USDX: {$ USDX} \ п";
$ UBLUamount = Массив ($ USD,$ BTC,$ LTC);
// печать "UBLUamount: {$ UBLUamount} \ п";
$ UBLUrate = Массив ($ BTCtoUSDaskRate,$ LTCtoBTCaskRate,$ LTCtoUSDbidRate);
// print_r ($ UBLUrate);
$ UBLU знак равно $ USDX-$ USD;
// печать "UBLU: {$ UBLU} \ п";
если ($ UBLU > $ пороговая)
{$ executeTrade знак равно ПРАВДА;}
// ОШИБКА ПРОВЕРКИ
если ($ UBLUamount < $ minBidUSD)
{Выход;}
////////////////////////////////////////////////// //////////////////
// END UBLU Глубина Math
////////////////////////////////////////////////// //////////////////
}
////////////////////////////////////////////////// //////////////////
// Модульные торговые Массивы
////////////////////////////////////////////////// //////////////////
если (@$ executeTrade) {
// Находим ВЫСОКУЮ ПРИБЫЛЬ ВОЗМОЖНОСТИ
если ( $ валюта == «В») {
$ путь знак равно Максимум(@$ ЛАМПЫ, @$ Blub);
}
если ( $ валюта == "U") {
$ путь знак равно Максимум(@$ UBLU, @$ ULBU);
}
если ( $ путь == @$ ЛАМПЫ )
{
// определить луковицы торговых массивов
$ торговое название знак равно «ЛАМПА»;
$ Тип = Массив («Продать»,"купить",«Продать»);
символ $ = Массив ("Btc_usd","Ltc_usd","Ltc_btc");
$ сумма знак равно $ BULBamount;
$ ставка знак равно $ BULBrate;
$ круглый = Массив (8,8,8);
$ фонды = Массив («ВТС»,"доллар США","LTC");
}
если ( $ путь == @$ Blub )
{
// определяют торговые массивы Blub
$ торговое название знак равно «Реветь»;
$ Тип = Массив ("купить",«Продать»,"купить");
символ $ = Массив ("Ltc_btc","Ltc_usd","Btc_usd");
$ сумма знак равно $ BLUBamount;
$ ставка знак равно $ BLUBrate;
$ круглый = Массив (8,8,8);
$ фонды = Массив («ВТС»,"LTC","доллар США");
}
если ( $ путь == @$ ULBU )
{
$ торговое название знак равно "ULBU";
$ Тип = Массив ("купить",«Продать»,«Продать»);
символ $ = Массив ("Ltc_usd","Ltc_btc","Btc_usd");
$ сумма знак равно $ ULBUamount;
$ ставка знак равно $ ULBUrate;
$ круглый = Массив (8,8,8);
$ фонды = Массив ("доллар США","LTC",«ВТС»);
}
если ( $ путь == @$ UBLU )
{
$ торговое название знак равно "UBLU";
$ Тип = Массив ("купить","купить",«Продать»);
символ $ = Массив ("Btc_usd","Ltc_btc","Ltc_usd");
$ сумма знак равно $ UBLUamount;
$ ставка знак равно $ UBLUrate;
$ круглый = Массив (8,8,8);
$ фонды = Массив ("доллар США",«ВТС»,"LTC");
}
////////////////////////////////////////////////// //////////////////
// Modular торговый код
////////////////////////////////////////////////// //////////////////
// Как ускорить торговлю?
// Использовать microtrades, никаких заказов, не испытывая ошибки, ничего.
если (@$ fastTrade) {
// Выполнить обменивали
$ сумма[0знак равно круглый($ сумма[0],8);
$ торговли знак равно json_decode(btce_query("Сделка", массив («Пара» знак равно> символ $[0], "тип" знак равно> $ Тип[0], "количество" знак равно> $ сумма[0], "ставка" знак равно> $ ставка[0])), ПРАВДА);
$ сумма[1знак равно круглый($ сумма[1],8);
// выполнить торговлю 2
$ торговли знак равно json_decode(btce_query("Сделка", массив («Пара» знак равно> символ $[1], "тип" знак равно> $ Тип[1], "количество" знак равно> $ сумма[1], "ставка" знак равно> $ ставка[1])), ПРАВДА);
$ сумма[2знак равно круглый($ сумма[2],8);
если ($ сумма[2] > 0) {
// выполнить торговли 3
$ торговли знак равно json_decode(btce_query("Сделка", массив («Пара» знак равно> символ $[2], "тип" знак равно> $ Тип[2], "количество" знак равно> $ сумма[2], "ставка" знак равно> $ ставка[2])), ПРАВДА);
}
} Еще {
// Установить время торговли для отмены заказа
$ tradeTime знак равно время();
// Начало выполнения сделок
// Выполнить обменивали
$ сумма[0знак равно круглый($ сумма[0],8);
$ торговли знак равно json_decode(btce_query("Сделка", массив («Пара» знак равно> символ $[0], "тип" знак равно> $ Тип[0], "количество" знак равно> $ сумма[0], "ставка" знак равно> $ ставка[0])), ПРАВДА);
если (@$ DEBUG) print_r ($ торговли);
если (@$ DEBUG) эхо «Пара» . символ $[0]. "тип" . $ Тип[0]. "количество" . $ сумма[0]. "ставка" . $ ставка[0]. «\ П»;
// Если мы торговали, и мы получили заказ, бревенчатый его Заказы
если ( $ торговли[«Успех»] == 1 && $ торговли['вернуть'] ['номер заказа'] > 0 ) {
$ отменить знак равно json_decode(btce_query("Отменить заказ", массив ("номер заказа" знак равно> $ торговли['вернуть'] ['номер заказа'])), ПРАВДА);
$ торговли знак равно json_decode(btce_query("получить данные"), ПРАВДА);
}
// Если сделка не удалась, получить баланс для торговли 2
ElseIf ( $ торговли[«Успех»] ==! 1 ) {
$ торговли знак равно json_decode(btce_query('получить данные'), ПРАВДА);
}
// Установить имеющиеся средства для торговли 2 (разной для покупки и продажи заказов)
если ( $ Тип[1] == "купить" ) {
$ TMP знак равно$ торговли['вернуть'] [«средства»] [$ фонды[1]] /$ ставка[1]);
// print_r ($ торговля);
}
ElseIf ( $ Тип[1] == «Продать» ) {
$ TMP знак равно$ торговли['вернуть'] [«средства»] [$ фонды[1]]);
// print_r ($ торговля);
}
// Торговля 2 может вызвать обмен петлю, если он торгует баланс, не допустить этого
если ( $ TMP < $ сумма[1]) {
$ сумма[1знак равно $ TMP;
}
$ сумма[1знак равно круглый($ сумма[1],8);
// Если у нас есть средства, чтобы сделать торговлю 2 Execute торговлю в противном случае перейти к торговле 3
// на второй мысли, просто запустить его в любом случае ....
// если ($ количество [1] > 0) {
// выполнить торговлю 2
$ торговли знак равно json_decode(btce_query("Сделка", массив («Пара» знак равно> символ $[1], "тип" знак равно> $ Тип[1], "количество" знак равно> $ сумма[1], "ставка" знак равно> $ ставка[1])), ПРАВДА);
если (@$ DEBUG) print_r ($ торговли);
если (@$ DEBUG) эхо «Пара» . символ $[1]. "тип" . $ Тип[1]. "количество" . $ сумма[1]. "ставка" . $ ставка[1]. «\ П»;
// Если мы торговали, и мы получили заказ, бревенчатый его Заказы
если ( $ торговли[«Успех»] == 1 && $ торговли['вернуть'] ['номер заказа'] > 0 ) {
$ отменить знак равно json_decode(btce_query("Отменить заказ", массив ("номер заказа" знак равно> $ торговли['вернуть'] ['номер заказа'])), ПРАВДА);
$ торговли знак равно json_decode(btce_query("получить данные"), ПРАВДА);
}
// Если сделка не удалась, получить баланс для торговли 3
ElseIf ( $ торговли[«Успех»] ==! 1 ) {
$ торговли знак равно json_decode(btce_query("получить данные"), ПРАВДА);
}
// Установить имеющиеся средства для торговли 3 (разной для покупки и продажи заказов)
// Торговля 3 очищает валюту, торгуя баланс этой валюты из
если ( $ Тип[2] == "купить" ) {
$ сумма[2знак равно$ торговли['вернуть'] [«средства»] [$ фонды[2]] /$ ставка[2]);
// print_r ($ торговля);
}
ElseIf ( $ Тип[2] == «Продать» ) {
$ сумма[2знак равно$ торговли['вернуть'] [«средства»] [$ фонды[2]]);
// print_r ($ торговля);
}
// Проверяем, есть средства для торговли (или только заказы)
$ сумма[2знак равно круглый($ сумма[2],8);
если ($ сумма[2] > 0) {
// выполнить торговли 3
$ торговли знак равно json_decode(btce_query("Сделка", массив («Пара» знак равно> символ $[2], "тип" знак равно> $ Тип[2], "количество" знак равно> $ сумма[2], "ставка" знак равно> $ ставка[2])), ПРАВДА);
если (@$ DEBUG) print_r ($ торговли);
если (@$ DEBUG) эхо «Пара» . символ $[2]. "тип" . $ Тип[2]. "количество" . $ сумма[2]. "ставка" . $ ставка[2]. «\ П»;
// Если мы торговали, и мы получили заказ, бревенчатый его Заказы
если ( $ торговли[«Успех»] == 1 && $ торговли['вернуть'] ['номер заказа'] > 0 ) {
$ о++;
$ заказов[$ нонсзнак равно $ торговли['вернуть'] ['номер заказа'];
$ раз[$ нонсзнак равно $ tradeTime;
}
}
}
}
}
////////////////////////////////////////////////// //////////////////
// END Modular Торговый код
////////////////////////////////////////////////// //////////////////
Распечатать «Нет \ п \ п ОПАСНО miaviator БОЛЬШЕ НЕ COOL? \ П \ п»;
Выход;
// ФУНКЦИИ
функция btce_query( $ метод знак равно НОЛЬ, $ REQ = Массив ())
{
// ОСНОВНОЙ КЛЮЧ
$ ключ знак равно «»; // ваш API-ключ
$ секрет знак равно «»; // Ваш Секретный ключ
// Параметры API
$ REQ[«Метод»знак равно $ метод;
$ REQ[«Одноразовое значение»знак равно $ GLOBALS[«Одноразовое значение»] ++;
// генерировать строку POST данных
$ PostData знак равно http_build_query($ REQ, «», '&');
// генерировать дополнительные заголовки
$ заголовки = Массив (
'Знак: '.hash_hmac("Sha512", $ PostData, $ секрет)
,«Ключ: {$ ключ}"
);
$ ч знак равно curl_init();
curl_setopt($ ч, CURLOPT_HEADER, ЛОЖНЫЙ);
curl_setopt($ ч, CURLOPT_RETURNTRANSFER, ПРАВДА);
curl_setopt($ ч, CURLOPT_USERAGENT, 'Mozilla / 4.0 (совместимый; PHP клиент BTC-E;'.php_uname('S').«; PHP /».phpversion().')');
curl_setopt($ ч, CURLOPT_URL, 'Https://btc-e.com/tapi');
curl_setopt($ ч, CURLOPT_POSTFIELDS, $ PostData);
curl_setopt($ ч, CURLOPT_HTTPHEADER, $ заголовки);
curl_setopt($ ч, CURLOPT_SSL_VERIFYPEER, ЛОЖНЫЙ);
вернуть curl_exec($ ч);
}
функция writeInc( $ значение знак равно НОЛЬ )
{
$ Ф.П. знак равно Еореп(«Одноразовое значение»,«Ш»);
FWRITE($ Ф.П., $ значение);
fclose($ Ф.П.);
вернуть;
}
функция readInc()
{
$ Ф.П. знак равно Еореп(«Одноразовое значение»,'р');
$ значение = (Целое)Fread($ Ф.П., 8);
fclose($ Ф.П.);
вернуть $ значение;
}
функция cancelOrders()
{
$ возврат знак равно json_decode(btce_query("Список заказа"), ПРАВДА);
если($ возврат[«Успех»] > 0) {
для каждого ($ возврат['вернуть'] в виде $ ключ знак равно> $ значение) {
$ order_id знак равно $ ключ;
$ торговли знак равно json_decode(btce_query("Отменить заказ", массив ("номер заказа" знак равно> $ order_id)), ПРАВДА);
Распечатать "C";
}
}
}
функция Отправить( $ URL знак равно НОЛЬ )
{
$ ч знак равно curl_init();
curl_setopt($ ч, CURLOPT_URL, $ URL);
curl_setopt($ ч, CURLOPT_HEADER, ЛОЖНЫЙ);
curl_setopt($ ч, CURLOPT_RETURNTRANSFER, ПРАВДА);
$ результат знак равно curl_exec($ ч);
curl_close($ ч);
вернуть $ результат;
}
функция изменить валюту()
{
// DEBUG, если тикер не удается загрузить вы можете иметь проблемы?
// решаемый, если разрыв между покупкой и продажей развивается вы могли бы изменить, используемые покупки и продажи, теперь используя последнюю
// изменение DEBUG должно быть больше первоначального распространения,
// incriment тикер счетчик
$ т знак равно $ GLOBALS[«Т»];
$ т++;
// тянуть тикер
$ GLOBALS['бегущая строка'] [$ тзнак равноjson_decode( Отправить( 'Https://btc-e.com/api/2/btc_usd/ticker' ), ПРАВДА );
// если мы возвратили неверные данные или изменение цены Didnt ничего не делать
если ( !@$ GLOBALS['бегущая строка'] [$ т] || $ GLOBALS['бегущая строка'] [$ т] ['бегущая строка'] ['последний'] < .00000001 || $ GLOBALS['бегущая строка'] [$ т] ['бегущая строка'] ['последний'] == $ GLOBALS['бегущая строка'] [$ т-1] ['бегущая строка'] ['последний']) {
// переменная не установлена ($ GLOBALS [ 'тикер'] [$ т]); // отбрасывать данные
$ т--;// Decriment Ticker
$ GLOBALS[«Т»знак равно $ т; // скопировать тикер на глобальный
вернуть $ GLOBALS['бегущая строка']; // выход из функции
}
// если у нас есть достаточно данных, чтобы определить направление
если ( $ т > $ GLOBALS[«Интервал»] +1 ) {
// сброс changecurrency
$ changeCurrency знак равно 0;
если ($ GLOBALS['валюта'] == «В») {
// сброс счетчика цитаты #
$ д знак равно 0;
// Цикл по последним интервалу котировок
в то время как ( $ д <знак равно $ GLOBALS[«Интервал»]) {
// если наша первая тикер GT чем тикерами после, цена снижается
если ( $ GLOBALS['бегущая строка'] [$ т-$ GLOBALS[«Интервал»]] ['бегущая строка'] ['последний'] > $ GLOBALS['бегущая строка'] [$ т-$ д] ['бегущая строка'] ['последний']) {$ changeCurrency++;}
$ д++;
}
если ( $ changeCurrency >знак равно $ GLOBALS[«Интервал»] -$ GLOBALS[«Кривой»]) {
// CHANGE ВАЛЮТА B в U ПРОДАТЬ В для U
$ GLOBALS['цена продажи'знак равно $ GLOBALS['бегущая строка'] [$ т] ['бегущая строка'] [«Продать»];
$ GLOBALS['валюта'знак равно "U";
$ торговли знак равно json_decode(btce_query("получить данные"), ПРАВДА);
// Торговля из 50% B для U
$ торговли знак равно json_decode(btce_query("Сделка", массив («Пара» знак равно> "Btc_usd", "тип" знак равно> «Продать», "количество" знак равно> $ торговли['вернуть'] [«средства»] ['BTC'], "ставка" знак равно> $ GLOBALS['бегущая строка'] [$ т] ['бегущая строка'] [«Продать»])), ПРАВДА);
cancelOrders();
Распечатать «\ П Измененное Currecy B к U: {$ GLOBALS['цена продажи']} ";
}
}
если ($ GLOBALS['валюта'] == "U") {
// сброс счетчика цитаты #
$ д знак равно 0;
// цикл по кавычки
в то время как ( $ д <знак равно $ GLOBALS[«Интервал»]) {
// если первый тикер < Ниже цена тиккеры растет
если ( $ GLOBALS['бегущая строка'] [$ т-$ GLOBALS[«Интервал»]] ['бегущая строка'] ['последний'] < $ GLOBALS['бегущая строка'] [$ т-$ д] ['бегущая строка'] ['последний']) {$ changeCurrency++;}
$ д++;
}
если ( $ changeCurrency >знак равно $ GLOBALS[«Интервал»] -$ GLOBALS[«Кривой»]) {
$ GLOBALS['BuyPrice'знак равно $ GLOBALS['бегущая строка'] [$ т] ['бегущая строка'] ['купить'];
если ( $ GLOBALS['цена продажи'] < $ GLOBALS['BuyPrice']) {
// Вы потеряете деньги, если вы продаете низко и покупают высоко.
// Вы также потеряете деньги, если вы сидите в то время как валюта снижается
}
// Изменение валюты B до U
$ GLOBALS['валюта'знак равно «В»;
$ торговли знак равно json_decode(btce_query("получить данные"), ПРАВДА);
$ торговли знак равно json_decode(btce_query("Сделка", массив («Пара» знак равно> "Btc_usd", "тип" знак равно> "купить", "количество" знак равно> $ торговли['вернуть'] [«средства»] ['доллар США'], "ставка" знак равно> $ GLOBALS['бегущая строка'] [$ т] ['бегущая строка'] ['купить'])), ПРАВДА);
cancelOrders();
Распечатать «\ П Изменено Currecy U к B: {$ GLOBALS['BuyPrice']}";
}
}
}
$ GLOBALS[«Т»знак равно $ т;
вернуть;
}
/ ************************************************* ***********************************
* OLD ИЗМЕНИТЬ КОД ВАЛЮТЫ
* Функция changeCurrency ()
{
// решаемая цена не может измениться, если последняя не изменится или наш известково не должен изменяться, если последние изменения
// DEBUG, если тикер не удается загрузить вы можете иметь проблемы?
// DEBUG, если разрыв между покупкой и продажей развивается вы могли бы изменить,
// Анализ последней покупки и продажи х 4 не 5
//
// Выполнить от неторговых и не повторяющихся пробегов, где arbot печатает.
// incriment тикер счетчик
$ Т = $ GLOBALS [ "т"];
$ Т ++;
// переменная не установлена ($ GLOBALS [ 'тикер'] [$ t- $ GLOBALS [ 'интервал'] - 1]); мы можем proly оставить это .... ИДК, насколько велика она получит.
// тянуть тикер
$ GLOBALS [ 'тиккера'] [$ T] = @json_decode (отправить ( 'https://btc-e.com/api/2/btc_usd/ticker'), TRUE);
// если мы возвратили неверные данные или изменение цены Didnt
если (! @ $ GLOBALS [ 'тикер'] [$ т] || $ GLOBALS [ 'тикер'] [$ т] [ 'тикер'] [ 'последний'] < .00000001 || $ GLOBALS [ 'тиккера'] [$ T] [ 'тикер'] [ 'последние'] == $ GLOBALS [ 'тиккера'] [$ т-1] [ 'тиккера'] [ 'последняя']) {
// переменная не установлена ($ GLOBALS [ 'тикер'] [$ т]); // отбрасывать данные
$ Т - // Decriment Ticker
$ GLOBALS [ "т"] = $ т; // скопировать тикер на глобальный
возвращение $ GLOBALS [ 'тикер']; // выход из функции
}
если ($ т > $ GLOBALS [ 'интервал'] + 1) {
// печать "Последний: {$ GLOBALS [ 'тикер'] [$ т] [ 'тикер'] [ 'последний']}";
// сохранить последний интервал цены и объемы
//{"ticker":{"high":154.99001,"low":121.12,"avg":138.055005,"vol":4033206.07126,"vol_cur":29514.1577,"last":133,"buy":133.4, "продать": 132,2, "server_time": 1366830779}}
$ ChangeCurrency = 0;
если ($ GLOBALS [ 'валюта'] == "B") {
// проанализировать ценовую тенденцию продавать из B (цена продажи)
// первая, если buyPrice < sellPrice купить на 110 102 текущей цены до цены покупки вниз продать
// если 4 из 5 меньше, чем первый
// мы должны проанализировать 6, 1 = оригинал, 2,3,4,5,6 = 5 оценочных, 4 из которых должно быть вверх или вниз,
$ Д = 1;
в то время как ($ д <= $ GLOBALS [ 'интервал'] + 1) {
если ($ GLOBALS [ 'тикер'] [$ t- $ GLOBALS [ 'интервал']] [ 'тикер'] [ 'продать'] > $ GLOBALS [ 'тикер'] [$ t- $ д] [ 'тикер'] [ 'продать']) {$ changeCurrency ++;}
$ Д ++;
// печать "CC: {$ changeCurrency}";
}
если ($ changeCurrency >= $ GLOBALS [ 'интервал'] - $ GLOBALS [ 'кривой']) {
// Анализировать купить книгу
$ Д = 1;
в то время как ($ д <= $ GLOBALS [ 'интервал'] + 1) {
если ($ GLOBALS [ 'тикер'] [$ t- $ GLOBALS [ 'интервал']] [ 'тикер'] [ 'купить'] > $ GLOBALS [ 'тикер'] [$ t- $ д] [ 'тикер'] [ 'купить']) {$ changeCurrency ++;}
$ Д ++;
// печать "CC: {$ changeCurrency}";
}
если ($ changeCurrency >= $ GLOBALS [ 'интервал'] - $ GLOBALS [ 'кривой']) {
// Изменение валюты B до U
$ GLOBALS [ 'sellPrice'] = $ GLOBALS [ 'тикер'] [$ т] [ 'тикер'] [ 'продать'];
$ GLOBALS [ 'валюта'] = "U";
$ Торговля = json_decode (btce_query ( "GetInfo"), TRUE);
$ Торговля = json_decode (btce_query ( "Торговля", массив ( "пара" => "Btc_usd", "тип" => «Продать», «количество» => $ Торговли [ 'возвращение'] [ 'средства'] [ ''] BTC / 2, "скорость" => $ GLOBALS [ 'тикер'] [$ т] [ 'тикер'] [ 'продать'] - 01)), TRUE).
cancelOrders ();
печать "\ п Изменено Currecy B до U: {$ GLOBALS [ 'sellPrice']}";
// место для того, чтобы торговать из валюты? .1B в то время? как повторить?
// Торговля из 50% B для U
}
}
}
$ ChangeCurrency = 0;
если ($ GLOBALS [ 'валюта'] == "U") {
// проанализировать ценовую тенденцию продавать из B (цена продажи)
// первая, если buyPrice < sellPrice купить на 110 102 текущей цены до цены покупки вниз продать
// если х-1 х покупает меньше, чем первый
$ Д = 1;
в то время как ($ д <= $ GLOBALS [ 'интервал'] + 1) {
если ($ GLOBALS [ 'тикер'] [$ t- $ GLOBALS [ 'интервал']] [ 'тикер'] [ 'купить'] < $ GLOBALS [ 'тикер'] [$ t- $ д] [ 'тикер'] [ 'купить']) {$ changeCurrency ++;}
$ Д ++;
// печать "CC: {$ changeCurrency}";
}
// если х-1 х продает меньше, чем первый
// РЕШИТЬ сделать это вложенным если,
если ($ changeCurrency >= $ GLOBALS [ 'интервал'] - $ GLOBALS [ 'кривой']) {
$ Д = 1;
в то время как ($ д <= $ GLOBALS [ 'интервал'] + 1) {
если ($ GLOBALS [ 'тикер'] [$ t- $ GLOBALS [ 'интервал']] [ 'тикер'] [ 'продать'] < $ GLOBALS [ 'тикер'] [$ t- $ д] [ 'тикер'] [ 'продать']) {$ changeCurrency ++;}
$ Д ++;
// печать "CC: {$ changeCurrency}";
}
если ($ changeCurrency >= $ GLOBALS [ 'интервал'] - $ GLOBALS [ 'кривой']) {
$ GLOBALS [ 'buyPrice'] = $ GLOBALS [ 'тикер'] [$ т] [ 'тикер'] [ 'купить'];
если ($ GLOBALS [ 'sellPrice'] < $ GLOBALS [ 'buyPrice']) {
// Вы потеряете деньги, если вы продаете низко и покупают высоко.
// Вы также потеряете деньги, если вы сидите в то время как валюта снижается
}
// Изменение валюты B до U
$ GLOBALS [ 'валюта'] = "B";
$ Торговля = json_decode (btce_query ( "GetInfo"), TRUE);
$ Торговля = json_decode (btce_query ( "Торговля", массив ( "пара" => "Btc_usd", "тип" => «Купить», «количество» => $ Торговли [ 'возвращение'] [ 'средства'] [ 'USD'] / 2, "скорость" => $ GLOBALS [ 'тикер'] [$ т] [ 'тикер'] [ 'купить'] + 01)), TRUE).
cancelOrders ();
печать "\ п Изменено Currecy U к B: {$ GLOBALS [ 'buyPrice']}";
}
// и если объем растет
}
}
// если последний л низкого
// если последнее, чем GT высокого
// если последняя средняя л
// если последняя средняя GT
// текущая валюта = $ GLOBALS [ 'валюта']
}
$ GLOBALS [ "т"] = $ т;
вернуть;
}
************************************************** ************************************************** /
?>
PHP
// USER КОНФИГУРИРУЕМЫЙ
// Печать Debug Информация о торгах
$ DEBUG знак равно НОЛЬ;
// Вашей мин и максимальная ставка, устанавливается в то же самое для статических торгов
$ minBTC знак равно .01;
$ maxBTC знак равно .025;
$ minUSD знак равно 2;
$ maxUSD знак равно 10;
// Для использования fastTrade установить минимальное и максимальное на ту же сумму.
если ( $ minBTC == $ maxBTC || $ minUSD == $ maxUSD) {
$ fastTrade знак равно ПРАВДА;
Распечатать «Fast Trade Enabled ->> Не забудьте очистить валюты»;
}
// Минимальных Заявок обмена будет принимать (BTC-E Mins)
$ minBidBTC знак равно .01;
$ minBidLTC знак равно .1;
$ minBidUSD знак равно .01;
// Использование динамической глубины мы можем выполнить наиболее прибыльную сделку в $ валюте с минимальной% прибыли
// установить как 0, чтобы торговать все прибыльные
$ пороговая знак равно 0; // Выполнение любой прибыльной сделки ** Trade не будет выполняться, если не бить P% ниже
$ thresholdP знак равно .5; // Порог в%
// 100,001-999,999,999 макс ожидания между неторговым & Книга дупликации уменьшенный 1.2.3.4.
$ nanosleep знак равно 1; // наносекунд
// Максимальное время вы хотите сохранить порядок в книге заказа в секундах
// Это применимо только к валюте смыва (нога 3) заказов.
$ MaxAge знак равно 60; // секунд
// Валюта начинаться и заканчиваться в B || L || U
$ валюта знак равно "U";
$ интервал знак равно 12; // вашего интервала замены валюты, это много тиков будут проанализированы, чтобы определить изменения в валюте
$ кривая знак равно 1; // количество противоположных пар тикер выбросить.
/ * IE, если вы тянете $ 10,11,12,9,13 с интервалом 5 и кривой 1 цена будет считать рост.
* Если ваш интервал равен 0, то цена будет считать застойными
* /
// BTC-E Валютные пары & ставка задать имена в формате JSON
$ btcesymbol = Массив ("Btc_usd", "Ltc_btc", "Ltc_usd");
$ btcebidorask = Массив («торги», «Спрашивает»);
$ executeTrade знак равно $ postTrade знак равно ЛОЖНЫЙ;
// Программы
// A - Валюта Арбитраж, выберите UtoU или BtoB арбитраж через L
// B - Портфолио Балансировка, Поддержание 50% двух валют во все времена
// D - купить вниз, купить 1/2 спреда каждый .5 падение и продавать 1 каждый $ 1 выигрыш
// СЧЕТЧИКИ
$ колзнак равно1; // # торгов
$ о знак равно $ я знак равно $ е знак равно 0;
$ т знак равно 0;
$ GLOBALS['бегущая строка'] = Массив ();
// Содержит номера заказа и времени
$ цена знак равно $ объем = Массив ();
$ путь знак равно $ ЛАМПЫ знак равно $ Blub знак равно $ UBLU знак равно $ ULBU знак равно 0;
// получить incriment из нашего файла
$ нонс знак равно readInc();
// Начал свежий пробег, отмените отложенные ордера.
cancelOrders();
//изменить валюту();
// $ = валюта changeCurrency ();
// повторить навсегда
в то время как ( 'Miaviator' !знак равно «Распущенный») {
// Мы не заключить сделку последний цикл
если (!$ executeTrade) {
// Это не торговли цикл, выписывать incriment в файл.
writeInc($ нонс);
//изменить валюту();
// Вывод программы
Распечатать "";
// мы Выполненная профессии последнего запуска (это не запустить)
если ($ postTrade) {
$ minUSD знак равно $ minBTC*$ BTCtoUSD[«ставки»] [0] [0];
$ maxUSD знак равно $ maxBTC*$ BTCtoUSD[«Спрашивает»] [0] [0];
// Общий объем торгов сделали этот пробег
// @ $ всего = $ общая + $ подсчитывать;
Распечатать $ кол;
// Сброс счетчика торговли
$ кол знак равно 0;
// отключить после торговли
$ postTrade знак равно ЛОЖНЫЙ;
если(@$ fastTrade) {
cancelOrders();
// $ = торговли json_decode (btce_query ( "GetInfo"), TRUE);
// DEBUG добавить способ очистки валюты.
} Еще {
в то время как ( $ о > 0 ) {
Распечатать «О»;
$ о--;
}
}
}
}
если ($ executeTrade) {
// Мы обменяли последний запуск
$ postTrade знак равно ПРАВДА;
// Добавить торговлю на прилавок
$ кол++;
// сброс торговли BOOL для следующего запуска
$ executeTrade знак равно ЛОЖНЫЙ;
}
// Получить книгу заказов
$ я знак равно $ е знак равно 0;
// это ужасный код \ /
$ BTCtoUSDold знак равно$ BTCtoUSD[«ставки»] [0] [0];
$ LTCtoBTCold знак равно$ LTCtoBTC[«ставки»] [0] [0];
$ LTCtoUSDold знак равно$ LTCtoUSD[«ставки»] [0] [0];
$ BTCtoUSDold1 знак равно$ BTCtoUSD[«Спрашивает»] [0] [0];
$ LTCtoBTCold1 знак равно$ LTCtoBTC[«Спрашивает»] [0] [0];
$ LTCtoUSDold1 знак равно$ LTCtoUSD[«Спрашивает»] [0] [0];
// поле пустым orderbooks
$ BTCtoUSD знак равно $ LTCtoBTC знак равно $ LTCtoUSD = Массив ();
в то время как (пусто ($ BTCtoUSD) || пусто ($ LTCtoBTC) || пусто ($ LTCtoUSD)) {
$ BTCtoUSD знак равноjson_decode( Отправить( 'Https://btc-e.com/api/2/btc_usd/depth' ), ПРАВДА );
$ LTCtoBTC знак равноjson_decode( Отправить( 'Https://btc-e.com/api/2/ltc_btc/depth' ), ПРАВДА );
$ LTCtoUSD знак равноjson_decode( Отправить( 'Https://btc-e.com/api/2/ltc_usd/depth' ), ПРАВДА );
// Проверка книги заказа изменен
$ старый знак равно $ BTCtoUSDold+$ LTCtoBTCold+$ LTCtoUSDold+$ BTCtoUSDold1+$ LTCtoBTCold1+$ LTCtoUSDold1;
$ новый знак равно $ BTCtoUSD[«ставки»] [0] [0] +$ LTCtoBTC[«ставки»] [0] [0] +$ LTCtoUSD[«ставки»] [0] [0] +$ BTCtoUSD[«Спрашивает»] [0] [0] +$ LTCtoBTC[«Спрашивает»] [0] [0] +$ LTCtoUSD[«Спрашивает»] [0] [0];
если( !@$ BTCtoUSD[«ставки»] || @$ LTCtoBTC[«ставки»] || @$ LTCtoUSD[«ставки»]) {
$ BTCtoUSD знак равно $ LTCtoBTC знак равно $ LTCtoUSD = Массив ();
// $ сон = рандов (6, 36) * (++ $ е);
$ е++;
Распечатать "E" . $ е;
спать(5);
если ( $ е > 2 ) Выход;
/ *
если ($ nanosleep > 100000)
{$ Nanosleep = $ nanosleep + 100000;} // до 9999 прогонов
еще
{$ Nanosleep = $ nanosleep ^ 10;}
* /
}
если ( $ старый == $ новый ) {
$ BTCtoUSD знак равно $ LTCtoBTC знак равно $ LTCtoUSD = Массив ();
Распечатать "-";
// Динамический Таймер
// $ сон = рандов (100000, $ nanosleep); // 100000
// time_nanosleep (0, $ сна);
// Статический таймер
time_nanosleep(0, $ nanosleep);
// если (@ $ postCancel)
// Если мы отложенные ордера отменить их (они могут не существовать)
если (@$ раз) {
// установить текущее время сравнить заказы
$ время знак равно время();
// найти самый ранний порядок в массиве (конец)
$ orderOne знак равно конец($ раз);
// Если этот порядок старше MaxAge начинают отменять
если ( $ orderOne < $ время-$ MaxAge) {
// эхо-цикл по времени порядка
для каждого ($ раз в виде $ ключ знак равно> $ значение ) {
// если мы попали заказы более новые, чем MaxAge перерыва
если ( $ значение > $ время-$ MaxAge ) {
ломать;
}
еще {
$ order_id знак равно $ заказов[$ ключ];
// отменить заказ по номеру нам не нужно, чтобы проверить, если он заполнен или нет
$ торговли знак равно json_decode(btce_query("Отменить заказ", массив ("номер заказа" знак равно> $ order_id)), ПРАВДА);
// удалить этот порядок и время из массива
снята с охраны ($ заказов[$ ключ]);
снята с охраны ($ раз[$ ключ]);
Распечатать "C";
}
}
}
}
}
}
если ( $ валюта == «В») {
////////////////////////////////////////////////// //////////////////
// ЛАМПА Глубина Math
////////////////////////////////////////////////// //////////////////
// торговля 1 математик, B к U, вход B
$ BTC знак равно $ maxBTC;
$ minimumBidBTC знак равно $ minBTC;
для каждого ($ BTCtoUSD[«ставки»] в виде $ значение) {
$ BTCtoUSDbidRate знак равно $ значение[0]; // установить Rate
если ($ значение[1] >знак равно $ minimumBidBTC && $ значение[1] < $ BTC ) {
$ BTC знак равно $ значение[1]; // Устанавливает к балансовой стоимости
ломать;
}
если ( $ значение[1] >знак равно $ minimumBidBTC && $ значение[1] >знак равно $ BTC) {
ломать;
}
}
$ USDзнак равно$ BTC*$ BTCtoUSDbidRate*.998; // установить U двигаться дальше
// торговля 2 математика, U в L, вход L
для каждого ($ LTCtoUSD[«Спрашивает»] в виде $ значение) {
$ minimumBidLTC знак равно$ minimumBidBTC*$ BTCtoUSDbidRate/.998) /$ значение[0];
$ LTCtoUSDaskRate знак равно $ значение[0];
если ($ значение[1] >знак равно $ minimumBidLTC/.998 && $ значение[1] *$ значение[0] < $ USD ) {
$ BTC знак равно $ USD/$ BTCtoUSDbidRate/.998; // установить новый B
$ USD знак равно $ BTC*$ BTCtoUSDbidRate*.998; // установить новый U двигаться дальше
ломать;
}
если ( $ значение[1] >знак равно $ minimumBidLTC && $ значение[1] *$ значение[0] >знак равно $ USD ) {
ломать;
}
}
$ LTC знак равно$ USD*.998) /$ LTCtoUSDaskRate; // установить L двигаться дальше
// торговля 3 математика, L к B», вход L
для каждого ($ LTCtoBTC[«ставки»] в виде $ значение) {
$ LTCtoBTCbidRate знак равно $ значение[0];
если ( $ значение[1] /.998 >знак равно $ minimumBidLTC && $ значение[1] < $ LTC ) {
$ minimumBidBTC знак равно$ minimumBidBTC*$ BTCtoUSDbidRate/.998) /$ значение[0]; // Это не в том месте и он не используется?
$ USDXзнак равно$ значение[1] *$ LTCtoUSDaskRate) /.998;
$ BTCзнак равно$ USDX/$ BTCtoUSDbidRate) /.998;
$ USD знак равно$ BTC*$ BTCtoUSDbidRate) *.998;
$ LTC знак равно$ USD/$ LTCtoUSDaskRate) *.998;
ломать;
}
если ( $ значение[1] /.998 >знак равно $ minimumBidLTC && $ значение[1] >знак равно $ LTC ) {
ломать;
}
}
$ BULBamount = Массив ($ BTC,$ USD,$ LTC);
$ BULBrate = Массив ($ BTCtoUSDbidRate,$ LTCtoUSDaskRate,$ LTCtoBTCbidRate);
// $ ЛАМПЫ = круглый ((($ LTC * $ LTCtoBTCbidRate * 0,998 / $ BTC) -1) * 100,4);
$ ЛАМПЫ знак равно $ LTC*$ LTCtoBTCbidRate*.998-$ BTC; // B Profit
// 4/19 тестирования торгует только выше 0,2% порога комисся, чтобы сэкономить на валютных клиринговые расходах.
$ BULBpercent знак равно$ LTC*$ LTCtoBTCbidRate*.998) /$ BTC-1) *100;
если (@$ DEBUG) Распечатать «\ П ЛАМПА Сумма: {$ ЛАМПЫ} ЛАМПА Процент: {$ BULBpercent}";
если ($ ЛАМПЫ > $ пороговая && $ BULBpercent > $ thresholdP ) {$ executeTrade знак равно ПРАВДА;}// Торговля если критерии.
если ($ BULBamount < $ minBidBTC){Выход;} // ОШИБКА ПРОВЕРКИ
////////////////////////////////////////////////// //////////////////
// END END END ЛАМПА Глубина Math
////////////////////////////////////////////////// //////////////////
////////////////////////////////////////////////// //////////////////
// Blub Глубина Math
////////////////////////////////////////////////// //////////////////
// 1 торговой математика, В к L, L вход
$ BTC знак равно $ maxBTC;
$ minimumBidBTC знак равно $ minBTC;
для каждого ($ LTCtoBTC[«Спрашивает»] в виде $ значение) {
$ minimumBidLTC знак равно $ minimumBidBTC/$ значение[0];
$ LTCtoBTCaskRate знак равно $ значение[0];
если ($ значение[1] >знак равно $ minimumBidLTC && $ значение[1] *$ значение[0] < $ BTC && $ значение[1] *$ значение[0] >знак равно $ minimumBidBTC) {
$ BTC знак равно $ значение[1] *$ значение[0]; // Устанавливает к балансовой стоимости
ломать;
}
если ( $ значение[1] >знак равно $ minimumBidLTC && $ значение[1] *$ значение[0] >знак равно $ BTC) {
ломать;
}
}
$ LTCзнак равно$ BTC/$ LTCtoBTCaskRate) *.998; // установить L двигаться дальше
// торговля 2 математика, L на U, вход L
для каждого ($ LTCtoUSD[«ставки»] в виде $ значение) {
$ minimumBidLTC знак равно $ minimumBidLTC/.998;
если ($ значение[1] >знак равно $ minimumBidLTC && $ значение[1] < $ LTC ) {
$ LTCtoUSDbidRate знак равно $ значение[0];
$ BTC знак равно $ значение[1] *$ LTCtoBTCaskRate/.998;
$ LTCзнак равно$ BTC/$ LTCtoBTCaskRate) *.998; // Recalc торговля 1 с новым B
ломать;
}
если ( $ значение[1] >знак равно $ minimumBidLTC && $ значение[1] >знак равно $ LTC) {
$ LTCtoUSDbidRate знак равно $ значение[0];
ломать;
}
}
$ USD знак равно$ LTC*$ LTCtoUSDbidRate) *.998; // установить U двигаться дальше
// торговля 3 математика, U к B», вход B
для каждого ($ BTCtoUSD[«Спрашивает»] в виде $ значение) {
$ minimumBidBTC знак равно $ minimumBidBTC/.998;
если ( $ значение[1] >знак равно $ minimumBidBTC && $ значение[1] *$ значение[0] < $ USD) {
$ BTCtoUSDaskRate знак равно $ значение[0];
$ LTCX знак равно$ значение[1] *$ значение[0]) / ( $ LTCtoUSDbidRate*.998 ); // установить новый L из книги
$ BTC знак равно$ LTCX*$ LTCtoBTCaskRate) /.998; // установить новый B с новым L
$ LTC знак равно$ BTC/$ LTCtoBTCaskRate) *.998; // Recalc торговля 1 с новым B
$ USD знак равно$ LTC*$ LTCtoUSDbidRate) *.998; // Recalc торговля 2 с новым U
ломать;
}
если ( $ значение[1] >знак равно $ minimumBidBTC && $ значение[1] *$ значение[0] >знак равно $ USD) {
$ BTCtoUSDaskRate знак равно $ значение[0];
ломать;
}
}
$ BLUBamount = Массив ($ BTC,$ LTC,$ USD);
$ BLUBrate = Массив ($ LTCtoBTCaskRate,$ LTCtoUSDbidRate,$ BTCtoUSDaskRate);
// $ Blub = круглый ((((($ USD / $ BTCtoUSDaskRate) * 998) / $ BTC) -1) * 100,4.);
$ Blub знак равно $ USD/$ BTCtoUSDaskRate*.998-$ BTC;
$ BLUBpercent знак равно$ USD/$ BTCtoUSDaskRate*.998) /$ BTC-1) *100;
если ($ USD/$ BTCtoUSDaskRate*.998-$ BTC > $ пороговая && $ BLUBpercent > $ thresholdP )
{$ executeTrade знак равно ПРАВДА;}
если (@$ DEBUG) Распечатать «\ П Blub Сумма: {$ Blub} Blub Процент: {$ BLUBpercent}";
// ОШИБКА ПРОВЕРКИ
если ($ BLUBamount < $ minBidBTC)
{Выход;}
////////////////////////////////////////////////// //////////////////
// END END END Blub Глубина Math
////////////////////////////////////////////////// //////////////////
}
если ( $ валюта == "U") {
////////////////////////////////////////////////// //////////////////
// ULBU Глубина Math
////////////////////////////////////////////////// //////////////////
// UBLU это спросить, спросить, предложение.
$ minimumBidLTC знак равно $ minBidLTC;
$ minimumBidBTC знак равно $ minBidBTC;
$ USDзнак равно$ maxUSD;
// печать "USD: {$ USD} \ п";
// печать "Leg 1 \ п";
// торговля 1, Купить L с U, вход L
для каждого ($ LTCtoUSD[«Спрашивает»] в виде $ значение) {
// print_r ($ значение);
// minbid LTC уже установлен
$ LTCtoUSDaskRateзнак равно$ значение[0]; // установить скорость
// После этой сделки и комисси должны иметь по крайней мере 1LTC влево
// Если мы покупаем .1 LTC мы не можем продать .0998LTC в LEG 2
если ($ значение[1] >знак равно $ minimumBidLTC/.998 && $ значение[1] *$ значение[0] < $ USD ) {
$ USDзнак равно$ значение[1] *$ значение[0]; // установить U к балансовой стоимости
// печать "USD: {$ USD} \ п";
ломать;
}
если ( $ значение[1] >знак равно $ minimumBidLTC/.998 && $ значение[1] *$ значение[0] >знак равно $ USD) {
// $ USD = $ USD; // использовать текущий U
ломать;
}
}
$ LTC знак равно$ USD/$ LTCtoUSDaskRate) *.998; // установить L двигаться дальше
// печать "LTC: {$ LTC} \ п";
// торговля 2, Продажа L для B, вход L
// печать "Leg 2 \ п";
// При нынешних темпах мы не беспокоиться о том, что минимальные ставки в долларах США
// value0 это скорость (МОП) значение 1 сумма (INL) 0 * 1 Итого B
для каждого ($ LTCtoBTC[«ставки»] в виде $ значение) {
// print_r ($ значение);
$ LTCtoBTCbidRate знак равно $ значение[0]; // установить скорость
если ( $ значение[1] >знак равно $ minimumBidLTC && $ значение[1] < $ LTC && $ значение[0] *$ значение[1] *.998 >знак равно $ minimumBidBTC ) {
$ USD знак равно$ значение[1] *$ LTCtoUSDaskRate) /.998; // установить новый U вверх
// печать "USD: {$ USD} \ п";
$ LTC знак равно $ USD/$ LTCtoUSDaskRate*.998; // установить новый L вниз
// печать "LTC: {$ LTC} \ п";
ломать;
}
если ($ значение[1] /.998 >знак равно $ minimumBidLTC && $ значение[1] >знак равно $ LTC && $ значение[0] *$ значение[1] *.998 >знак равно $ minimumBidBTC ) {
// $ USD = $ USD; // использовать текущий U
// $ LTC = $ LTC; // использовать текущий L
ломать;
}
}
$ BTC знак равно$ LTC*$ LTCtoBTCbidRate) *.998; // установить B, чтобы перейти
// печать "BTC: {$ BTC} \ п";
// торговля 3, Продажа B для U», вход B
// печать "Leg 3 \ п";
для каждого ($ BTCtoUSD[«ставки»] в виде $ значение) {
// print_r ($ значение);
$ BTCtoUSDbidRate знак равно $ значение[0]; // установить скорость
если ( $ значение[1] >знак равно $ minimumBidBTC && $ значение[1] < $ BTC ) {
// $ LTCX = $ значение [1] / * Total B * // $ LTCtoBTCbidRate / * Div 0,002 МОГ для L * //. 998 / * Добавить комисси * /
//$LTCX=$value[1]/($LTCtoUSDaskRate*.998); // установить новый L вверх
$ LTCX знак равно $ значение[1] /$ LTCtoBTCbidRate/.998;
// печать "LTCX: {$ LTCX} \ п";
$ USDзнак равно$ LTCX*$ LTCtoUSDaskRate) /.998; // установить новый U вверх
// печать "USD: {$ USD} \ п";
$ LTCзнак равно$ USD/$ LTCtoUSDaskRate) *.998; // установить новый L вниз
// печать "LTC: {$ LTC} \ п";
$ BTCзнак равно$ LTC*$ LTCtoBTCbidRate) *.998; // установить новый B вниз
// печать "BTC: {$ BTC} \ п";
ломать;
}
если ( $ значение[1] >знак равно $ minimumBidBTC && $ значение[1] >знак равно $ BTC) {
// $ USD = $ USD; // использовать текущий U
// $ LTC = $ LTC; // использовать текущий L
// $ BTC = $ BTC; // использовать текущий B
ломать;
}
}
$ USDX знак равно$ BTC*$ BTCtoUSDbidRate) *.998; // окончательный U
// печать "USDX: {$ USDX} \ п";
$ ULBUamount = Массив ($ USD,$ LTC,$ BTC);
// печать "ULBUamount: {$ ULBUamount} \ п";
$ ULBUrate = Массив ($ LTCtoUSDaskRate,$ LTCtoBTCbidRate,$ BTCtoUSDbidRate);
// print_r ($ ULBUrate);
$ ULBU знак равно $ USDX-$ USD;
// печать "ULBU: {$ ULBU} \ п";
если ( $ ULBU > $ пороговая)
{$ executeTrade знак равно ПРАВДА;}
// ОШИБКА ПРОВЕРКИ
если ($ ULBUamount < $ minBidUSD)
{Выход;}
////////////////////////////////////////////////// //////////////////
// END ULBU Глубина Math
////////////////////////////////////////////////// //////////////////
////////////////////////////////////////////////// //////////////////
// UBLU Глубина Math
////////////////////////////////////////////////// //////////////////
/// начальная сумма торговли = $ USD
/// /// UBLU
$ minimumBidBTC знак равно $ minBidBTC;
$ USDзнак равно$ maxUSD;
// печать "USD: {$ USD} \ п";
// (определить мин)
// торговля 1, Купить B с U, вход B
для каждого ($ BTCtoUSD[«Спрашивает»] в виде $ значение) {
// print_r ($ значение);
$ BTCtoUSDaskRateзнак равно$ значение[0]; // установить скорость
если ( $ значение[1] >знак равно $ minimumBidBTC && $ значение[1] *$ значение[0] < $ USD ) {
$ USDзнак равно$ значение[1] *$ значение[0]; // установить U к балансовой стоимости
// печать "USD: {$ USD} \ п";
ломать;
}
если ( $ значение[1] >знак равно $ minimumBidBTC && $ значение[1] *$ значение[0] >знак равно $ USD) {
// $ USD = $ USD; // использовать текущий U
ломать;
}
}
$ BTC знак равно$ USD/$ BTCtoUSDaskRate) *.998; // установить B, чтобы перейти
// печать "BTC: {$ BTC} \ п";
// торговля 2, Купить L с B, вход L
для каждого ($ LTCtoBTC[«Спрашивает»] в виде $ значение) {
// print_r ($ значение);
$ LTCtoBTCaskRate знак равно $ значение[0]; // установить скорость
если ( $ значение[1] /.998 >знак равно $ minimumBidLTC && $ значение[1] *$ значение[0] < $ BTC ) {
$ USDзнак равно$ значение[1] *$ значение[0] *$ BTCtoUSDaskRate) /.998; // установить новый U вверх
// печать "USD: {$ USD} \ п";
$ BTCзнак равно$ USD/$ BTCtoUSDaskRate) *.998; // установить новый B вниз
// печать "BTC: {$ BTC} \ п";
ломать;
}
если ($ значение[1] /.998 >знак равно $ minimumBidLTC && $ значение[1] >знак равно $ BTC) {
// $ USD = $ USD; // использовать текущий U
// $ BTC = $ BTC; // использовать текущий B
ломать;
}
}
$ LTC знак равно$ BTC/$ LTCtoBTCaskRate) *.998; // установить L двигаться дальше
// печать "LTC: {$ LTC} \ п";
// торговля 3, Продажа L для U», L вход
для каждого ($ LTCtoUSD[«ставки»] в виде $ значение) {
$ LTCtoUSDbidRate знак равно $ значение[0];
если ( $ значение[1] >знак равно $ minimumBidLTC && $ значение[1] < $ LTC ) {
$ BTCXзнак равно$ значение[1] *$ LTCtoBTCaskRate) /.998; // установить новый В вверх
// печать "BTCX: {$ BTCX} \ п";
$ USDзнак равно$ BTCX*$ BTCtoUSDaskRate) /.998; // установить новый U вверх
// печать "USD: {$ USD} \ п";
$ BTCзнак равно$ USD/$ BTCtoUSDaskRate) *.998; // установить новый B вниз
// печать "BTC: {$ BTC} \ п";
$ LTCзнак равно$ BTC/$ LTCtoBTCaskRate) *.998; // установить новый L вниз
// печать "LTC: {$ LTC} \ п";
ломать;
}
если ( $ значение[1] >знак равно $ minimumBidLTC && $ значение[1] >знак равно $ LTC) {
// $ USD = $ USD; // использовать текущий U
// $ BTC = $ BTC; // использовать текущий B
// $ LTC = $ LTC; // использовать текущий L
ломать;
}
}
$ USDX знак равно$ LTC*$ LTCtoUSDbidRate) *.998; // окончательный U
// печать "USDX: {$ USDX} \ п";
$ UBLUamount = Массив ($ USD,$ BTC,$ LTC);
// печать "UBLUamount: {$ UBLUamount} \ п";
$ UBLUrate = Массив ($ BTCtoUSDaskRate,$ LTCtoBTCaskRate,$ LTCtoUSDbidRate);
// print_r ($ UBLUrate);
$ UBLU знак равно $ USDX-$ USD;
// печать "UBLU: {$ UBLU} \ п";
если ($ UBLU > $ пороговая)
{$ executeTrade знак равно ПРАВДА;}
// ОШИБКА ПРОВЕРКИ
если ($ UBLUamount < $ minBidUSD)
{Выход;}
////////////////////////////////////////////////// //////////////////
// END UBLU Глубина Math
////////////////////////////////////////////////// //////////////////
}
////////////////////////////////////////////////// //////////////////
// Модульные торговые Массивы
////////////////////////////////////////////////// //////////////////
если (@$ executeTrade) {
// Находим ВЫСОКУЮ ПРИБЫЛЬ ВОЗМОЖНОСТИ
если ( $ валюта == «В») {
$ путь знак равно Максимум(@$ ЛАМПЫ, @$ Blub);
}
если ( $ валюта == "U") {
$ путь знак равно Максимум(@$ UBLU, @$ ULBU);
}
если ( $ путь == @$ ЛАМПЫ )
{
// определить луковицы торговых массивов
$ торговое название знак равно «ЛАМПА»;
$ Тип = Массив («Продать»,"купить",«Продать»);
символ $ = Массив ("Btc_usd","Ltc_usd","Ltc_btc");
$ сумма знак равно $ BULBamount;
$ ставка знак равно $ BULBrate;
$ круглый = Массив (8,8,8);
$ фонды = Массив («ВТС»,"доллар США","LTC");
}
если ( $ путь == @$ Blub )
{
// определяют торговые массивы Blub
$ торговое название знак равно «Реветь»;
$ Тип = Массив ("купить",«Продать»,"купить");
символ $ = Массив ("Ltc_btc","Ltc_usd","Btc_usd");
$ сумма знак равно $ BLUBamount;
$ ставка знак равно $ BLUBrate;
$ круглый = Массив (8,8,8);
$ фонды = Массив («ВТС»,"LTC","доллар США");
}
если ( $ путь == @$ ULBU )
{
$ торговое название знак равно "ULBU";
$ Тип = Массив ("купить",«Продать»,«Продать»);
символ $ = Массив ("Ltc_usd","Ltc_btc","Btc_usd");
$ сумма знак равно $ ULBUamount;
$ ставка знак равно $ ULBUrate;
$ круглый = Массив (8,8,8);
$ фонды = Массив ("доллар США","LTC",«ВТС»);
}
если ( $ путь == @$ UBLU )
{
$ торговое название знак равно "UBLU";
$ Тип = Массив ("купить","купить",«Продать»);
символ $ = Массив ("Btc_usd","Ltc_btc","Ltc_usd");
$ сумма знак равно $ UBLUamount;
$ ставка знак равно $ UBLUrate;
$ круглый = Массив (8,8,8);
$ фонды = Массив ("доллар США",«ВТС»,"LTC");
}
////////////////////////////////////////////////// //////////////////
// Modular торговый код
////////////////////////////////////////////////// //////////////////
// Как ускорить торговлю?
// Использовать microtrades, никаких заказов, не испытывая ошибки, ничего.
если (@$ fastTrade) {
// Выполнить обменивали
$ сумма[0знак равно круглый($ сумма[0],8);
$ торговли знак равно json_decode(btce_query("Сделка", массив («Пара» знак равно> символ $[0], "тип" знак равно> $ Тип[0], "количество" знак равно> $ сумма[0], "ставка" знак равно> $ ставка[0])), ПРАВДА);
$ сумма[1знак равно круглый($ сумма[1],8);
// выполнить торговлю 2
$ торговли знак равно json_decode(btce_query("Сделка", массив («Пара» знак равно> символ $[1], "тип" знак равно> $ Тип[1], "количество" знак равно> $ сумма[1], "ставка" знак равно> $ ставка[1])), ПРАВДА);
$ сумма[2знак равно круглый($ сумма[2],8);
если ($ сумма[2] > 0) {
// выполнить торговли 3
$ торговли знак равно json_decode(btce_query("Сделка", массив («Пара» знак равно> символ $[2], "тип" знак равно> $ Тип[2], "количество" знак равно> $ сумма[2], "ставка" знак равно> $ ставка[2])), ПРАВДА);
}
} Еще {
// Установить время торговли для отмены заказа
$ tradeTime знак равно время();
// Начало выполнения сделок
// Выполнить обменивали
$ сумма[0знак равно круглый($ сумма[0],8);
$ торговли знак равно json_decode(btce_query("Сделка", массив («Пара» знак равно> символ $[0], "тип" знак равно> $ Тип[0], "количество" знак равно> $ сумма[0], "ставка" знак равно> $ ставка[0])), ПРАВДА);
если (@$ DEBUG) print_r ($ торговли);
если (@$ DEBUG) эхо «Пара» . символ $[0]. "тип" . $ Тип[0]. "количество" . $ сумма[0]. "ставка" . $ ставка[0]. «\ П»;
// Если мы торговали, и мы получили заказ, бревенчатый его Заказы
если ( $ торговли[«Успех»] == 1 && $ торговли['вернуть'] ['номер заказа'] > 0 ) {
$ отменить знак равно json_decode(btce_query("Отменить заказ", массив ("номер заказа" знак равно> $ торговли['вернуть'] ['номер заказа'])), ПРАВДА);
$ торговли знак равно json_decode(btce_query("получить данные"), ПРАВДА);
}
// Если сделка не удалась, получить баланс для торговли 2
ElseIf ( $ торговли[«Успех»] ==! 1 ) {
$ торговли знак равно json_decode(btce_query('получить данные'), ПРАВДА);
}
// Установить имеющиеся средства для торговли 2 (разной для покупки и продажи заказов)
если ( $ Тип[1] == "купить" ) {
$ TMP знак равно$ торговли['вернуть'] [«средства»] [$ фонды[1]] /$ ставка[1]);
// print_r ($ торговля);
}
ElseIf ( $ Тип[1] == «Продать» ) {
$ TMP знак равно$ торговли['вернуть'] [«средства»] [$ фонды[1]]);
// print_r ($ торговля);
}
// Торговля 2 может вызвать обмен петлю, если он торгует баланс, не допустить этого
если ( $ TMP < $ сумма[1]) {
$ сумма[1знак равно $ TMP;
}
$ сумма[1знак равно круглый($ сумма[1],8);
// Если у нас есть средства, чтобы сделать торговлю 2 Execute торговлю в противном случае перейти к торговле 3
// на второй мысли, просто запустить его в любом случае ....
// если ($ количество [1] > 0) {
// выполнить торговлю 2
$ торговли знак равно json_decode(btce_query("Сделка", массив («Пара» знак равно> символ $[1], "тип" знак равно> $ Тип[1], "количество" знак равно> $ сумма[1], "ставка" знак равно> $ ставка[1])), ПРАВДА);
если (@$ DEBUG) print_r ($ торговли);
если (@$ DEBUG) эхо «Пара» . символ $[1]. "тип" . $ Тип[1]. "количество" . $ сумма[1]. "ставка" . $ ставка[1]. «\ П»;
// Если мы торговали, и мы получили заказ, бревенчатый его Заказы
если ( $ торговли[«Успех»] == 1 && $ торговли['вернуть'] ['номер заказа'] > 0 ) {
$ отменить знак равно json_decode(btce_query("Отменить заказ", массив ("номер заказа" знак равно> $ торговли['вернуть'] ['номер заказа'])), ПРАВДА);
$ торговли знак равно json_decode(btce_query("получить данные"), ПРАВДА);
}
// Если сделка не удалась, получить баланс для торговли 3
ElseIf ( $ торговли[«Успех»] ==! 1 ) {
$ торговли знак равно json_decode(btce_query("получить данные"), ПРАВДА);
}
// Установить имеющиеся средства для торговли 3 (разной для покупки и продажи заказов)
// Торговля 3 очищает валюту, торгуя баланс этой валюты из
если ( $ Тип[2] == "купить" ) {
$ сумма[2знак равно$ торговли['вернуть'] [«средства»] [$ фонды[2]] /$ ставка[2]);
// print_r ($ торговля);
}
ElseIf ( $ Тип[2] == «Продать» ) {
$ сумма[2знак равно$ торговли['вернуть'] [«средства»] [$ фонды[2]]);
// print_r ($ торговля);
}
// Проверяем, есть средства для торговли (или только заказы)
$ сумма[2знак равно круглый($ сумма[2],8);
если ($ сумма[2] > 0) {
// выполнить торговли 3
$ торговли знак равно json_decode(btce_query("Сделка", массив («Пара» знак равно> символ $[2], "тип" знак равно> $ Тип[2], "количество" знак равно> $ сумма[2], "ставка" знак равно> $ ставка[2])), ПРАВДА);
если (@$ DEBUG) print_r ($ торговли);
если (@$ DEBUG) эхо «Пара» . символ $[2]. "тип" . $ Тип[2]. "количество" . $ сумма[2]. "ставка" . $ ставка[2]. «\ П»;
// Если мы торговали, и мы получили заказ, бревенчатый его Заказы
если ( $ торговли[«Успех»] == 1 && $ торговли['вернуть'] ['номер заказа'] > 0 ) {
$ о++;
$ заказов[$ нонсзнак равно $ торговли['вернуть'] ['номер заказа'];
$ раз[$ нонсзнак равно $ tradeTime;
}
}
}
}
}
////////////////////////////////////////////////// //////////////////
// END Modular Торговый код
////////////////////////////////////////////////// //////////////////
Распечатать «Нет \ п \ п ОПАСНО miaviator БОЛЬШЕ НЕ COOL? \ П \ п»;
Выход;
// ФУНКЦИИ
функция btce_query( $ метод знак равно НОЛЬ, $ REQ = Массив ())
{
// ОСНОВНОЙ КЛЮЧ
$ ключ знак равно «»; // ваш API-ключ
$ секрет знак равно «»; // Ваш Секретный ключ
// Параметры API
$ REQ[«Метод»знак равно $ метод;
$ REQ[«Одноразовое значение»знак равно $ GLOBALS[«Одноразовое значение»] ++;
// генерировать строку POST данных
$ PostData знак равно http_build_query($ REQ, «», '&');
// генерировать дополнительные заголовки
$ заголовки = Массив (
'Знак: '.hash_hmac("Sha512", $ PostData, $ секрет)
,«Ключ: {$ ключ}"
);
$ ч знак равно curl_init();
curl_setopt($ ч, CURLOPT_HEADER, ЛОЖНЫЙ);
curl_setopt($ ч, CURLOPT_RETURNTRANSFER, ПРАВДА);
curl_setopt($ ч, CURLOPT_USERAGENT, 'Mozilla / 4.0 (совместимый; PHP клиент BTC-E;'.php_uname('S').«; PHP /».phpversion().')');
curl_setopt($ ч, CURLOPT_URL, 'Https://btc-e.com/tapi');
curl_setopt($ ч, CURLOPT_POSTFIELDS, $ PostData);
curl_setopt($ ч, CURLOPT_HTTPHEADER, $ заголовки);
curl_setopt($ ч, CURLOPT_SSL_VERIFYPEER, ЛОЖНЫЙ);
вернуть curl_exec($ ч);
}
функция writeInc( $ значение знак равно НОЛЬ )
{
$ Ф.П. знак равно Еореп(«Одноразовое значение»,«Ш»);
FWRITE($ Ф.П., $ значение);
fclose($ Ф.П.);
вернуть;
}
функция readInc()
{
$ Ф.П. знак равно Еореп(«Одноразовое значение»,'р');
$ значение = (Целое)Fread($ Ф.П., 8);
fclose($ Ф.П.);
вернуть $ значение;
}
функция cancelOrders()
{
$ возврат знак равно json_decode(btce_query("Список заказа"), ПРАВДА);
если($ возврат[«Успех»] > 0) {
для каждого ($ возврат['вернуть'] в виде $ ключ знак равно> $ значение) {
$ order_id знак равно $ ключ;
$ торговли знак равно json_decode(btce_query("Отменить заказ", массив ("номер заказа" знак равно> $ order_id)), ПРАВДА);
Распечатать "C";
}
}
}
функция Отправить( $ URL знак равно НОЛЬ )
{
$ ч знак равно curl_init();
curl_setopt($ ч, CURLOPT_URL, $ URL);
curl_setopt($ ч, CURLOPT_HEADER, ЛОЖНЫЙ);
curl_setopt($ ч, CURLOPT_RETURNTRANSFER, ПРАВДА);
$ результат знак равно curl_exec($ ч);
curl_close($ ч);
вернуть $ результат;
}
функция изменить валюту()
{
// DEBUG, если тикер не удается загрузить вы можете иметь проблемы?
// решаемый, если разрыв между покупкой и продажей развивается вы могли бы изменить, используемые покупки и продажи, теперь используя последнюю
// изменение DEBUG должно быть больше первоначального распространения,
// incriment тикер счетчик
$ т знак равно $ GLOBALS[«Т»];
$ т++;
// тянуть тикер
$ GLOBALS['бегущая строка'] [$ тзнак равноjson_decode( Отправить( 'Https://btc-e.com/api/2/btc_usd/ticker' ), ПРАВДА );
// если мы возвратили неверные данные или изменение цены Didnt ничего не делать
если ( !@$ GLOBALS['бегущая строка'] [$ т] || $ GLOBALS['бегущая строка'] [$ т] ['бегущая строка'] ['последний'] < .00000001 || $ GLOBALS['бегущая строка'] [$ т] ['бегущая строка'] ['последний'] == $ GLOBALS['бегущая строка'] [$ т-1] ['бегущая строка'] ['последний']) {
// переменная не установлена ($ GLOBALS [ 'тикер'] [$ т]); // отбрасывать данные
$ т--;// Decriment Ticker
$ GLOBALS[«Т»знак равно $ т; // скопировать тикер на глобальный
вернуть $ GLOBALS['бегущая строка']; // выход из функции
}
// если у нас есть достаточно данных, чтобы определить направление
если ( $ т > $ GLOBALS[«Интервал»] +1 ) {
// сброс changecurrency
$ changeCurrency знак равно 0;
если ($ GLOBALS['валюта'] == «В») {
// сброс счетчика цитаты #
$ д знак равно 0;
// Цикл по последним интервалу котировок
в то время как ( $ д <знак равно $ GLOBALS[«Интервал»]) {
// если наша первая тикер GT чем тикерами после, цена снижается
если ( $ GLOBALS['бегущая строка'] [$ т-$ GLOBALS[«Интервал»]] ['бегущая строка'] ['последний'] > $ GLOBALS['бегущая строка'] [$ т-$ д] ['бегущая строка'] ['последний']) {$ changeCurrency++;}
$ д++;
}
если ( $ changeCurrency >знак равно $ GLOBALS[«Интервал»] -$ GLOBALS[«Кривой»]) {
// CHANGE ВАЛЮТА B в U ПРОДАТЬ В для U
$ GLOBALS['цена продажи'знак равно $ GLOBALS['бегущая строка'] [$ т] ['бегущая строка'] [«Продать»];
$ GLOBALS['валюта'знак равно "U";
$ торговли знак равно json_decode(btce_query("получить данные"), ПРАВДА);
// Торговля из 50% B для U
$ торговли знак равно json_decode(btce_query("Сделка", массив («Пара» знак равно> "Btc_usd", "тип" знак равно> «Продать», "количество" знак равно> $ торговли['вернуть'] [«средства»] ['BTC'], "ставка" знак равно> $ GLOBALS['бегущая строка'] [$ т] ['бегущая строка'] [«Продать»])), ПРАВДА);
cancelOrders();
Распечатать «\ П Измененное Currecy B к U: {$ GLOBALS['цена продажи']} ";
}
}
если ($ GLOBALS['валюта'] == "U") {
// сброс счетчика цитаты #
$ д знак равно 0;
// цикл по кавычки
в то время как ( $ д <знак равно $ GLOBALS[«Интервал»]) {
// если первый тикер < Ниже цена тиккеры растет
если ( $ GLOBALS['бегущая строка'] [$ т-$ GLOBALS[«Интервал»]] ['бегущая строка'] ['последний'] < $ GLOBALS['бегущая строка'] [$ т-$ д] ['бегущая строка'] ['последний']) {$ changeCurrency++;}
$ д++;
}
если ( $ changeCurrency >знак равно $ GLOBALS[«Интервал»] -$ GLOBALS[«Кривой»]) {
$ GLOBALS['BuyPrice'знак равно $ GLOBALS['бегущая строка'] [$ т] ['бегущая строка'] ['купить'];
если ( $ GLOBALS['цена продажи'] < $ GLOBALS['BuyPrice']) {
// Вы потеряете деньги, если вы продаете низко и покупают высоко.
// Вы также потеряете деньги, если вы сидите в то время как валюта снижается
}
// Изменение валюты B до U
$ GLOBALS['валюта'знак равно «В»;
$ торговли знак равно json_decode(btce_query("получить данные"), ПРАВДА);
$ торговли знак равно json_decode(btce_query("Сделка", массив («Пара» знак равно> "Btc_usd", "тип" знак равно> "купить", "количество" знак равно> $ торговли['вернуть'] [«средства»] ['доллар США'], "ставка" знак равно> $ GLOBALS['бегущая строка'] [$ т] ['бегущая строка'] ['купить'])), ПРАВДА);
cancelOrders();
Распечатать «\ П Изменено Currecy U к B: {$ GLOBALS['BuyPrice']}";
}
}
}
$ GLOBALS[«Т»знак равно $ т;
вернуть;
}
/ ************************************************* ***********************************
* OLD ИЗМЕНИТЬ КОД ВАЛЮТЫ
* Функция changeCurrency ()
{
// решаемая цена не может измениться, если последняя не изменится или наш известково не должен изменяться, если последние изменения
// DEBUG, если тикер не удается загрузить вы можете иметь проблемы?
// DEBUG, если разрыв между покупкой и продажей развивается вы могли бы изменить,
// Анализ последней покупки и продажи х 4 не 5
//
// Выполнить от неторговых и не повторяющихся пробегов, где arbot печатает.
// incriment тикер счетчик
$ Т = $ GLOBALS [ "т"];
$ Т ++;
// переменная не установлена ($ GLOBALS [ 'тикер'] [$ t- $ GLOBALS [ 'интервал'] - 1]); мы можем proly оставить это .... ИДК, насколько велика она получит.
// тянуть тикер
$ GLOBALS [ 'тиккера'] [$ T] = @json_decode (отправить ( 'https://btc-e.com/api/2/btc_usd/ticker'), TRUE);
// если мы возвратили неверные данные или изменение цены Didnt
если (! @ $ GLOBALS [ 'тикер'] [$ т] || $ GLOBALS [ 'тикер'] [$ т] [ 'тикер'] [ 'последний'] < .00000001 || $ GLOBALS [ 'тиккера'] [$ T] [ 'тикер'] [ 'последние'] == $ GLOBALS [ 'тиккера'] [$ т-1] [ 'тиккера'] [ 'последняя']) {
// переменная не установлена ($ GLOBALS [ 'тикер'] [$ т]); // отбрасывать данные
$ Т - // Decriment Ticker
$ GLOBALS [ "т"] = $ т; // скопировать тикер на глобальный
возвращение $ GLOBALS [ 'тикер']; // выход из функции
}
если ($ т > $ GLOBALS [ 'интервал'] + 1) {
// печать "Последний: {$ GLOBALS [ 'тикер'] [$ т] [ 'тикер'] [ 'последний']}";
// сохранить последний интервал цены и объемы
//{"ticker":{"high":154.99001,"low":121.12,"avg":138.055005,"vol":4033206.07126,"vol_cur":29514.1577,"last":133,"buy":133.4, "продать": 132,2, "server_time": 1366830779}}
$ ChangeCurrency = 0;
если ($ GLOBALS [ 'валюта'] == "B") {
// проанализировать ценовую тенденцию продавать из B (цена продажи)
// первая, если buyPrice < sellPrice купить на 110 102 текущей цены до цены покупки вниз продать
// если 4 из 5 меньше, чем первый
// мы должны проанализировать 6, 1 = оригинал, 2,3,4,5,6 = 5 оценочных, 4 из которых должно быть вверх или вниз,
$ Д = 1;
в то время как ($ д <= $ GLOBALS [ 'интервал'] + 1) {
если ($ GLOBALS [ 'тикер'] [$ t- $ GLOBALS [ 'интервал']] [ 'тикер'] [ 'продать'] > $ GLOBALS [ 'тикер'] [$ t- $ д] [ 'тикер'] [ 'продать']) {$ changeCurrency ++;}
$ Д ++;
// печать "CC: {$ changeCurrency}";
}
если ($ changeCurrency >= $ GLOBALS [ 'интервал'] - $ GLOBALS [ 'кривой']) {
// Анализировать купить книгу
$ Д = 1;
в то время как ($ д <= $ GLOBALS [ 'интервал'] + 1) {
если ($ GLOBALS [ 'тикер'] [$ t- $ GLOBALS [ 'интервал']] [ 'тикер'] [ 'купить'] > $ GLOBALS [ 'тикер'] [$ t- $ д] [ 'тикер'] [ 'купить']) {$ changeCurrency ++;}
$ Д ++;
// печать "CC: {$ changeCurrency}";
}
если ($ changeCurrency >= $ GLOBALS [ 'интервал'] - $ GLOBALS [ 'кривой']) {
// Изменение валюты B до U
$ GLOBALS [ 'sellPrice'] = $ GLOBALS [ 'тикер'] [$ т] [ 'тикер'] [ 'продать'];
$ GLOBALS [ 'валюта'] = "U";
$ Торговля = json_decode (btce_query ( "GetInfo"), TRUE);
$ Торговля = json_decode (btce_query ( "Торговля", массив ( "пара" => "Btc_usd", "тип" => «Продать», «количество» => $ Торговли [ 'возвращение'] [ 'средства'] [ ''] BTC / 2, "скорость" => $ GLOBALS [ 'тикер'] [$ т] [ 'тикер'] [ 'продать'] - 01)), TRUE).
cancelOrders ();
печать "\ п Изменено Currecy B до U: {$ GLOBALS [ 'sellPrice']}";
// место для того, чтобы торговать из валюты? .1B в то время? как повторить?
// Торговля из 50% B для U
}
}
}
$ ChangeCurrency = 0;
если ($ GLOBALS [ 'валюта'] == "U") {
// проанализировать ценовую тенденцию продавать из B (цена продажи)
// первая, если buyPrice < sellPrice купить на 110 102 текущей цены до цены покупки вниз продать
// если х-1 х покупает меньше, чем первый
$ Д = 1;
в то время как ($ д <= $ GLOBALS [ 'интервал'] + 1) {
если ($ GLOBALS [ 'тикер'] [$ t- $ GLOBALS [ 'интервал']] [ 'тикер'] [ 'купить'] < $ GLOBALS [ 'тикер'] [$ t- $ д] [ 'тикер'] [ 'купить']) {$ changeCurrency ++;}
$ Д ++;
// печать "CC: {$ changeCurrency}";
}
// если х-1 х продает меньше, чем первый
// РЕШИТЬ сделать это вложенным если,
если ($ changeCurrency >= $ GLOBALS [ 'интервал'] - $ GLOBALS [ 'кривой']) {
$ Д = 1;
в то время как ($ д <= $ GLOBALS [ 'интервал'] + 1) {
если ($ GLOBALS [ 'тикер'] [$ t- $ GLOBALS [ 'интервал']] [ 'тикер'] [ 'продать'] < $ GLOBALS [ 'тикер'] [$ t- $ д] [ 'тикер'] [ 'продать']) {$ changeCurrency ++;}
$ Д ++;
// печать "CC: {$ changeCurrency}";
}
если ($ changeCurrency >= $ GLOBALS [ 'интервал'] - $ GLOBALS [ 'кривой']) {
$ GLOBALS [ 'buyPrice'] = $ GLOBALS [ 'тикер'] [$ т] [ 'тикер'] [ 'купить'];
если ($ GLOBALS [ 'sellPrice'] < $ GLOBALS [ 'buyPrice']) {
// Вы потеряете деньги, если вы продаете низко и покупают высоко.
// Вы также потеряете деньги, если вы сидите в то время как валюта снижается
}
// Изменение валюты B до U
$ GLOBALS [ 'валюта'] = "B";
$ Торговля = json_decode (btce_query ( "GetInfo"), TRUE);
$ Торговля = json_decode (btce_query ( "Торговля", массив ( "пара" => "Btc_usd", "тип" => «Купить», «количество» => $ Торговли [ 'возвращение'] [ 'средства'] [ 'USD'] / 2, "скорость" => $ GLOBALS [ 'тикер'] [$ т] [ 'тикер'] [ 'купить'] + 01)), TRUE).
cancelOrders ();
печать "\ п Изменено Currecy U к B: {$ GLOBALS [ 'buyPrice']}";
}
// и если объем растет
}
}
// если последний л низкого
// если последнее, чем GT высокого
// если последняя средняя л
// если последняя средняя GT
// текущая валюта = $ GLOBALS [ 'валюта']
}
$ GLOBALS [ "т"] = $ т;
вернуть;
}
************************************************** ************************************************** /
?>