Bitcoin Forum
July 01, 2024, 11:02:25 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [31] 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 »
  Print  
Author Topic: Qt Bitcoin Trader [Клиент для безопасных торгов на Mac/Windows/Linux]  (Read 303174 times)
IGHOR (OP)
Legendary
*
Offline Offline

Activity: 1035
Merit: 1065



View Profile WWW
September 01, 2014, 07:57:50 PM
 #601

Вышел багфикс номер 7

Вместе с фиксами багов добавлены пользовательские индикаторы.

Как их делать написано тут http://forum.centrabit.com/viewtopic.php?f=3&t=4168

Qt Bitcoin Trader
Verify digital signature of the app in the file properties every time you download it.
IGHOR (OP)
Legendary
*
Offline Offline

Activity: 1035
Merit: 1065



View Profile WWW
September 02, 2014, 08:37:50 PM
 #602

Вышел багфикс 8, релиз кандидат.

Исправлены баги в JL Script когда ордер не выставлялся и еще пару багов.

Понемногу буду записывать видео документации, вот первое видео: https://www.youtube.com/watch?v=a02i_dKBN4k

Qt Bitcoin Trader
Verify digital signature of the app in the file properties every time you download it.
IGHOR (OP)
Legendary
*
Offline Offline

Activity: 1035
Merit: 1065



View Profile WWW
September 05, 2014, 02:00:39 AM
 #603

Вышел v1.07.99 багфикс релиз 9.

Исправлены баги с кодировкой.
Исправлен баг JL Script когда невозможно достать информацию с ордер бука.
Исправлен баг движка бирж, битфинекс опять работает.
Добавлено два новых события:

Code:
trader.on("MyLastTrade").changed() // Выполнился любой ордер в вашем аккаунте

trader.on("LastTrade").changed() // Выполнился любой ордер на бирже

Qt Bitcoin Trader
Verify digital signature of the app in the file properties every time you download it.
zuza
Member
**
Offline Offline

Activity: 77
Merit: 10


View Profile
September 05, 2014, 03:57:50 AM
 #604

Кстати некоторые правила не срабатывают.
Например,
Когда баланс USD > 20 , то продать всё за XXX.
Ордер не выставляется.
В то же время правило с ценами вполне работает , тоесть правило
Когда Цена >< XXX то продать за XXX- ордер выставляется.

Получается, что правила с балансами не срабатывают.

Подтверждаю, правила с балансами срабатывают не всегда.

Это проблема всех бирж а не программы. Если у вас объем выходит за баланс и биржа отменяет ордер. Но это касаеться только ордеров на покупку. Для решения следует использовать в правиле "- коммисия". И будет число меньше, которое сработает. Но я все перепроверю.
В 98-ой версии все правила с балансами работают, а в 99-ой нет. Это проблема программы.

Например, когда ордер исполняется. то мой баланс изменяется. вот на это событие создается правило:
Наример
Если баланс > xxx, то динь.

Это правило в 98-ой срабатывает, а в 99-ой нет.
IGHOR (OP)
Legendary
*
Offline Offline

Activity: 1035
Merit: 1065



View Profile WWW
September 05, 2014, 12:30:49 PM
 #605

В 98-ой версии все правила с балансами работают, а в 99-ой нет. Это проблема программы.

Например, когда ордер исполняется. то мой баланс изменяется. вот на это событие создается правило:
Наример
Если баланс > xxx, то динь.

Это правило в 98-ой срабатывает, а в 99-ой нет.

Спасибо за баг репорт. Вот приватный билд с фиксом.
Добавил событие исполнения своих и маркет ордеров в правила.

https://dl.dropboxusercontent.com/u/860231/QtBitcoinTrader.exe
https://dl.dropboxusercontent.com/u/860231/QtBitcoinTrader_Beta.dmg

Qt Bitcoin Trader
Verify digital signature of the app in the file properties every time you download it.
zuza
Member
**
Offline Offline

Activity: 77
Merit: 10


View Profile
September 05, 2014, 01:06:15 PM
 #606

В 98-ой версии все правила с балансами работают, а в 99-ой нет. Это проблема программы.

Например, когда ордер исполняется. то мой баланс изменяется. вот на это событие создается правило:
Наример
Если баланс > xxx, то динь.

Это правило в 98-ой срабатывает, а в 99-ой нет.

Спасибо за баг репорт. Вот приватный билд с фиксом.
Добавил событие исполнения своих и маркет ордеров в правила.

https[Suspicious link removed]
https://dl.dropboxusercontent.com/u/860231/QtBitcoinTrader_Beta.dmg
Ураа! Заработало!! Спасибо Большое.
Большое спасибо создателю этой программы!!!
zuza
Member
**
Offline Offline

Activity: 77
Merit: 10


View Profile
September 05, 2014, 01:46:51 PM
 #607

