Bitcoin Forum
November 17, 2024, 12:08:04 AM *
News: Check out the artwork 1Dq created to commemorate this forum's 15th anniversary
 
   Home   Help Search Login Register More  
Pages: « 1 ... 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 71 72 73 74 75 76 77 78 79 80 81 82 83 »
  Print  
Author Topic: Qt Bitcoin Trader [Open Source secure trading client for Mac/Windows/Linux]  (Read 383522 times)
vleroybrown
Hero Member
*****
Offline Offline

Activity: 1234
Merit: 506


This is who we are.


View Profile
September 01, 2014, 01:20:45 PM
 #1141

Is this the program bases for the andriod app that places coinbase trades?
IGHOR (OP)
Legendary
*
Offline Offline

Activity: 1035
Merit: 1065



View Profile WWW
September 01, 2014, 03:24:33 PM
 #1142

Is this the program bases for the andriod app that places coinbase trades?

What do you mean?

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 01, 2014, 08:32:11 PM
 #1143

v1.07.99 Bugfix 7 released.

Fixed rules critical bugs.
Added custom events and indicators.

Manual how to make custom indicators and events is here: http://forum.centrabit.com/viewtopic.php?f=3&t=4161

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

Activity: 981
Merit: 500


DIV - Your "Virtual Life" Secured and Decentralize


View Profile
September 01, 2014, 09:54:13 PM
 #1144

I have some additional scripts to start or stop. I think I have worked out where to put them. I need a slight delay between each start and stop. Would the following work assuming the scripts are named correctly?

Code:
 trader.timer(0.2,"1% Down");

or

 trader.timer(0.2);
 trader.groupStart("1% Down");

The trader.timer I am unsure if I can skip the function call. I could always create a blank function. I think neither will work.

          ▄▄
        ▄█▀▀█▄
      ▄█▀ ▄▄ ▀█▄
      ▀ ▄████▄ ▀
   ▄▀ ▄ ▀████▀ ▄ ▀▄
 ▄▀ ▄███▄ ▀▀ ▄███▄ ▀▄
█  ███████  ███████  █
 ▀▄ ▀███▀ ▄▄ ▀███▀ ▄▀

   ▀▄ ▀ ▄████▄ ▀ ▄▀
      ▄ ▀████▀ ▄
      ▀█▄ ▀▀ ▄█▀
        ▀█▄▄█▀
          ▀▀
███████████████████████████████████████████████████████████████████
██████▀▀▀▀▀▀▀▀▀▀▀██████████▀▀▀▀▀████▀▀▀▀▀█████▀▀▀▀█████▀▀▀▀▀███████
██████            ▀████████     ████     █████    █████     ███████
██████     ▄▄▄▄▄    ▀██████     █████    ████      ████    ████████
██████     ██████▄    █████     █████    ▀██▀  ▄▄  ▀██▀    ████████
██████     ███████    █████     ██████    ██   ██   ██    █████████
██████     ███████    █████     ██████    ██   ██   ██    █████████
██████     ███████    █████     ██████     █   ██   █     █████████
██████     █████▀    ██████     ███████       ████       ██████████
██████     ▀▀▀▀▀    ▄██████     ████████     ██████     ███████████
██████            ▄████████     ████████     ██████     ███████████
██████▄▄▄▄▄▄▄▄▄▄▄██████████▄▄▄▄▄█████████▄▄▄▄██████▄▄▄▄████████████
███████████████████████████████████████████████████████████████████
.DIWtoken.com.
▄██████████████████▄
███       ▀███████
███       █████████
███       █████████
███       █████████
███              ██
███   ▄▄▄▄▄▄▄▄   ███
███   ▄▄▄▄▄▄▄▄   ███
███              ███
███▄▄▄▄▄▄▄▄▄▄▄▄▄▄███
██████████████████▀

