Pages:
Author

Topic: Qt Bitcoin Trader [Open Source secure trading client for Mac/Windows/Linux] - page 22. (Read 383297 times)

legendary
Activity: 1035
Merit: 1065
QtBitcoinTrader 1.07.97 BETA works on Raspberry Pi.
On my Ubuntu the 1.08 works.

Fixed, please confirm it.

False Alarm on real time calculation. I caused it myself.  Huh I changed the function to not reuse the variable that is created outside the function to calculate the value then return the value to the variable outside the calculation. In other words I renamed the variable in the calcBaseVariable() and forgot to get the value later with baseVariable = calcBaseVariable(). I used this calcBaseVariable();.  Shocked Grin

Sorry for that complaint.

That great. Any bugs left? Please list them.

I'm happy to tell that low latency engine is working now, and private beta is starting soon.
hero member
Activity: 981
Merit: 500
DIV - Your "Virtual Life" Secured and Decentralize
False Alarm on real time calculation. I caused it myself.  Huh I changed the function to not reuse the variable that is created outside the function to calculate the value then return the value to the variable outside the calculation. In other words I renamed the variable in the calcBaseVariable() and forgot to get the value later with baseVariable = calcBaseVariable(). I used this calcBaseVariable();.  Shocked Grin

Sorry for that complaint.
newbie
Activity: 38
Merit: 0
I am trying to compile QtBitcoinTrader Version 1.08 on my Raspberry Pi (Debian Wheezy).
I got the following error:

Code:
g++ -c -pipe -O2 -D_REENTRANT -Wall -W -Wno-deprecated-declarations -Wno-unused-function -DQT_WEBKIT -DQT_NO_DEBUG -DQT_SCRIPT_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtScript -I/usr/include/qt4 -I. -I/usr/src/3rdparty/zlib -I.moc -I.ui -o .obj/feecalculator.o feecalculator.cpp
feecalculator.cpp:118:6: error: prototype for ‘void FeeCalculator::profitLossChanged(qreal)’ does not match any in class ‘FeeCalculator’
feecalculator.h:57:7: error: candidate is: void FeeCalculator::profitLossChanged(double)
feecalculator.cpp:167:6: error: prototype for ‘void FeeCalculator::buyBtcReceivedChanged(qreal)’ does not match any in class ‘FeeCalculator’
feecalculator.h:61:7: error: candidate is: void FeeCalculator::buyBtcReceivedChanged(double)
Makefile:1422: recipe for target '.obj/feecalculator.o' failed
make: *** [.obj/feecalculator.o] Error 1

QtBitcoinTrader 1.07.97 BETA works on Raspberry Pi.
On my Ubuntu the 1.08 works.

What I can do ?
hero member
Activity: 981
Merit: 500
DIV - Your "Virtual Life" Secured and Decentralize
I did notice one thing after a restart. If a last my buy or last my sell price is used but the one queried is not the very last trade a 0 will be returned. This just caused an sell up 1% to happen below the last buy price from before my bot restart. I have added a simple piece of code to find and eliminate this error.
Code:
 if(baseVariable = 0)
 {
 return;
 }

That should fix this specific issue from now on as it wont trade with a last price of 0.

This does not fix the issue. The following should.
Replace the execute(); with the following.

Code:
 if(baseVariable != 0)
 {
 execute();
 }
hero member
Activity: 981
Merit: 500
DIV - Your "Virtual Life" Secured and Decentralize
After thinking longer on the issue I got the idea that maybe I should use the script engine. Aside from problems with a script starting other scripts I think I have it working somewhat normally. This line doesn't work on script engine codes.
Code:
 trader.delay(0.2, "trader.groupStop('S_Up Buy then Sell')");

Maybe I did that part wrong. Currently I have a group running that does start and stop all the other scripts and groups based on what has already run. I just took the trading parts out from my non-script versions. I have all scripts named correctly unless I missed one somewhere. It does happen to me more then I would like. I am assuming given the huge move up today I should have had it up and running sooner. Today would have been a great day to test.

I can't say it will work better but it may work better. Starting the script engine after the up buy then sell ran I didn't get an identical trade for the next sell I actually got to wait until the price was high enough.


English is not my native language, so sometime I have problem in understanding.
Please make short description how to reproduce problem and I'll fix it faster.

The code snippet should after the condition has happened simply stop another script The start code was virtually the same. I have a set of rules now that that a similar snippet of code does start and those rules will start the asked for scripts.

As an example my range trading scripts are S_1% Up and S_1% Down. They each run once then stop.

If I manually start S_1% Down I expect the code to start the script named S_1% Up.
Code:
 trader.groupStart("S_1% Up");
