Search content
Sort by

Showing 9 of 9 results by Kocherga
Post
Topic
Board Трейдеры
Re: Qt Bitcoin Trader [Клиент для безопасных торгов на Mac/Windows/Linux]
by
Kocherga
on 07/09/2015, 12:47:21 UTC

при первой продаже баланс был, создал ордер на все т.е 0.01169092
баланс стал 0 ,потом скрипт постоянно повторяет продажу  при 0 балансе.


Вот тут есть нюанс.

Когда баланс больше суммы сделки где-то на 0.000001 и меньше, то ордер может не выставиться (закономерности не нашел). Видимо где-то (скорее всего у биржи) туго с математикой.
Делайте небольшой запас по балансу.

Ордер выставляется 1первый, брал баланс по  trader.get("Balance","BTC")
а потом по логу просто кружит типа другие ордера еще пытается,

Спасибо за идею, попробовал trader.get("Balance","BTC")*0,99999 пока вроде норм в остатке 0.00000023
Post
Topic
Board Трейдеры
Re: Qt Bitcoin Trader [Клиент для безопасных торгов на Mac/Windows/Linux]
by
Kocherga
on 06/09/2015, 17:47:58 UTC
даже попробовал разделить скрипт покупки и продажи:
в скрипте- запуск скрипта1 при балансе бтц>0.01
Quote
trader.timer(60,"proverka3()");// если есть бтц

function proverka3()
{
if(trader.get("Balance","BTC")>0.01) {
trader.groupStart("Скрипт 1");
}}

но почемуто результат тотже :
в логе скрипта
Quote
20:36:14> Start group: "Скрипт 1"
20:37:14> Start group: "Скрипт 1"
20:38:14> Start group: "Скрипт 1"
20:39:14> Start group: "Скрипт 1"
20:40:14> Start group: "Скрипт 1"
20:41:14> Start group: "Скрипт 1"
20:42:14> Start group: "Скрипт 1"
20:43:14> Start group: "Скрипт 1"
20:44:14> Start group: "Скрипт 1"
20:45:14> Start group: "Скрипт 1"

в логе скрипт 1
Quote
20:42:14> BTCUSD: Sell 0.01119996 at 235.68777114
20:42:14> Stop group: "Скрипт 1"
20:43:14> BTCUSD: Sell 0.01119996 at 235.68777114
20:43:14> Stop group: "Скрипт 1"
20:44:14> BTCUSD: Sell 0.01119996 at 235.68777114
20:44:14> Stop group: "Скрипт 1"
20:45:14> BTCUSD: Sell 0.01119996 at 235.68777114
20:45:14> Stop group: "Скрипт 1"
20:46:14> BTCUSD: Sell 0.01119996 at 235.68777114
20:46:14> Stop group: "Скрипт 1"
как я думаю, после первой продажи он должен остановится т.к. баланс бтц становится =0 т.е выражение trader.get("Balance","BTC")>0.01 должно быть неверным, но скрипт каким то образом зацикливется и проходя проверку нулевого  баланса продолжает.

Помогает только ручной перезапуск. Кстате биржа BTC-e если это имеет значение.
Post
Topic
Board Трейдеры
Re: Qt Bitcoin Trader [Клиент для безопасных торгов на Mac/Windows/Linux]
by
Kocherga
on 06/09/2015, 17:25:37 UTC
это мое созданное событие "какой то там расчет" из скрипта 1 для переноса в скрипт 2
Ну сразу бы и сказали.Smiley А то думаю, может упустил чего в этой жизни... Smiley

Ну да ладно, по вопросу, начнем отсюда.
Вот тут:
Quote
16:31:54> BTCUSD: Sell 0.01169092 at 226.904808
баланс смотрели?
Хватает? И кстати, пара правильная выставлена?

при первой продаже баланс был, создал ордер на все т.е 0.01169092
баланс стал 0 ,потом скрипт постоянно повторяет продажу  при 0 балансе.

пары в скрипте не прописывал, использовал trader.get("Balance","BTC"),trader.get("Balance","USD")
Post
Topic
Board Трейдеры
Re: Qt Bitcoin Trader [Клиент для безопасных торгов на Mac/Windows/Linux]
by
Kocherga
on 06/09/2015, 12:28:01 UTC
это мое созданное событие "какой то там расчет" из скрипта 1 для переноса в скрипт 2
Post
Topic
Board Трейдеры
Re: Qt Bitcoin Trader [Клиент для безопасных торгов на Mac/Windows/Linux]
by
Kocherga
on 05/09/2015, 08:08:51 UTC
смотри раздел "Пользовательские индикаторы и события" внимательней.

Да уже несколько раз пересмотрел. Может у меня "раздел "Пользовательские индикаторы и события"" не такой? Smiley
Поиск "procsell" тоже ничего не находит. Undecided

Можете дать скрин или процитировать?

странно, лови.

Quote
Пользовательские индикаторы и события

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