▄██████████████████▄
███████████▀ ███████
█████████▀   ███████
███████▀     ██▀ ███
███ ▀▀       █▄▄████
███          █▀▀▀▀██
███ ▄▄       ███████
██████▄     █▄ ▀███
█████████▄   ███▄███
███████████▄ ███████
▀██████████████████▀

▄██████████████████▄
████████████████████
███████████████▀▀ ██
█████████▀▀     ███
████▀▀     ▄█▀   ███
███▄    ▄██      ███
█████████▀      ▄██
█████████▄     ████
█████████████▄ ▄████
████████████████████
▀██████████████████▀
......SECURITY DECENTRALIZED...
IGHOR (OP)
Legendary
*
Offline Offline

Activity: 1035
Merit: 1065



View Profile WWW
September 01, 2014, 09:57:09 PM
 #1145

I have some additional scripts to start or stop. I think I have worked out where to put them. I need a slight delay between each start and stop. Would the following work assuming the scripts are named correctly?

Code:
 trader.timer(0.2,"1% Down");

or

 trader.timer(0.2);
 trader.groupStart("1% Down");

The trader.timer I am unsure if I can skip the function call. I could always create a blank function. I think neither will work.

trader.delay(0.2,"trader.groupStart('1% Down')"); will works for you, 0.2 is 200 ms

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

Activity: 981
Merit: 500


DIV - Your "Virtual Life" Secured and Decentralize


View Profile
September 01, 2014, 09:58:26 PM
 #1146

Thank You!

          ▄▄
        ▄█▀▀█▄
      ▄█▀ ▄▄ ▀█▄
      ▀ ▄████▄ ▀
   ▄▀ ▄ ▀████▀ ▄ ▀▄
 ▄▀ ▄███▄ ▀▀ ▄███▄ ▀▄
█  ███████  ███████  █
 ▀▄ ▀███▀ ▄▄ ▀███▀ ▄▀

   ▀▄ ▀ ▄████▄ ▀ ▄▀
      ▄ ▀████▀ ▄
      ▀█▄ ▀▀ ▄█▀
        ▀█▄▄█▀
          ▀▀
███████████████████████████████████████████████████████████████████
██████▀▀▀▀▀▀▀▀▀▀▀██████████▀▀▀▀▀████▀▀▀▀▀█████▀▀▀▀█████▀▀▀▀▀███████
██████            ▀████████     ████     █████    █████     ███████
██████     ▄▄▄▄▄    ▀██████     █████    ████      ████    ████████
██████     ██████▄    █████     █████    ▀██▀  ▄▄  ▀██▀    ████████
██████     ███████    █████     ██████    ██   ██   ██    █████████
██████     ███████    █████     ██████    ██   ██   ██    █████████
██████     ███████    █████     ██████     █   ██   █     █████████
██████     █████▀    ██████     ███████       ████       ██████████
██████     ▀▀▀▀▀    ▄██████     ████████     ██████     ███████████
██████            ▄████████     ████████     ██████     ███████████
██████▄▄▄▄▄▄▄▄▄▄▄██████████▄▄▄▄▄█████████▄▄▄▄██████▄▄▄▄████████████
███████████████████████████████████████████████████████████████████
.DIWtoken.com.
▄██████████████████▄
███       ▀███████
███       █████████
███       █████████
███       █████████
███              ██
███   ▄▄▄▄▄▄▄▄   ███
███   ▄▄▄▄▄▄▄▄   ███
███              ███
███▄▄▄▄▄▄▄▄▄▄▄▄▄▄███
██████████████████▀

▄██████████████████▄
███████████▀ ███████
█████████▀   ███████
███████▀     ██▀ ███
███ ▀▀       █▄▄████
███          █▀▀▀▀██
███ ▄▄       ███████
██████▄     █▄ ▀███
█████████▄   ███▄███
███████████▄ ███████
▀██████████████████▀