This script never starts.

If I manually start S_1% Up I expect the code to start the script named S_1% Down.
Code:
 trader.groupStart("S_1% Down");
This script never starts.


For the moment I have instead added rules groups or used the old rules groups named 1% Up and 1% Down to execute the starts and stops for me. I'm not sure why I can't get that code to start the scripts. I have definitely created a workaround for this issue. I mostly wanted to know if that code was even close to correct now. It worked before one of the updates and for me has not worked since.
newbie
Activity: 42
Merit: 0
No I am saying about some good strategies
legendary
Activity: 1035
Merit: 1065
After thinking longer on the issue I got the idea that maybe I should use the script engine. Aside from problems with a script starting other scripts I think I have it working somewhat normally. This line doesn't work on script engine codes.
Code:
 trader.delay(0.2, "trader.groupStop('S_Up Buy then Sell')");

Maybe I did that part wrong. Currently I have a group running that does start and stop all the other scripts and groups based on what has already run. I just took the trading parts out from my non-script versions. I have all scripts named correctly unless I missed one somewhere. It does happen to me more then I would like. I am assuming given the huge move up today I should have had it up and running sooner. Today would have been a great day to test.

I can't say it will work better but it may work better. Starting the script engine after the up buy then sell ran I didn't get an identical trade for the next sell I actually got to wait until the price was high enough.


English is not my native language, so sometime I have problem in understanding.
Please make short description how to reproduce problem and I'll fix it faster.

Have some one got working scripts?

Scripts is working.

Bitcoin QT is no longer working for me. I'm on a Windows 32 machine.

It worked a few weeks ago. Now, all it does is let me log on... and then nothing.

Each instance appears in Task Processes and uses up a hella load of CPU power, but nada. No window, no dialog, no error message..... it just doesn't load the main app.

:-S

Looks like you have catch some malware file. Does digital signature from Centrabit presists in exe file properties?
"Bitcoin QT" you talking about Bitcoin p2p client and not "Qt Bitcoin Trader"?
newbie
Activity: 42
Merit: 0
Have some one got working scripts?
hero member
Activity: 981
Merit: 500
DIV - Your "Virtual Life" Secured and Decentralize
After thinking longer on the issue I got the idea that maybe I should use the script engine. Aside from problems with a script starting other scripts I think I have it working somewhat normally. This line doesn't work on script engine codes.
Code:
 trader.delay(0.2, "trader.groupStop('S_Up Buy then Sell')");

Maybe I did that part wrong. Currently I have a group running that does start and stop all the other scripts and groups based on what has already run. I just took the trading parts out from my non-script versions. I have all scripts named correctly unless I missed one somewhere. It does happen to me more then I would like. I am assuming given the huge move up today I should have had it up and running sooner. Today would have been a great day to test.

I can't say it will work better but it may work better. Starting the script engine after the up buy then sell ran I didn't get an identical trade for the next sell I actually got to wait until the price was high enough.
hero member
Activity: 981
Merit: 500
DIV - Your "Virtual Life" Secured and Decentralize
My trading issues with the 1% up and 1% down seemed to keep pointing me to a previous to the expected buy or sell. The 600 second delay didn't work after a restart and forgetting for about an hour to enable the rules I still got a buy above the should be 1% higher sell.

This left me thinking that it was definitely using an older buy price and older sell prices then 10 minutes. That makes me think maybe the time isn't so important. Unfortunately my next idea wasn't successful either. I added another sell to the sell rules and another buy to the buy rules excluding the going down buy rule. This puts 2 sells in 10 minutes before the buy rule will even start. Now the odd thing is I was still able to have sells coming below my last buy (since the market was heading up). I don't know if adding a third buy would be of any help at all. I can't imagine it would do much more then delay potentially through the next range to get to its required price. Of course if it was profitable using 6% of my test amount maybe it would be better then 2 round trip trades executing upside down. If only I could divine why it was doing this.

I have increased some rules to 900 seconds or 15 minutes delay before it starts executing. I can't imagine it helping. Maybe I should only add the really big delay by delaying the start of the enables on trades that end up in a loss after. I'm still trying to get you a better answer as I can easily duplicate the issue but I can't wrap my head around why it happens.

I'm currently working to make all variables saved after restart rule and app.
Also you will able to store any data in database and view values of all variables realtime.
It will helps to understand where is issue and how to make it works.

