Post
Topic
Board Трейдеры
Re: Qt Bitcoin Trader [Клиент для безопасных торгов на Mac/Windows/Linux]
by
Pash_tet
on 06/01/2015, 19:46:32 UTC
Для отмены ордеров на торгующей паре в Скрипт 1 НЕОБХОДИМО указать например trader.cancelOrders("LTCUSD"); вместо trader.cancelOrders(); последнее чревато отменой всех ордеров по всем вашим парам и использования всего появившегося фиата на текущей паре Grin
Для trader.cancelAsks(); также.

Для BTCUSD начальные константы в Скрипт 1 будут конечно же другие.

С наступившим НГ !
Решил написать стратегию для этой программы
Внимание! Стратегия мало протестирована, используйте на свой страх и риск!
Торговал на боте по ссылке ниже, в принципе сделал такой же (Надеюсь по судам меня не начнут таскать =),  так что алгоритм читайте тут -
https://ezhrd.wordpress.com/2014/06/05/%D0%BE%D0%B1%D1%89%D0%B8%D0%B9-%D0%B0%D0%BB%D0%B3%D0%BE%D1%80%D0%B8%D1%82%D0%BC-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D0%B1%D0%BE%D1%82%D0%B0/
Но там 5$ в месяц за одну пару на одной бирже, тут же всё бесплатно.
как и в обновлении того бота,в алгоритм добавлена функция подтяжки таблицы ордеров вслед за курсом. Например, бот выставил таблицу закупок, ни одна закупка не исполнялась, но курс пошел вверх, а не вниз. Когда курс станет выше, чем цены покупки на указанный % , бот снимет всю таблицу закупок и выставит заново, отталкиваясь от нового курса.

Я JavaScript вообще не знал, изучал всё с ходу и поэтому скрипт написан непрофессионально, присылайте глюки и баги если будут.
по умолчанию скрипт написан для пары LTC/USD на бирже BTC-e, что бы настроить для другой пары на любой бирже, заменить на обоих скриптах в блокноте через ctrl+H все LTC на, например, BTC , и USD на ,например , EUR

для запуска в разделе правила добавляем два скрипта с именами "Скрипт 1" и "Скрипт 2" и вставляем текст ,в начале ОБОИХ скриптов меняем параметры под свой вкус, и  запускаем Скрипт 2.
сумма на балансе должна быть вся на второй валюте в паре (для LTC/USD в USD),на первой должен быть ноль.

текст для Скрипт 1
 
Code:
var otstup = 0.5           //   в %, отступ первого шага,Насколько цена первого buy ордера в таблице закупке должна быть меньше текущей на момент расчета таблицы. Все остальные buy ордера будут еще дешевле
var orders = 15            //  от 2 до 20 , Сколько buy-ордеров помещать в объеме перекрытия.
var perekr = 20             //   в % , перекрытие хода цены,Глубина расчета таблицы buy ордеров. Например, при цене первого шага 10USD процент перекрытия 20% означает, что таблица будет выставлена в   // диапазоне 8-10USD.
var profit =  1          //  в % , профит,Сколько профита закладывать в каждый sell ордер.
var martin = 5             //  в %, мартингейл, При расчете таблицы buy ордеров каждый следующий более дешевый ордер по объему больше предыдущего на это значение.
var depo = 99              //   в % , от 1 до 99, Использование депо, какую часть от USD (или второй валюты в паре) пускать в оборот
// ниже если не шарите ничего не меняйте.

var kontr = 100000000
var komissiya = trader.get("Fee")  
otstup = otstup / 100
otstup = 1 - otstup

  depo = depo / 100
martin = martin / 100 + 1

komissiya = komissiya *2
komissiya = komissiya / 100 + 1

perekr = perekr + otstup
profit = profit / 100 + 1
var prceni = perekr / orders

prceni =1-( prceni / 100)

trader.cancelOrders();
 var pric = trader.get("BidPrice") * otstup;
var  price=pric
var cena = pric

function koa()
{
all = trader.get("Balance","USD") * depo
yyy=0
for (var i = 0; i < orders  ;) {
yyy = yyy + Math.pow(martin,i)
i = i + 1
 }

var amount = all / yyy

for (var i = 0; i < orders;) {
 trader.buy("LTCUSD" , amount / price , price);
 price = price * prceni;
amount = amount * martin
  i = i + 1
}
 }