▄██████████████████▄
████████████████████
███████████████▀▀ ██
█████████▀▀     ███
████▀▀     ▄█▀   ███
███▄    ▄██      ███
█████████▀      ▄██
█████████▄     ████
█████████████▄ ▄████
████████████████████
▀██████████████████▀
......SECURITY DECENTRALIZED...
IGHOR (OP)
Legendary
*
Offline Offline

Activity: 1035
Merit: 1065



View Profile WWW
September 01, 2014, 10:24:46 PM
 #1147

I could always create a blank function.

You can create blank functions and it is not required to make delays for enabling/disabling groups any more (if it not required by your strategy).
It is stable now and groups loop will not cause crash or high cpu load.

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

Activity: 981
Merit: 500


DIV - Your "Virtual Life" Secured and Decentralize


View Profile
September 01, 2014, 11:56:43 PM
 #1148

my NMC trading logic sold just now There seems to be a problem with the amounts for buys placed.

Code for the logic:
Code:
var executed=false;
function executeRule()
{
 executed=true;
 if(trader.get("ApiLag")>10)
 {
 trader.log("Api lag is to high");
 trader.delay(1,"executeRule()");
 return;
 }

 var amount = 1.0;

 var price = trader.get("NMCBTC" , "LastPrice");
 price += 0.00000001;

 trader.buy("NMCBTC" , amount , price);
 trader.groupDone();
}

var baseVariable = calcBaseVariable();
function calcBaseVariable()
{
 baseVariable = trader.get("NMCBTC" , "LastMySellPrice");
 baseVariable += 1.0;
 return baseVariable;
}

trader.on("LastPrice").changed()
{
 if(executed)return;
 if(symbol != "NMCBTC")return;
 calcBaseVariable();
 if(value < baseVariable)  executeRule();
}


The result was no sell and as sequential it won't re-enable itself

Code:
5:43:20PM> Start group: "NMC Range"
5:43:20PM> NMCBTC: Buy 1 at 0.00212001
5:43:20PM> NMCBTC: Buy 1 at 0.00212001

I am not sure why it would execute twice. This could be a hold over from the first versions with the new ruleset.

          ▄▄
        ▄█▀▀█▄
      ▄█▀ ▄▄ ▀█▄
      ▀ ▄████▄ ▀
   ▄▀ ▄ ▀████▀ ▄ ▀▄
 ▄▀ ▄███▄ ▀▀ ▄███▄ ▀▄
█  ███████  ███████  █
 ▀▄ ▀███▀ ▄▄ ▀███▀ ▄▀

   ▀▄ ▀ ▄████▄ ▀ ▄▀
      ▄ ▀████▀ ▄
      ▀█▄ ▀▀ ▄█▀
        ▀█▄▄█▀
          ▀▀
███████████████████████████████████████████████████████████████████
██████▀▀▀▀▀▀▀▀▀▀▀██████████▀▀▀▀▀████▀▀▀▀▀█████▀▀▀▀█████▀▀▀▀▀███████
██████            ▀████████     ████     █████    █████     ███████
██████     ▄▄▄▄▄    ▀██████     █████    ████      ████    ████████
██████     ██████▄    █████     █████    ▀██▀  ▄▄  ▀██▀    ████████
██████     ███████    █████     ██████    ██   ██   ██    █████████
██████     ███████    █████     ██████    ██   ██   ██    █████████
██████     ███████    █████     ██████     █   ██   █     █████████
██████     █████▀    ██████     ███████       ████       ██████████
██████     ▀▀▀▀▀    ▄██████     ████████     ██████     ███████████
██████            ▄████████     ████████     ██████     ███████████
██████▄▄▄▄▄▄▄▄▄▄▄██████████▄▄▄▄▄█████████▄▄▄▄██████▄▄▄▄████████████
███████████████████████████████████████████████████████████████████
.DIWtoken.com.
▄██████████████████▄
███       ▀███████
███       █████████
███       █████████
███       █████████
███              ██
███   ▄▄▄▄▄▄▄▄   ███
███   ▄▄▄▄▄▄▄▄   ███
███              ███
███▄▄▄▄▄▄▄▄▄▄▄▄▄▄███
██████████████████▀

