Jump to content
July Ighor

Qt Bitcoin Trader - Клиент для безопасных торгов на известных биржах

Recommended Posts

3 минуты назад, July Ighor сказал:


Я лишь ответил на вопрос, если так не работает значит либо у вас текущая пара не BTC/USD (так как достаются данные только текущей пары) либо баг.
Если баг то исправим. Скажите а когда используете ивент LastMyBuyPrice а не функции get, то приходят значения?

Вот вывод скрипта:
 

21:07:17> BTC/USD: Buy 0.0000425 at 4704.85
21:07:17> balUsd_2= , boughtBtcFinal= 
21:07:17> bought 0.0000425 BTC, price= 
21:07:17> ggg= nan
21:07:24> GetBtcBalance() boughtFor= 4704.85 , boughtBtcFinal= 0.00018
21:07:24> GetUsdBalance() balUsd_2= 32.47364242 , boughtFor= 4704.85

и "price= "  и "boughtFor= 4704.85"  получаются из запроса

boughtFor = trader.get("LastMyBuyPrice");

(  trader.log("bought ", lacksBtc, " BTC, price=", boughtFor);    trader.log("GetBtcBalance()    boughtFor=",boughtFor,", boughtBtcFinal=",boughtBtcFinal);  )

 

соответственно пока отрабатывала функция - значение не успело прийти, а потом вывелись результаты работы вызовов этих 2х дополнительных функций с делеем и там уже результат есть   boughtFor= 4704.85

Что касается текущей пары - то у меня нет сретств на других монетах, ну и последующий приход данных, хоть и с опозданиемБ подтверждает что пара та самая.

Share this post


Link to post
Share on other sites
34 минуты назад, nlogo сказал:

Вот вывод скрипта:
 

21:07:17> BTC/USD: Buy 0.0000425 at 4704.85
21:07:17> balUsd_2= , boughtBtcFinal= 
21:07:17> bought 0.0000425 BTC, price= 
21:07:17> ggg= nan
21:07:24> GetBtcBalance() boughtFor= 4704.85 , boughtBtcFinal= 0.00018
21:07:24> GetUsdBalance() balUsd_2= 32.47364242 , boughtFor= 4704.85

и "price= "  и "boughtFor= 4704.85"  получаются из запроса

boughtFor = trader.get("LastMyBuyPrice");

(  trader.log("bought ", lacksBtc, " BTC, price=", boughtFor);    trader.log("GetBtcBalance()    boughtFor=",boughtFor,", boughtBtcFinal=",boughtBtcFinal);  )

 

соответственно пока отрабатывала функция - значение не успело прийти, а потом вывелись результаты работы вызовов этих 2х дополнительных функций с делеем и там уже результат есть   boughtFor= 4704.85

Что касается текущей пары - то у меня нет сретств на других монетах, ну и последующий приход данных, хоть и с опозданиемБ подтверждает что пара та самая.


Возможно там баг и вы можете помочь быстрее исправить.

Добавьте пожалуйста этот код и скажите получаете ли вывод.

trader.on("LastMyBuyPrice").changed()
{

trader.log("test", symbol, name, value);
}
Так же скажите меняется ли значение двух индикаторов в панельке истории своих транзакций во время выполнения скрипта?
Попробуйте использовать trader.get("BTCUSD", "LastMyBuyPrice");

Edited by July Ighor

Share this post


Link to post
Share on other sites
8 минут назад, July Ighor сказал:


Возможно там баг и вы можете помочь быстрее исправить.

Добавьте пожалуйста этот код и скажите получаете ли вывод.

trader.on("LastMyBuyPrice").changed()
{

trader.log("test", symbol, name, value);
}
Так же скажите меняется ли значение двух индикаторов в панельке истории своих транзакций во время выполнения скрипта?
Попробуйте использовать trader.get("BTCUSD", "LastMyBuyPrice"); 

сделал

вот вывод:

23:10:41> ----------------- QTBuy -----------------------
23:10:41> BTC/USD: Buy 0.00004216 at 4749.18
23:10:41> balUsd_2= , boughtBtcFinal= 
23:10:41> bought 0.00004216 BTC, boughtFor= 
23:10:41> ggg= nan
23:10:42> test BTC/USD LastMyBuyPrice 4740.73
23:10:48> GetBtcBalance() boughtFor= 0 , boughtBtcFinal= 0.00022
23:10:48> GetUsdBalance() balUsd_2= 5532.28363396 , boughtFor= 0

скрипт был таким:

var ggg;
ggg = QTBuy(0.2);
trader.log("ggg=", ggg);

function QTBuy(buyUsdtValue){
    trader.log("----------------- QTBuy -----------------------");
    var balUsd_1;
    var balUsd_2;
    var balBtc;
    var askVolumePrice;
    var boughtFor;
    var lacksUsd;
    var lacksBtc;
    var nowPrice;
    var boughtBtcFinal;

    balBtc  = trader.get("Balance","BTC") ;  

//    trader.delay(5,"myDelay()");

        balUsd_1  = trader.get("Balance","USD") ;

            lacksUsd = buyUsdtValue;// вычислим сколько осталось еще потратить до нужной суммы
            nowPrice = trader.get("AskPrice");
                trader.delay(5,"myDelay()");
            lacksBtc = lacksUsd / nowPrice; // приблизительный объем покупки
            askVolumePrice = trader.get("AsksPrice",lacksBtc);  // AsksPrice показывет цену напротив суммарного объема битков
                trader.delay(5,"myDelay()");
            trader.buy("BTC/USD" , lacksBtc , (8+askVolumePrice)); 


    trader.on("LastMyBuyPrice").changed()
    {
        trader.log("test", symbol, name, value);
    }

                trader.delay(5,"myDelay()");
                trader.delay(7,"GetUsdBalance()");
                trader.delay(7,"GetBtcBalance()");

            if(balUsd_2 == balUsd_1 || boughtBtcFinal == balBtc) {
                trader.cancelBids();
                trader.delay(5,"myDelay()");
                trader.delay(7,"GetUsdBalance()");
                trader.delay(7,"GetBtcBalance()");
            }


              trader.log("balUsd_2=",balUsd_2,", boughtBtcFinal=",boughtBtcFinal);
              trader.log("bought ", lacksBtc, " BTC, boughtFor=", boughtFor);




    boughtBtcFinal  = boughtBtcFinal - balBtc;

    return ( MyRoundTo8(boughtBtcFinal) );
}