I am a little concerned about saving the variables through a restart. Assuming they are being calculated correctly having a few calculations pulled at start up shouldn't be a huge issue. In my case I maybe shouldn't have said anything about the restart. The thing I was pondering out loud was if I restart the computer and enable the rules after the last buy and last sell printed on the tab with the orders is correct I should get a buy or a sell based on that price point. What I am at a loss for is why after so long it didn't use that price as it did clearly show a last sell that was what my actual last sell was. So since in over an hour the amount shown in the easy place to see it was "correct" but the trade price was not correct I concluded that time delays are not really a good answer for this. I then stupidly assumed since the only value that explained the trade as being "correct" was the trade preceding the last trade. This sent me wrongly it seems to the answer of just sell 2 or buy 2 and it will follow the last number before the last trade making it track off the trade I want in the first place and the second place just sets up an additional trade at the same price.

I think possibly I am not going about solving this well as until I have another (wrong) eureka moment I really can't say why it trades off very old trades some over 1 hour old for the last trade data. I'm not saying don't save it between runs just that given the delay that I had I would have needed a more then hour delay between a buy and a sell.... That would in theory make the reverse also true. So 12 round trip trades a day if the market is staying around the price it works itself into. Honestly had I not restarted I would have had another 10 minute mistake. The only difference of any importance is that it would show a mistake at over an hour. Not useful mind you as that isn't a correct trade. It does make me think starting over an hour might work but I really shouldn't need to.

The problem always shows up the same way even with 2 nearly identical buys and sells. I have a stable range and the bot does great. It will keep doing great until the market goes up or down too much. At this point I have found 0 solutions that adequately fix the problems I am having. Once the market is up triggering a buy manually will not cause a new last buy price to show up. An hour will not allow the bot to use the price that I just made viable. As soon as anything is able to sell after that buy will be whatever the price is when the sell rule is started not 1% above that buy. In effect I had hoped adding another buy would force it to use the wrong buy before the last buy value..... It really doesn't I just get 2x the mistakes. Since it does 2x as good when it wins I can't say I'm in a worse boat. I am exactly where I started. Even starting a sell and letting the buy show up under doesn't seem to fix it. The only change is what the bot is doing at the time of the mistake. If I sell first the buy will likely be correct or below the sell before that making it either profitable or even more profitable. Sounds great. Then it will (ignoring delay) get a sell immediately at whatever the price changes to on the next tick unless the buy was below the sell before the high sell I put in. At some point though that sell will be used as a last sell and then any price at least 1% below that price will be acceptable to the bot. Even if I am bothered by it suddenly buying above the last sell.....

If I gave up on the stop loss portions of the rules I generated I could expect a profit. This profit would last precisely until I have to start the bot in a new range. I then am stuck unable to fix the bot until I have some unknown amount of trade data in the new range started and executed manually until the bot can correctly discern it is actually in a range.

EDIT: I am sorry it seems I have a bad habit of not being nice when I post. I appreciate what you have done and are doing. I am more then a little concerned when my last buy on my orders page isn't 1% less then my listed last sell when the buy logic dictates it has to be at least that low to buy.

After thinking more on it today do the values of the trade logs last buy and last sell prices come from the same place the scripting engine would pull the data from?
legendary
Activity: 1035
Merit: 1065
My trading issues with the 1% up and 1% down seemed to keep pointing me to a previous to the expected buy or sell. The 600 second delay didn't work after a restart and forgetting for about an hour to enable the rules I still got a buy above the should be 1% higher sell.

This left me thinking that it was definitely using an older buy price and older sell prices then 10 minutes. That makes me think maybe the time isn't so important. Unfortunately my next idea wasn't successful either. I added another sell to the sell rules and another buy to the buy rules excluding the going down buy rule. This puts 2 sells in 10 minutes before the buy rule will even start. Now the odd thing is I was still able to have sells coming below my last buy (since the market was heading up). I don't know if adding a third buy would be of any help at all. I can't imagine it would do much more then delay potentially through the next range to get to its required price. Of course if it was profitable using 6% of my test amount maybe it would be better then 2 round trip trades executing upside down. If only I could divine why it was doing this.

I have increased some rules to 900 seconds or 15 minutes delay before it starts executing. I can't imagine it helping. Maybe I should only add the really big delay by delaying the start of the enables on trades that end up in a loss after. I'm still trying to get you a better answer as I can easily duplicate the issue but I can't wrap my head around why it happens.

I'm currently working to make all variables saved after restart rule and app.
Also you will able to store any data in database and view values of all variables realtime.
It will helps to understand where is issue and how to make it works.
hero member
Activity: 981
Merit: 500
DIV - Your "Virtual Life" Secured and Decentralize
My trading issues with the 1% up and 1% down seemed to keep pointing me to a previous to the expected buy or sell. The 600 second delay didn't work after a restart and forgetting for about an hour to enable the rules I still got a buy above the should be 1% higher sell.