trader.delay(25 ,"koa()");


function aaa()
{
trader.on("OpenBidsCount").changed()
{
trader.delay(3,"aac()");
trader.delay(6,"aab()");
}
}

trader.delay(40 ,"aaa()");

function aac()
{
trader.cancelAsks();
}

function aab()
{
cenavsp = trader.get("LastMyBuyPrice") + pric
cena = cenavsp / 2 * komissiya * profit
trader.log("Ордер на продажу обновлён");

trader.sell("LTCUSD" , trader.get("Balance","LTC") , cena );
kontr = cena
cena = cena / komissiya / profit
}

trader.timer(45,"hjk()");
function hjk() {
if (trader.get("OpenBidsCount") != orders ) {

if (trader.get("OpenAsksCount") < 1 ) {
if (trader.get("Balance","LTC") < 0.000001){

trader.groupStop("Скрипт 2");

trader.groupStart("Скрипт 2");
}}}}

текст для Скрипт 2

Code:
var vverh = 1 // в %, например, если стоит 2%, и  на момент запуска скрипта цена покупки будет 100 USD , то при цене покупки 102 весь цикл перезапустится
// ниже если не шарите ничего не меняйте.

var rest = 100000000000
trader.groupStop("Скрипт 1");
trader.groupStart("Скрипт 1");
sledcikl();
function sledcikl(){
rest = vverh  / 100 + 1
rest = rest * trader.get("BidPrice")
trader.log("restatr pri", rest );

trader.on("BidPrice").changed()
{
rrr();
function rrr(){
if (trader.get("BidPrice") >= rest) {
if ( trader.get("OpenAsksCount") > 0 ) {
if (trader.get("Balance","LTC")< 0.0000001) {

trader.groupStop("Скрипт 1");
trader.groupStart("Скрипт 1");
sledcikl();
}}}}}}

небольшая история работы бота

Code:
LTC/USD sell 0.130933 LTC 2.32617 USD 0.30457241 USD 03.01.15 15:45
LTC/USD buy 0.131195 LTC 2.30538 USD 0.30245432 USD 03.01.15 15:45
LTC/USD sell 2.27194 LTC 2.30637 USD 5.23993425 USD 03.01.15 15:44
LTC/USD buy 0.159373 LTC 2.19128 USD 0.34923086 USD 03.01.15 15:33
LTC/USD buy 0.156927 LTC 2.20339 USD 0.34577138 USD 03.01.15 15:16
LTC/USD buy 0.154519 LTC 2.21558 USD 0.3423492 USD 03.01.15 15:16
LTC/USD buy 0.152148 LTC 2.22783 USD 0.33895987 USD 03.01.15 15:16
LTC/USD buy 0.149813 LTC 2.24014 USD 0.33560209 USD 03.01.15 15:16
LTC/USD buy 0.147514 LTC 2.25253 USD 0.33227971 USD 03.01.15 15:07
LTC/USD buy 0.145251 LTC 2.26499 USD 0.32899206 USD 03.01.15 15:05
LTC/USD buy 0.143022 LTC 2.27751 USD 0.32573403 USD 03.01.15 15:05
LTC/USD buy 0.140827 LTC 2.2901 USD 0.32250791 USD 03.01.15 15:05
LTC/USD buy 0.138666 LTC 2.30277 USD 0.3193159 USD 03.01.15 15:05
LTC/USD buy 0.136538 LTC 2.3155 USD 0.31615373 USD 03.01.15 15:00
LTC/USD buy 0.134443 LTC 2.3283 USD 0.31302363 USD 03.01.15 14:53
LTC/USD buy 0.13238 LTC 2.34118 USD 0.3099254 USD 03.01.15 14:53
LTC/USD buy 0.130348 LTC 2.35412 USD 0.30685483 USD 03.01.15 14:35
LTC/USD buy 0.128348 LTC 2.36714 USD 0.30381768 USD 03.01.15 14:25
LTC/USD buy 0.126378 LTC 2.38023 USD 0.3008087 USD 03.01.15 13:01

Всем профита! и пишите всё что думаете по поводу бота ))
UPD: 06.01 , исправил ошибки