Создаем новую группу для скрипта и назовем его "Индикатор среднего числа".
И добавляем туда два события на изменение последних цен спроса и предложения.

Image

Теперь добавляем код который будет транслировать наше событие, вычисление которого будем делать в отдельной функции, назвоем ее "calculateMidPrice()".
Кодом который вычисляет среднее значение у нас будет "(trader.get("BidPrice")+trader.get("AskPrice"))/2".
Транслировать событие надо только если изменилось наше среднее значение, поэтому создаем переменную "lastMidPrice", в которой будем хранить последнее значение.

Code: Select all
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("BidPrice").changed()
{
calculateMidPrice();
}

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


Image

Теперь проверим как работает наш индикатор. Создаем еще одну пустую группу скрипта под названием "Проверка".
Получать событие пользовательского индикатора так же просто как и с стандартными событиями.
Пишем тело события:

Code: Select all
trader.on("MidPrice").changed()
{

}


И мы будем получать значения внутри него. Чтобы увидеть работу его визуально, добавляем вывод в лог всех изменений.

Code: Select all
trader.on("MidPrice").changed()
{
trader.log("Средняя цена изменилась:", value);
}


Запускаем обе группы скриптов и смотрим в лог.

Image

Наш индикатор работает, и его можно использовать в любом скрипте и в любом месте с помощью стандартного метода trader.get("MidPrice");
Post
Topic
Board Трейдеры
Re: Qt Bitcoin Trader [Клиент для безопасных торгов на Mac/Windows/Linux]
by
Kocherga
on 03/09/2015, 15:03:43 UTC
смотри раздел "Пользовательские индикаторы и события" внимательней.
Post
Topic
Board Трейдеры
Re: Qt Bitcoin Trader [Клиент для безопасных торгов на Mac/Windows/Linux]
by
Kocherga
on 02/09/2015, 17:48:41 UTC
версия 1.10.01
делал по инфе: http://forum.centrabit.com/viewtopic.php?f=3&t=4168
Post
Topic
Board Трейдеры
Re: Qt Bitcoin Trader [Клиент для безопасных торгов на Mac/Windows/Linux]
by
Kocherga
on 02/09/2015, 13:30:32 UTC
Smiley ок
запуск производился из другого скрипта:
Quote
// продажа
trader.on("10MinBuyDivSell").changed()
{
if (trader.get("Balance","BTC")>0.01){
trader.groupStart("Продажа")
}}
само тело продажи:
Quote

var procsell=trader.get("procsell")

trader.sell(trader.get("Balance","BTC"),trader.get("LastMyBuyPrice")*procsell);
trader.groupStop("Продажа");

сейчас по другому переписал но  результат такой же
запуск из другого скрипта:
Quote
trader.groupStop("Продажа");
trader.groupStart("Продажа");
само тело продажи:
Quote
trader.on("10MinBuyDivSell").changed()
{

if (trader.get("Balance","BTC")>0.01){

var procsell=trader.get("procsell")

trader.sell(trader.get("Balance","BTC"),trader.get("LastMyBuyPrice")*procsell);
}}
Quote
16:31:54> BTCUSD: Sell 0.01169092 at 226.904808
16:32:26> BTCUSD: Sell 0.01169092 at 226.904808
16:32:28> BTCUSD: Sell 0.01169092 at 226.904808
16:32:41> BTCUSD: Sell 0.01169092 at 226.904808
Post
Topic
Board Трейдеры
Re: Qt Bitcoin Trader [Клиент для безопасных торгов на Mac/Windows/Linux]
by
Kocherga
on 01/09/2015, 17:59:21 UTC
Возник вопрос: при продаже в теле события, бот начинает кружить, даже при 0 балансе, проверку на баланс обходит мимо в логе постоянно продает.
Quote
20:56:12> BTCUSD: Sell 0.01164607 at 227.173518
20:56:12> Stop group: "Продажа"
20:56:14> BTCUSD: Sell 0.01164607 at 227.173518
20:56:14> Stop group: "Продажа"
20:56:22> BTCUSD: Sell 0.01164607 at 227.173518
20:56:22> Stop group: "Продажа"
20:56:27> BTCUSD: Sell 0.01164607 at 227.173518
20:56:27> Stop group: "Продажа"
20:56:34> BTCUSD: Sell 0.01164607 at 227.173518
20:56:34> Stop group: "Продажа"
20:56:46> BTCUSD: Sell 0.01164607 at 227.173518
20:56:46> Stop group: "Продажа"
20:56:51> BTCUSD: Sell 0.01164607 at 227.173518
20:56:51> Stop group: "Продажа"
20:57:08> BTCUSD: Sell 0.01164607 at 227.173518
20:57:08> Stop group: "Продажа"
20:57:11> BTCUSD: Sell 0.01164607 at 227.173518
20:57:11> Stop group: "Продажа"
20:57:17> BTCUSD: Sell 0.01164607 at 227.173518
20:57:17> Stop group: "Продажа"
может я чего не так делаю?