This left me thinking that it was definitely using an older buy price and older sell prices then 10 minutes. That makes me think maybe the time isn't so important. Unfortunately my next idea wasn't successful either. I added another sell to the sell rules and another buy to the buy rules excluding the going down buy rule. This puts 2 sells in 10 minutes before the buy rule will even start. Now the odd thing is I was still able to have sells coming below my last buy (since the market was heading up). I don't know if adding a third buy would be of any help at all. I can't imagine it would do much more then delay potentially through the next range to get to its required price. Of course if it was profitable using 6% of my test amount maybe it would be better then 2 round trip trades executing upside down. If only I could divine why it was doing this.

I have increased some rules to 900 seconds or 15 minutes delay before it starts executing. I can't imagine it helping. Maybe I should only add the really big delay by delaying the start of the enables on trades that end up in a loss after. I'm still trying to get you a better answer as I can easily duplicate the issue but I can't wrap my head around why it happens.
legendary
Activity: 1035
Merit: 1065
yes i agree with that not being smart, i was simply using it as a placeholder event trigger. regardless, my order does not reach the bitstamp exchange even though it shows in the console. have you seen such behavior? I've tried other pairs, etc. I am able to enter orders manually on the bitstamp website, and I see these orders show up in the QT dashboard. I really don't understand why the ordering doesn't get though....

Manual placing order via Qt Bitcoin Trader works?
If not, than press Alt+Shift+D and send me debug output after open order attempt.
newbie
Activity: 2
Merit: 0
yes i agree with that not being smart, i was simply using it as a placeholder event trigger. regardless, my order does not reach the bitstamp exchange even though it shows in the console. have you seen such behavior? I've tried other pairs, etc. I am able to enter orders manually on the bitstamp website, and I see these orders show up in the QT dashboard. I really don't understand why the ordering doesn't get though....
legendary
Activity: 1035
Merit: 1065
Hi Ighor,
Love QT.
I have a question - I'm having some trouble getting bitfinex up and working with the following code, The console outputs: "20:20:06> starting
20:20:06> LTCUSD: Sell 3 at 4" but i don't see orders entered at bitfinex:

//code start:

var lastVAR=0;
var VAR=0;



trader.get("Time")
{
trader.log("starting")
trader.sell("LTCUSD",3,4)
}

//VAR and lastVar are used later
//code end

It looks simple what would you say is wrong here? have you had issues for example between the bitfinex exchange/trading subdivision of accounts, or any other idea of why the order does not go through?

Looks like you have used trader.get("Time") as event? This is a function and you should use event "trader.on("Time").changed()" instead.
Anyway make the same order every second is not a good idea.
newbie
Activity: 2
Merit: 0
Hi Ighor,
Love QT.
I have a question - I'm having some trouble getting bitfinex up and working with the following code, The console outputs: "20:20:06> starting
20:20:06> LTCUSD: Sell 3 at 4" but i don't see orders entered at bitfinex:

//code start:

var lastVAR=0;
var VAR=0;



trader.get("Time")
{
trader.log("starting")
trader.sell("LTCUSD",3,4)
}

//VAR and lastVar are used later
//code end

It looks simple what would you say is wrong here? have you had issues for example between the bitfinex exchange/trading subdivision of accounts, or any other idea of why the order does not go through?
sr. member
Activity: 440
Merit: 250
Okcoin integration is really important since their web interface is laggy as hell.

I'm impatient about this! Smiley
sr. member
Activity: 407
Merit: 250



"buy btc" is exact btc amount and "spend usd" btc amount depends on price.

could you please describe it with an example. dont  understand it. thank you.



Sell 1 BTC at 400 USD will place 1 BTC order.
Spend 400 USD will place 1 BTC order only if price is equal to 400 USD
So if you configure "Spend 50% my USD" than you will don't know exact amount of received btc (depends on price), but you will know exact % of usd.
Spend 20 USD will get 0.1BTC at 200 USD price and 0.2 BTC at 100 USD price.
Usage depends on your strategy.

ah ok..thank you
newbie
Activity: 3
Merit: 0
I dont know if its a bug or not, but i would like you to know, when i revoked the API key in my BTC-e account, the Qt Bitcoin Trader could still use it, i mean i still had the ability to trade.
May be it's a BTC-e's bug... Just want to point that it is not secure...
legendary
Activity: 1035
Merit: 1065
I'm not sure how you can reproduce the problem but I can see something happening.

Thanks for detailed descriptions, I'll try to reproduce it and fix soon.
Pages:
Jump to: