stiff_tst
Newbie
Offline
Activity: 15
Merit: 0
|
|
February 21, 2015, 08:42:46 AM |
|
Подскажите пожалуйста кусок скрипта для Qt Bitcoin Trader который мог бы закольцевать (loop) что-либо.
var i=0;
function myfunct(); { if (i==0) { //ваш код if (ваш код == выполнен) i=1; } if (i==1) { // ваш код 2 if (ваш код 2 == выполнен) i=0; } }
trader.timer(2,"myfunct()");
примитивнячок
|
|
|
|
stiff_tst
Newbie
Offline
Activity: 15
Merit: 0
|
|
February 24, 2015, 07:45:46 AM |
|
У кого-нибудь получалось ли скомпилировать исходники QTBT под Linux ?
|
|
|
|
billsmith
Newbie
Offline
Activity: 49
Merit: 0
|
|
February 24, 2015, 09:05:20 AM |
|
У кого-нибудь получалось ли скомпилировать исходники QTBT под Linux ?
Компил под ubuntu 12.04, 14.04, Runtu, Debian . Проблем нет
|
|
|
|
stiff_tst
Newbie
Offline
Activity: 15
Merit: 0
|
|
February 24, 2015, 10:42:13 AM Last edit: February 24, 2015, 03:20:41 PM by stiff_tst |
|
Компил под ubuntu 12.04, 14.04, Runtu, Debian . Проблем нет I'm noobДошел до места где компилятор ругался на отсутствие библиотек openssl, победил созданием папки "openssl" в исходниках c копированием туда всего того на что ругался компилятор. Но встретил другую беду и не одну. Компилятор почему-то ругался на код, на несовместимость типов и тп. QT версии 5.4 Попробую продолжить хавать кактус... PS Исходники брал тут https://github.com/JulyIGHOR/QtBitcoinTraderOC - Mint17.1 чистый. PPS. Кактус съёден! Откомпилил проект QT Creator 5.4. Фух...
|
|
|
|
vesnanadvore
Newbie
Offline
Activity: 1
Merit: 0
|
|
March 14, 2015, 12:44:13 PM |
|
С наступившим НГ ! Решил написать стратегию для этой программы Внимание! Стратегия мало протестирована, используйте на свой страх и риск! Торговал на боте по ссылке ниже, в принципе сделал такой же , так что алгоритм читайте тут - 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 var otstup = 0.5 // в %, отступ первого шага,Насколько цена первого buy ордера в таблице закупке должна быть меньше текущей на момент расчета таблицы. Все остальные buy ордера будут еще дешевле var orders = 13 // от 2 до 20 , Сколько buy-ордеров помещать в объеме перекрытия. var perekr = 30 // в % , перекрытие хода цены,Глубина расчета таблицы buy ордеров. Например, при цене первого шага 10USD процент перекрытия 20% означает, что таблица будет выставлена в диапазоне // 8-10USD. var profit = 1 // в % , профит,Сколько профита закладывать в каждый sell ордер. var martin = 15 // в %, мартингейл, При расчете таблицы buy ордеров каждый следующий более дешевый ордер по объему больше предыдущего на это значение. var depo = 98 // в % , от 1 до 98, Использование депо, какую часть от USD (или второй валюты в паре) пускать в оборот
bal=trader.get("Balance","USD") 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) // pervaluteif = 100000 trader.cancelOrders("LTCUSD"); var pric = trader.get("BidPrice") * otstup; var price=pric var cena = pric pricet = pric * prceni; raznost = pric - pricet 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 amstart = amount for (var i = 0; i < orders;) { trader.buy("LTCUSD" , amount / price , price); price = price - raznost amount = amount * martin i = i + 1 } }
trader.delay(25 ,"koa()");
trader.timer(15,"hbvr()");
function hbvr() {
if (trader.get("Balance","LTC") > 0.000001) { if (trader.get("OpenAsksCount") < 1 ) {
trader.delay(10,"venakid()"); }}} var pperv =0 var ppervraz = 0 var pvtorvraz = 0
trader.delay(40 ,"aaa()");
function aac() { trader.cancelAsks(); }
function venakid() { if (trader.get("Balance","LTC") > pperv*0.9999) { ppervraz =0 } vsumma = 0 vbaksi = 0 vprice = pric vamount = amstart vskoordp = orders - trader.get("OpenBidsCount") for (var vi = 0; vi < vskoordp;) { vsumma = vsumma +(( vamount / vprice )/1000*(1000-(trader.get("Fee")*10)))
vbaksi = vbaksi + vamount vprice = vprice - raznost vamount = vamount * martin vi = vi + 1 } vamraz = trader.get("Balance","LTC") - vsumma trader.log("vamraz ",vamraz ); vbaksraz = (vamraz/(1000-(trader.get("Fee")*10))*1000) * vprice vvbaks = vbaksraz + vbaksi vvbaks = vvbaks * profit * (1000/(1000-(trader.get("Fee")*10))) pperv= trader.get("Balance","LTC") trader.sell("LTCUSD" , trader.get("Balance","LTC") , vvbaks / (trader.get("Balance","LTC")+ppervraz) ); }
function aaa() { trader.on("OpenBidsCount").changed() {
if (trader.get("Balance","LTC") > 0.000001) { if (trader.get("Balance","LTC") < pperv*0.9999) { if (trader.get("OpenAsksCount") == 1 ) { if (pperv != 0 ) {
ppervraz = pperv - trader.get("Balance","LTC") // pvtorvraz = ppervraz * trader.get("LastMySellPrice") }}}} trader.delay(3,"aac()"); }}
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 var vverh = 1 // в %, например, если стоит 2%, и на момент запуска скрипта цена покупки будет 100 USD , то при цене покупки 102 весь цикл перезапустится var orderss = 13 // значение как в скрипт 1 // ниже если не шарите ничего не меняйте.
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.timer(45,"rrr()"); function rrr(){
if (trader.get("BidPrice") >= rest) {
if ( trader.get("OpenAsksCount") < 1 ) {
if ( trader.get("OpenBidsCount") == orderss ) {
trader.log("proverka1", trader.get("OpenBidsCount") ); trader.groupStop("Скрипт 1"); trader.groupStart("Скрипт 1"); sledcikl(); }}}}
небольшая история работы бота 16.01.2015 13:22:41 Ł0.121557 продано $1.43392 0.17430302 16.01.2015 12:47:18 Ł0.1218 куплено $1.41404 0.17223007 16.01.2015 12:42:29 Ł0.261119 продано $1.4006 0.36572327 16.01.2015 10:57:32 Ł0.137858 куплено $1.37309 0.18929144 16.01.2015 10:51:00 Ł0.123784 куплено $1.39 0.17205976 16.01.2015 10:38:53 Ł0.267887 продано $1.36405 0.36541126 16.01.2015 10:22:25 Ł0.141432 куплено $1.33727 0.18913277 16.01.2015 10:22:25 Ł0.126992 куплено $1.35393 0.17193828 16.01.2015 10:18:26 Ł0.127438 продано $1.36486 0.17393503 16.01.2015 10:14:35 Ł0.127693 куплено $1.34595 0.1718684 16.01.2015 10:12:13 Ł0.789664 продано $1.34143 1.05927898 16.01.2015 9:30:14 Ł0.194138 куплено $1.29297 0.25101461 16.01.2015 9:28:49 Ł0.174234 куплено $1.30971 0.22819601 16.01.2015 9:04:24 Ł0.156396 куплено $1.32644 0.20744991 16.01.2015 7:56:32 Ł0.140407 куплено $1.34317 0.18859047 16.01.2015 7:51:05 Ł0.126072 куплено $1.35991 0.17144658 Всем профита! и пишите всё что думаете по поводу бота )) UPD: 23.01.2015 20:49:06 , исправил ошибки , исправил описание! Обновите оба скрипта, ну, кроме начальных данных. Помогите под бтцчайну настроить. Посоветуйте настройки. Запустил скрипт, закупку делает, а продать не может, видимо потому-что на чайне только 0.0000 знаков, поэтому не может создать ордер. Как это решить?
|
|
|
|
dikanevn
Newbie
Offline
Activity: 51
Merit: 0
|
|
March 15, 2015, 11:49:54 PM |
|
Эммм даже не знаю, надо сильно вникать, пока нет времени ))
|
|
|
|
booktiger
|
|
March 17, 2015, 07:18:25 AM Last edit: March 17, 2015, 10:31:23 AM by booktiger |
|
Для GOC.io не видит баланс, хоть он и небольшой 0.01 BTC и 2 LTC
Создал еще один ключ API - баланс не видит, ордер не выставляется.
|
|
|
|
pww2000
Newbie
Offline
Activity: 25
Merit: 0
|
|
March 17, 2015, 09:55:05 AM |
|
А циклы будут? Или уже есть, да я не нашел? (я имею ввиду обычные - FOR, WHILE или хотя-бы IF-GOTO, а не через "проход", с помощью trader.timer)
|
|
|
|
stiff_tst
Newbie
Offline
Activity: 15
Merit: 0
|
|
March 17, 2015, 09:06:28 PM |
|
pww2000 Циклы есть, штатные для javascrypt. Работают, проверено.
|
|
|
|
Vector94
Newbie
Offline
Activity: 2
Merit: 0
|
|
March 19, 2015, 08:30:14 AM |
|
С наступившим НГ ! Решил написать стратегию для этой программы Внимание! Стратегия мало протестирована, используйте на свой страх и риск! Торговал на боте по ссылке ниже, в принципе сделал такой же , так что алгоритм читайте тут - 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),на первой должен быть ноль. Всем профита! и пишите всё что думаете по поводу бота )) UPD: 23.01.2015 20:49:06 , исправил ошибки , исправил описание! Обновите оба скрипта, ну, кроме начальных данных. Отличный скрипт, отлично работает на LTC/USD. Спасибо автору! Но BTC/USD несколько глючит. Естественно я поменял все LTC на BTC. 10 раз перепроверил. Первоначальная закупка и продажа проходит нормально, а дальше скрипт зависает, т.е. после продажи, не переставляет ордера. Так же не работает подтяжка ордеров, если цена ушла вверх. При этом на паре LTC/USD все работает отлично! Помогите. Что еще подправить в скрипте, чтобы работал на полном автомате?!
|
|
|
|
dikanevn
Newbie
Offline
Activity: 51
Merit: 0
|
|
March 20, 2015, 08:10:46 PM |
|
Отличный скрипт, отлично работает на LTC/USD. Спасибо автору!
Но BTC/USD несколько глючит. Естественно я поменял все LTC на BTC. 10 раз перепроверил. Первоначальная закупка и продажа проходит нормально, а дальше скрипт зависает, т.е. после продажи, не переставляет ордера. Так же не работает подтяжка ордеров, если цена ушла вверх. При этом на паре LTC/USD все работает отлично! Помогите. Что еще подправить в скрипте, чтобы работал на полном автомате?!
пока нет времени заниматься )) спасибо за ошибку )) почему так даже не знаю
|
|
|
|
Silentium
Newbie
Offline
Activity: 42
Merit: 0
|
|
March 21, 2015, 04:08:23 AM |
|
Отличная вещь
|
|
|
|
pww2000
Newbie
Offline
Activity: 25
Merit: 0
|
|
March 21, 2015, 04:27:59 AM |
|
Где ошибка? trader.log(1.7-1.8 ) на выходе 0
Может предыдущие ошибки отсюда растут?
|
|
|
|
Silentium
Newbie
Offline
Activity: 42
Merit: 0
|
|
March 21, 2015, 09:02:30 AM |
|
Где ошибка? trader.log(1.7-1.8 ) на выходе 0
Может предыдущие ошибки отсюда растут?
врятли...
|
|
|
|
pww2000
Newbie
Offline
Activity: 25
Merit: 0
|
|
March 22, 2015, 06:41:39 AM |
|
Нашел как обойти. Проблема в trader.log() - не выводит дробные отрицательные числа.
Обходится так: a=-0.65 trader.log(""+a);
|
|
|
|
vs2014
|
|
March 23, 2015, 09:02:50 AM |
|
Уважаемые коллеги, Приглашаем всех вас принять участие в торгах на GOC.io с вашим терминалом Qt Bitcoin Trader.
|
|
|
|
Vector94
Newbie
Offline
Activity: 2
Merit: 0
|
|
March 23, 2015, 11:35:36 AM |
|
Нашел как обойти. Проблема в trader.log() - не выводит дробные отрицательные числа.
Обходится так: a=-0.65 trader.log(""+a);
А можно чуть подробнее, что и где изменить?
|
|
|
|
booktiger
|
|
March 23, 2015, 05:26:42 PM |
|
Уважаемые коллеги, Приглашаем всех вас принять участие в торгах на GOC.io с вашим терминалом Qt Bitcoin Trader. Bitcoin Trader c GOC.io не работает, проверено !!!
|
|
|
|
vs2014
|
|
March 23, 2015, 07:33:19 PM Last edit: March 23, 2015, 07:54:36 PM by vs2014 |
|
Уважаемые коллеги, Приглашаем всех вас принять участие в торгах на GOC.io с вашим терминалом Qt Bitcoin Trader. Bitcoin Trader c GOC.io не работает, проверено !!! Да ну!! у меня настроен сейчас. Что у вас не работает? P.S.:И на их сайте указано, что поддерживается... https://centrabit.com/?m0prm=6Возможно, что вы на самом гоке не разрешили торги и обмен информацией для ваших ключей... Нужно напротив ключей на красные крестики нажать, чтобы они зелеными стали... Попробуйте, и все заработает https://goc.io/?cmd=xСтраница торгов>Ключи API
|
|
|
|
pww2000
Newbie
Offline
Activity: 25
Merit: 0
|
|
March 24, 2015, 01:03:06 AM |
|
А можно чуть подробнее, что и где изменить?
Менять ничего не надо. (Вернее надо исправлять код программы ) Смысл в том что trader.log() выводит 0 вместо отрицательных дробных чисел. Чтобы правильно выводил - надо преобразовать число в строку, добавив к числу пустую строку. a=-3.4 trader.log(a) trader.log(""+a)
|
|
|
|
|