Знающие и понимающие, подскажите, пожалуйста.
Что такое API лаг? Как работать с ним в правилах?
Покажите на простеньком примере, для чего его можно применить?
IGHOR (OP)
Legendary
*
Offline Offline

Activity: 1035
Merit: 1065



View Profile WWW
September 05, 2014, 01:48:06 PM
 #608

Знающие и понимающие, подскажите, пожалуйста.
Что такое API лаг? Как работать с ним в правилах?
Покажите на простеньком примере, для чего его можно применить?

Api Lag - это значение в секундах которое являеться промежутком времени между отправкой запроса и приемом результата. Используеться для определения доступности биржи. Например если лаг больше 15 секунд, значит возможности торговать нет, проблемы у биржи или у вас нет интернета.
Это для того чтобы вы могли определить когда запросы на открытие ордеров или отмену отправлять не желательно.

http://forum.centrabit.com/viewtopic.php?f=3&t=4168

Qt Bitcoin Trader
Verify digital signature of the app in the file properties every time you download it.
zuza
Member
**
Offline Offline

Activity: 77
Merit: 10


View Profile
September 05, 2014, 04:11:08 PM
 #609

Вот попыталсь воспроизвести пример скрипта вычисления среднего значения.
Всё сделала , как описано , но ничего не вышло.
Вот цитата, которая не понятна. Да написать команду, но КУДА? Где должна быть эта команда?
В JL Script можно создавать как свои индикаторы так и события к ним.
Для этого используеться одна команда trader.sendEvent("имя",значение);
Так же команда может быть вызвана с помощью трех параметров trader.sendEvent("символ","имя",значение);
Вы можете придумать любое уникальное имя которое не совпадает с существующими именами индикаторов и отправлять значение всем группам скриптов.
Например, вы хотите создать индикатор вычисления среднего чесла последних цен спроса и предложения AskPrice и BidPrice.
Назовем индикатор "MidPrice". Транслировать событие этого индикатора будет выше указанная функция trader.sendEvent("MidPrice",значение);


Вот эту команду куда вставлять? trader.sendEvent("MidPrice",значение);

Если в начало скрипта ?
[sup]trader.sendEvent("MidPrice",значение);
var lastMidPrice=0;
calculateMidPrice(); // Вызываем функцию при старте, чтобы не дожидаться изменения индикаторов

function calculateMidPrice()
{
var midPrice=(trader.get("BidPrice")+trader.get("AskPrice"))/2;
if(midPrice==lastMidPrice)return; // Останавливаемся если значение не изменилось
lastMidPrice=midPrice; // Сохраняем последнее значение
trader.sendEvent("MidPrice",midPrice); // Транслируем наше событие
}

trader.on("LastPrice").changed()
{
calculateMidPrice();
}

trader.on("AskPrice").changed()
{
calculateMidPrice();
}[/sup]

то проверка кода ругается и выдает ошибку.
Если в отдельный скрипт-группу, то также результата нет?
IGHOR (OP)
Legendary
*
Offline Offline

Activity: 1035
Merit: 1065



View Profile WWW
September 05, 2014, 04:23:09 PM
 #610

Вот эту команду куда вставлять? trader.sendEvent("MidPrice",значение);

В коде который вы процитировали эта команда уже есть. (trader.sendEvent("MidPrice",midPrice); - midPrice это переменная с вычисленным значением индикатора)
Ошибка у вас изза того что текст "значение" нужно заменить на число или переменную.
Команду надо выполнять в момент изменения вашего индикатора.

Если вы добавите строку "trader.sendEvent("MidPrice",100.3);" в начало кода, то команда будет выполнена единожды.
В результате вашему индикатору MidPrice будет присвоено значение 100.3 и оно не будет меняться.

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

Qt Bitcoin Trader
Verify digital signature of the app in the file properties every time you download it.
zuza
Member
**
Offline Offline

Activity: 77
Merit: 10


View Profile
September 05, 2014, 04:31:25 PM
 #611

Вот попыталсь воспроизвести пример скрипта вычисления среднего значения.
Всё сделала , как описано , но ничего не вышло.
Вот цитата, которая не понятна. Да написать команду, но КУДА? Где должна быть эта команда?
В JL Script можно создавать как свои индикаторы так и события к ним.
Для этого используеться одна команда trader.sendEvent("имя",значение);
Так же команда может быть вызвана с помощью трех параметров trader.sendEvent("символ","имя",значение);
Вы можете придумать любое уникальное имя которое не совпадает с существующими именами индикаторов и отправлять значение всем группам скриптов.
Например, вы хотите создать индикатор вычисления среднего чесла последних цен спроса и предложения AskPrice и BidPrice.
Назовем индикатор "MidPrice". Транслировать событие этого индикатора будет выше указанная функция trader.sendEvent("MidPrice",значение);