//--------------------------------------------
function GetBtcBalance(){
    boughtFor = trader.get("BTCUSD", "LastMyBuyPrice");  
    boughtBtcFinal  = trader.get("Balance","BTC") ;
    trader.log("GetBtcBalance()    boughtFor=",boughtFor,", boughtBtcFinal=",boughtBtcFinal);

}

//--------------------------------------------
function GetUsdBalance(){
    boughtFor = trader.get("BTCUSD", "LastMyBuyPrice");  
    balUsd_2  = trader.get("Balance","USD") ;
    trader.log("GetUsdBalance()  balUsd_2=",balUsd_2,", boughtFor=",boughtFor);
}

//--------------------------------------------

function MyRoundTo2(MyValue){    
    var result = Math.round(MyValue * 100) / 100;
    return result;
}
//--------------------------------------------

function MyRoundTo8(MyValue){    
    var result = Math.round(MyValue * 100000000) / 100000000;
    return result;
}

в "истории моих сделок" окошко цены показало правильную цену покупки...

Биржа HitBTC

Только что, nlogo сказал:

меняется ли значение двух индикаторов в панельке истории своих транзакций

в "истории моих сделок" окошко цены показало правильную цену покупки...    -  если вы это имели ввиду

Share this post


Link to post
Share on other sites
7 часов назад, nlogo сказал:

boughtFor = trader.get("BTCUSD", "LastMyBuyPrice");

как видно тут стали почему то выводится нули (когда выводится).... 

 

Edited by nlogo

Share this post


Link to post
Share on other sites

@nlogo все еще изучаю проблему, а пока

 

Вышел апдейт Qt Bitcoin Trader v1.40.41

 

Исправлен баг в интеграции Bitstamp API
Исправлен критический баг в диалоге правил, которые не работали при использовании комиссии в цене
Исправлен баг синхронизации времени
Исправлен ордербук в Binance
Удалена биржа Wex
Добавлена настройка альтернативного домена для Yobit
Исправлен визуальный баг мерцания панелек
Много мелких фиксов

Share this post


Link to post
Share on other sites

прочитал стартовый пост, не нашёл главной инфы: 1) сколько стоит? 2) какой оф. сайт программы? очень странно, выложены только ссылки на исходники проги на файлообменниках, первый раз такое вижу  Оо

Share this post


Link to post
Share on other sites
3 минуты назад, golova сказал:

прочитал стартовый пост, не нашёл главной инфы: 1) сколько стоит? 2) какой оф. сайт программы? очень странно, выложены только ссылки на исходники проги на файлообменниках, первый раз такое вижу  Оо

 

Программа бесплатная. Разработка велась за счет средств от поддерживаемых бирж, а теперь разработка ведется за счет проекта https://qttrader.com

Официальный сайт https://centrabit.com

Share this post


Link to post
Share on other sites

добрый день. стоп-лосс и тейк я так понимаю нет возможности одновременно выставить?

Share this post


Link to post
Share on other sites

Добрый день! Программа работает с маржой на битфайнексе? Также, можно при покупке или продаже по рынку, что бы система автоматически выставляла стоп и тейк профит по заранее установленному %?

Share this post


Link to post
Share on other sites
18.04.2019 в 19:40, lovecreep сказал:

добрый день. стоп-лосс и тейк я так понимаю нет возможности одновременно выставить?

 

Можете запускать группы разных правил или скрипты одновременно.

 

44 минуты назад, CrimSonMAN сказал:

Добрый день! Программа работает с маржой на битфайнексе? Также, можно при покупке или продаже по рынку, что бы система автоматически выставляла стоп и тейк профит по заранее установленному %?

 

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

Share this post


Link to post
Share on other sites

Правильно ли я понял, что использование правил с различными крипто парами невозможно без ручного переключения окошек и выбора этих самых пар?

Share this post


Link to post
Share on other sites
16 минут назад, OlegF123 сказал:

Правильно ли я понял, что использование правил с различными крипто парами невозможно без ручного переключения окошек и выбора этих самых пар?

 

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

Share this post


Link to post
Share on other sites

А кто может подсказать где можно взять готовые скрипты желательно с пояснениями?
А то что-то туплю я с алгоримированием...

Ну или может кто подскажет

Нужен просто алгоритм.

1. Создать сетку на продажу в которой  каждый ордер отстоит от другого на "X" сатошей и при этом ордера увеличиваются по мартину (с указанным процентом)

2. Если первый ордер сработал, выставить ордер на покупку "обьём ордер1" по цене "цена продажи минус Y сатош".

3. Если сработал следующий ордер продажи, то снять ордер покупки и создать новый ордер "сумма ордер1+ордер2" по цене  "цена ордера2 минус Y сатош"

4. Если сработал ордер выкупа, все снять и начать сначала.

5. Если ниодин из ордеров несработал, а цена ушла на "Z" сатош, переставить сетку.

Edited by rgusev

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...