▄██████████████████▄
███████████▀ ███████
█████████▀   ███████
███████▀     ██▀ ███
███ ▀▀       █▄▄████
███          █▀▀▀▀██
███ ▄▄       ███████
██████▄     █▄ ▀███
█████████▄   ███▄███
███████████▄ ███████
▀██████████████████▀

▄██████████████████▄
████████████████████
███████████████▀▀ ██
█████████▀▀     ███
████▀▀     ▄█▀   ███
███▄    ▄██      ███
█████████▀      ▄██
█████████▄     ████
█████████████▄ ▄████
████████████████████
▀██████████████████▀
......SECURITY DECENTRALIZED...
IGHOR (OP)
Legendary
*
Offline Offline

Activity: 1035
Merit: 1065



View Profile WWW
September 02, 2014, 12:55:51 AM
 #1149

The result was no sell and as sequential it won't re-enable itself

Code:
5:43:20PM> Start group: "NMC Range"
5:43:20PM> NMCBTC: Buy 1 at 0.00212001
5:43:20PM> NMCBTC: Buy 1 at 0.00212001

I am not sure why it would execute twice. This could be a hold over from the first versions with the new ruleset.

Please zip and email me this folder %localappdata%\QtBitcoinTrader\Scripts\
I'll look on your rules.
PS: bug with requirement of 0.00000001 is fixed so you can set 0 there.

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, 09:36:18 PM
 #1150

Bugfix 8 released.

Fixed bugs that  Askit2 reported.
And some more bugs fixed.

I'll record some video tutorials, here is the first one: https://www.youtube.com/watch?v=7hliVz6Gr9Q

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

Activity: 38
Merit: 0


View Profile
September 03, 2014, 03:53:37 AM
 #1151

Your password must be at least 8 characters and contain letters, digits, and special characters.

a little bit complicated, password is too long, i always forget that god damn number!
worldcup
Newbie
*
Offline Offline

Activity: 38
Merit: 0


View Profile
September 03, 2014, 04:04:54 AM
 #1152

you should look into adding MSC (mastercoin)

i think there is some code on github already which you can  leverage (but still in development & testing phases)

http://mastercoin-explorer.com/order_books


if you have questions about how it works feel free to ask, but I have a feeling that it will prove to be very useful for users of this trader in 2014

may i ask how price goes now?
IGHOR (OP)
Legendary
*
Offline Offline

Activity: 1035
Merit: 1065



View Profile WWW
September 03, 2014, 10:41:39 AM
Last edit: September 04, 2014, 01:06:52 AM by IGHOR
 #1153

Your password must be at least 8 characters and contain letters, digits, and special characters.

a little bit complicated, password is too long, i always forget that god damn number!

This was changed, you can create simple password now.
Now requirement is not 8 digits, but big time to crack password.
For security reason you should create strong password.

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

Activity: 14
Merit: 0



View Profile WWW
September 04, 2014, 08:04:45 AM
 #1154

Hi IGHOR!
Again: Thank you for all your efforts.

I'm trying to get values for AsksPrice and AsksVolume, but they return 0. It is the same for the BidsPrice and BidsVolume.

Code:
function checkOrderbook() {

var lastPrice = trader.get("LastPrice");
var asksPrice = trader.get("AsksPrice",500);
var asksVolume = trader.get("AsksVolume", 500); // at lastPrice 476

trader.log("lastPrice: ", lastPrice); // returns 476
trader.log("asksPrice: ", asksPrice); // returns 0
trader.log("asksVolume: ", asksVolume); // returns 0

}

My orderbook is set to 1000 rows so the requested orders are visible.

some thoughts, nice to have:
- trader.get("10MinBuyDivSell") changed to trader.get("BuyToSell", minutes) so we can define timeframe we are interested in. Same for 10MinVolume.
- trader.get("NoOfTrades", minutes) - number of transactions in last x minutes.
- a way to access LastTrades: trader.get("LastTrades", minutes) - to retrieve all trades in last X minutes.
- a way to access orderbook: trader.get("Orderbook", fromPrice, toPrice) - to retrieve all orders from orderbook between specified price range.
- buy and sell commands should return ID, so we can later check / cancel specific order


That's all for now i think, i'll play around some more.

thnx,
Tomi
 
IGHOR (OP)
Legendary
*
Offline Offline

Activity: 1035
Merit: 1065



View Profile WWW
September 04, 2014, 10:05:38 AM
Last edit: September 05, 2014, 01:31:05 AM by IGHOR
 #1155

Hi IGHOR!
Again: Thank you for all your efforts.

I'm trying to get values for AsksPrice and AsksVolume, but they return 0. It is the same for the BidsPrice and BidsVolume.

Code:
function checkOrderbook() {

var lastPrice = trader.get("LastPrice");
var asksPrice = trader.get("AsksPrice",500);
var asksVolume = trader.get("AsksVolume", 500); // at lastPrice 476

trader.log("lastPrice: ", lastPrice); // returns 476
trader.log("asksPrice: ", asksPrice); // returns 0
trader.log("asksVolume: ", asksVolume); // returns 0

}

My orderbook is set to 1000 rows so the requested orders are visible.

some thoughts, nice to have:
- trader.get("10MinBuyDivSell") changed to trader.get("BuyToSell", minutes) so we can define timeframe we are interested in. Same for 10MinVolume.
- trader.get("NoOfTrades", minutes) - number of transactions in last x minutes.
- a way to access LastTrades: trader.get("LastTrades", minutes) - to retrieve all trades in last X minutes.
- a way to access orderbook: trader.get("Orderbook", fromPrice, toPrice) - to retrieve all orders from orderbook between specified price range.
- buy and sell commands should return ID, so we can later check / cancel specific order


That's all for now i think, i'll play around some more.

thnx,
Tomi


Thanks for suggestions and bug report. I'll fix it soon.

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

Activity: 14
Merit: 0



View Profile WWW
September 04, 2014, 11:13:55 AM
 #1156

Hi IGHOR!
Again: Thank you for all your efforts.

I'm trying to get values for AsksPrice and AsksVolume, but they return 0. It is the same for the BidsPrice and BidsVolume.

Code:
function checkOrderbook() {

var lastPrice = trader.get("LastPrice");
var asksPrice = trader.get("AsksPrice",500);
var asksVolume = trader.get("AsksVolume", 500); // at lastPrice 476

trader.log("lastPrice: ", lastPrice); // returns 476
trader.log("asksPrice: ", asksPrice); // returns 0
trader.log("asksVolume: ", asksVolume); // returns 0

}

My orderbook is set to 1000 rows so the requested orders are visible.

some thoughts, nice to have:
- trader.get("10MinBuyDivSell") changed to trader.get("BuyToSell", minutes) so we can define timeframe we are interested in. Same for 10MinVolume.
- trader.get("NoOfTrades", minutes) - number of transactions in last x minutes.
- a way to access LastTrades: trader.get("LastTrades", minutes) - to retrieve all trades in last X minutes.
- a way to access orderbook: trader.get("Orderbook", fromPrice, toPrice) - to retrieve all orders from orderbook between specified price range.
- buy and sell commands should return ID, so we can later check / cancel specific order


That's all for now i think, i'll play around some more.

thnx,
Tomi


Thanks for suggestions and bug report.
Check private build with fixes: https://dl.dropboxusercontent.com/u/860231/QtBitcoinTrader.exe

Thnx for quick reply. Unfortunately I'm on mac. I can wait, no problem. If you need quick feedback, I can setup pc and try.

Tomi
IGHOR (OP)
Legendary
*
Offline Offline

Activity: 1035
Merit: 1065



View Profile WWW
September 05, 2014, 01:44:36 AM
 #1157

some thoughts, nice to have:
- trader.get("10MinBuyDivSell") changed to trader.get("BuyToSell", minutes) so we can define timeframe we are interested in. Same for 10MinVolume.
- trader.get("NoOfTrades", minutes) - number of transactions in last x minutes.
- a way to access LastTrades: trader.get("LastTrades", minutes) - to retrieve all trades in last X minutes.
- a way to access orderbook: trader.get("Orderbook", fromPrice, toPrice) - to retrieve all orders from orderbook between specified price range.
- buy and sell commands should return ID, so we can later check / cancel specific order

Currently there is limitation to 10 minutes and later I'll add intervals.
Give me examples how you want to use retrieved orders using JavaScript.

>buy and sell commands should return ID
I planned to make virtual IDs, so it will be returned instantly.

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, 01:56:54 AM
 #1158

v1.07.99 Bugfix9 released.

Fixed UTF8 bug.
Fixed JL Script bugs.
Fixed exchange engine bug. Bitfinex works again.
Added new events:

Code:
trader.on("MyLastTrade").changed() // Your account order filled

trader.on("LastTrade").changed() // Any market order filled

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

Activity: 14
Merit: 0



View Profile WWW
September 05, 2014, 10:36:25 AM
 #1159

some thoughts, nice to have:
- trader.get("10MinBuyDivSell") changed to trader.get("BuyToSell", minutes) so we can define timeframe we are interested in. Same for 10MinVolume.
- trader.get("NoOfTrades", minutes) - number of transactions in last x minutes.
- a way to access LastTrades: trader.get("LastTrades", minutes) - to retrieve all trades in last X minutes.
- a way to access orderbook: trader.get("Orderbook", fromPrice, toPrice) - to retrieve all orders from orderbook between specified price range.
- buy and sell commands should return ID, so we can later check / cancel specific order

Currently there is limitation to 10 minutes and later I'll add intervals.
Give me examples how you want to use retrieved orders using JavaScript.

>buy and sell commands should return ID
I planned to make virtual IDs, so it will be returned instantly.

With new build on mac, AsksVolume and AsksPrice still return 0

Something like that:
Code:
var spikeOrder;
var lastPrice = trader.get("LastPrice");
var asksPrice = trader.get("AsksPrice",100); // get the price 100 coins away


if (asksPrice - lastPrice > 10) { // if price diff is worth a trade
  var orders = trader.get("Orderbook", asksPrice-1, asksPrice+1); // get the orders around target price
  for (i = 0; i < orders.length; i++) {
    if (orders[i].volume > 10) { // check for big orders
      asksPrice = orders[i].price - 0.01; // set target price in front of big order
      break;
    }
  }
  if (spikeOrder) { // remove previous order
    trader.cancelOrder(spikeOrder);
  }
  spikeOrder = trader.sell(1, asksPrice); // place order
 
}

or

Code:
   var orders = trader.get("Orderbook", lastPrice, lastPrice+30); // get ask orders 
   for (i = 0; i < orders.length; i++) {
     if (orders[i].volume > 50) { // check for walls
      trader.say("Ask wall " + orders[i].volume + " at " + orders[i].price);
     }
  }
IGHOR (OP)
Legendary
*
Offline Offline

Activity: 1035
Merit: 1065



View Profile WWW
September 05, 2014, 10:52:38 AM
 #1160

With new build on mac, AsksVolume and AsksPrice still return 0

Works for me. Check for updates again.

Qt Bitcoin Trader
Verify digital signature of the app in the file properties every time you download it.
Pages: « 1 ... 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 71 72 73 74 75 76 77 78 79 80 81 82 83 »
  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!