Вот эту команду куда вставлять? trader.sendEvent("MidPrice",значение);

Если в начало скрипта ?
[sup]trader.sendEvent("MidPrice",value);
var lastMidPrice=0;
calculateMidPrice(); // Вызываем функцию при старте, чтобы не дожидаться изменения индикаторов

function calculateMidPrice()
{
var midPrice=(trader.get("BidPrice")+trader.get("AskPrice"))/2;
if(midPrice==lastMidPrice)return; // Останавливаемся если значение не изменилось
lastMidPrice=midPrice; // Сохраняем последнее значение
trader.sendEvent("MidPrice",midPrice); // Транслируем наше событие
}

trader.on("LastPrice").changed()
{
calculateMidPrice();
}

trader.on("AskPrice").changed()
{
calculateMidPrice();
}[/sup]

то проверка кода ругается и выдает ошибку Не может найти переменную value
Если в отдельный скрипт-группу, то также результата нет?
IGHOR (OP)
Legendary
*
Offline Offline

Activity: 1035
Merit: 1065



View Profile WWW
September 05, 2014, 04:33:08 PM
Last edit: September 05, 2014, 04:43:45 PM by IGHOR
 #612

то проверка кода ругается и выдает ошибку Не может найти переменную value
Если в отдельный скрипт-группу, то также результата нет?

Quote
У каждого события есть три переменные локального действия. Это: symbol, name, value.
symbol это пара, символ примером которой есть текст "BTCUSD"
name код индикатора, текстовое название, пример "LastPrice"
value дробное значение которое содержит последнее значение индикатора
Эти переменные могут быть использованы в любом месте события, а так же не использованы вовсе.

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

Например:

Code:
trader.sendEvent("MidPrice",200.4);

Или:

Code:
var myVariable; // ваша переменная которая сохраняет  результат индикатора
myVariable=(trader.get("BidPrice")+trader.get("AskPrice"))/2; // присваиваем переменной среднее значение
trader.sendEvent("MidPrice",myVariable);// транслируем значение в индикатор под названием MidPrice

Qt Bitcoin Trader
Verify digital signature of the app in the file properties every time you download it.
zuza
Member
**
Offline Offline

Activity: 77
Merit: 10


View Profile
September 05, 2014, 04:55:01 PM
 #613

то проверка кода ругается и выдает ошибку Не может найти переменную value
Если в отдельный скрипт-группу, то также результата нет?

Quote
У каждого события есть три переменные локального действия. Это: symbol, name, value.
symbol это пара, символ примером которой есть текст "BTCUSD"
name код индикатора, текстовое название, пример "LastPrice"
value дробное значение которое содержит последнее значение индикатора
Эти переменные могут быть использованы в любом месте события, а так же не использованы вовсе.

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

Например:

Code:
trader.sendEvent("MidPrice",200.4);

Или:

Code:
var myVariable; // ваша переменная которая сохраняет  результат индикатора
myVariable=(trader.get("BidPrice")+trader.get("AskPrice"))/2; // присваиваем переменной среднее значение
trader.sendEvent("MidPrice",myVariable);// транслируем значение в индикатор под названием MidPrice
вопрос в том, где должна быть эта команда?
В отдельной группе? В отдельнойм скрипте?
И если мы высиляем среднее значение. то причем тут число? Оно же вычисляемое. Какая функция это числа?
IGHOR (OP)
Legendary
*
Offline Offline

Activity: 1035
Merit: 1065



View Profile WWW
September 05, 2014, 05:11:35 PM
 #614

Далее запускаем все скрипты и смотрим в консоль.
Смотрим : ничего не происходит.

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

Вывода у вас нет потому что значение первого скрипта транслируется при запуске а дальше при каждом изменении значения.

То что вы сделали:
1) запустилипервый скрипт, значение протранслировалось единожды и ждет изменений цен маркета.
2) запустили остальные скрипты, но они не получили значения потому что запущены после первого скрипта и пропустили трансляцию запуска.
Запустите сначала второй скрипт а потом первый и увидите результат сразу, или подождите когда изменяться цены маркета и увидите вывод в консоль второго скрипта.
Что вы хотите сделать в третем скрипте?

вопрос в том, где должна быть эта команда?
В отдельной группе? В отдельнойм скрипте?
И если мы высиляем среднее значение. то причем тут число? Оно же вычисляемое. Какая функция это числа?

Это был пример использования в двух вариантах.
sendEvent для одного индикатора должен быть только в одном скрипте.
Трансляция индикатора у вас в первом скрипте.
Теперь вы можете отлавливать изменения из любого другого скрипта (пример ваш второй скрипт).

Qt Bitcoin Trader
Verify digital signature of the app in the file properties every time you download it.
zuza
Member
**
Offline Offline

Activity: 77
Merit: 10


View Profile
September 05, 2014, 05:28:33 PM
 #615

Далее запускаем все скрипты и смотрим в консоль.
Смотрим : ничего не происходит.

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

Вывода у вас нет потому что значение первого скрипта транслируется при запуске а дальше при каждом изменении значения.

То что вы сделали:
1) запустилипервый скрипт, значение протранслировалось единожды и ждет изменений цен маркета.
2) запустили остальные скрипты, но они не получили значения потому что запущены после первого скрипта и пропустили трансляцию запуска.
Запустите сначала второй скрипт а потом первый и увидите результат сразу, или подождите когда изменяться цены маркета и увидите вывод в консоль второго скрипта.
Что вы хотите сделать в третем скрипте?

вопрос в том, где должна быть эта команда?
В отдельной группе? В отдельнойм скрипте?
И если мы высиляем среднее значение. то причем тут число? Оно же вычисляемое. Какая функция это числа?

Это был пример использования в двух вариантах.
sendEvent для одного индикатора должен быть только в одном скрипте.
Трансляция индикатора у вас в первом скрипте.
Теперь вы можете отлавливать изменения из любого другого скрипта (пример ваш второй скрипт).
Кое-что получилось. Спасибо за ответы.
wextel
Newbie
*
Offline Offline

Activity: 17
Merit: 0


View Profile
September 20, 2014, 11:12:33 AM
 #616

Почему то у меня не верно рассчитывается комиссия (в моем случае с namecoin) Там где большая синяя кнопка "купить" я пишу 1 в "объеме покупки" он выдает
1 = 0.99720670 хотя комиссия 0.002 то есть я должен получить (1-0.002)*1NMC = 0.998, но почему то там меньше  Huh
IGHOR (OP)
Legendary
*
Offline Offline

Activity: 1035
Merit: 1065



View Profile WWW
September 20, 2014, 11:26:43 AM
Last edit: September 20, 2014, 12:09:08 PM by IGHOR
 #617

Почему то у меня не верно рассчитывается комиссия (в моем случае с namecoin) Там где большая синяя кнопка "купить" я пишу 1 в "объеме покупки" он выдает
1 = 0.99720670 хотя комиссия 0.002 то есть я должен получить (1-0.002)*1NMC = 0.998, но почему то там меньше  Huh

Спасибо, это баг в парах в которых количество знаков цены 3, исправлю.

Qt Bitcoin Trader
Verify digital signature of the app in the file properties every time you download it.
wextel
Newbie
*
Offline Offline

Activity: 17
Merit: 0


View Profile
September 23, 2014, 04:41:11 AM
 #618

Намертво зависает на цикле while например while(!trader.get("OpenOrdersCount")){}
IGHOR (OP)
Legendary
*
Offline Offline

Activity: 1035
Merit: 1065



View Profile WWW
September 23, 2014, 10:56:22 AM
Last edit: September 23, 2014, 11:15:53 AM by IGHOR
 #619

Намертво зависает на цикле while например while(!trader.get("OpenOrdersCount")){}

Замкнутые циклы всегда приведут к зависанию, Вам следует поставить таймер для проверки значения.
Я добавлю событие изменения OpenOrdersCount в следующем аппдейте, а пока можете использовать этот код:

Code:
var последнееКоличествоОрдеров=0;
function количествоОрдеровИзменилось()
{
trader.log("Количество открытых ордеров изменилось на ", последнееКоличествоОрдеров);
}

trader.timer(1,"if(trader.get('OpenOrdersCount')!= последнееКоличествоОрдеров){последнееКоличествоОрдеров =trader.get('OpenOrdersCount');количествоОрдеровИзменилось();}");

Qt Bitcoin Trader
Verify digital signature of the app in the file properties every time you download it.
IGHOR (OP)
Legendary
*
Offline Offline

Activity: 1035
Merit: 1065



View Profile WWW
September 25, 2014, 01:29:23 AM
 #620

Привет всем.
Я совсем забыл расказать вам про цветовые схемы Qt Bitcoin Trader.
В последнем билде вы можете менять цвета без перекомпиляции программы.

Вот как это сделать:
1) Откройте папку с данными Qt Bitcoin Trader. (Windows: %localappdata%\QtBitcoinTrader, Mac: ~/Application Support/QtBitcoinTrader или папку портабельной вресии QtBitcoinTrader)
2) Создайте новую папку там, назовите "Themes"
3) Запустите программу.

Там автоматически создадуться два файла Dark.thm и Light.thm.

Вы можете открыть их блокнотом или другим текстовым редакором, изменить темы и после перезапуска программы они будут использоваться вместо стандартных.
Все цвета записаны в RBGA формате, это 4 числа разделенные запятой (Красный,Зеленый,Синий,Прозрачность).

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

Qt Bitcoin Trader
Verify digital signature of the app in the file properties every time you download it.
Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [31] 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 »
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!