Pages:
Author

Topic: 【 BOT 】 C.A.T. Cryptsy Automatic Trader 1 [email protected] (Old Topic Beta1-Beta3V8) - page 85. (Read 151159 times)

legendary
Activity: 2632
Merit: 1040
Sunday all CAT Users will receive a new version. It's not the officiale 1.0 but is very near  Grin Grin
So, stay tuned!  Wink
legendary
Activity: 2632
Merit: 1040
The situation would be different from market to market. I've used the same system in a self written bot (php based with an AJAX refresh) which sells coins. Sure, I could adapt my own bot to use a Ping Pong system similar to the way C.A.T. works but I elected to take the easy route of using a pre-written bot.

Lets say for example I'm selling a coin on the LTC market but I don't want to be gamed into selling the coin that I hold cheaper than I have to. Using the method I outlined I can allow no more than lets say 1 LTC worth of coin above my position. This allows the smaller traders to sell in advance of my position but if anyone buys volume then the chances are that they're buying straight into my order which is always at most a couple of positions down the order book. (Sometimes it's at the top, it just depends on the value of their orders.)

By not acknowledging the existence of all orders below a certain value in the way it does currently you have no real control about where on the order book your order may appear. If you use a cumulative total you can pretty much guarantee a position at or near the top of the order book when you specify an appropriate value for the market in question.

It's not necessarily about being at the top of the list all the time, if you allow the tiny orders to be filled above you then you still get hit and you generally get a much better price when you do.

And what if CAT can complete a PONG order with the GAIN you're asking by placing your order in first position but the sum of orders ahead your is 0.09 CAT and you have set 0.1? CAT will renounce?
hero member
Activity: 630
Merit: 502
The situation would be different from market to market. I've used the same system in a self written bot (php based with an AJAX refresh) which sells coins. Sure, I could adapt my own bot to use a Ping Pong system similar to the way C.A.T. works but I elected to take the easy route of using a pre-written bot.

Lets say for example I'm selling a coin on the LTC market but I don't want to be gamed into selling the coin that I hold cheaper than I have to. Using the method I outlined I can allow no more than lets say 1 LTC worth of coin above my position. This allows the smaller traders to sell in advance of my position but if anyone buys volume then the chances are that they're buying straight into my order which is always at most a couple of positions down the order book. (Sometimes it's at the top, it just depends on the value of their orders.)

By not acknowledging the existence of all orders below a certain value in the way it does currently you have no real control about where on the order book your order may appear. If you use a cumulative total you can pretty much guarantee a position at or near the top of the order book when you specify an appropriate value for the market in question.

It's not necessarily about being at the top of the list all the time, if you allow the tiny orders to be filled above you then you still get hit and you generally get a much better price when you do.
legendary
Activity: 2632
Merit: 1040
Sure? Let's do this example

You decide that cumulative total is 0.1 (of course is an example, i think you will use something like 0.00001000)

and you have this situation : 

0.01
0.01
0.01
0.04
0.01
0.01
0.03
My Order

First i must decide if include or exlude the 0.03, because sum with 0.03 is 0.12 and without is 0.9 (some peoples will prefere include and some exclude)
Result will be that My Order is ok in current position

With current parameter behaviour result will be

1 - Remore all 0.1

0.04
0.03
My Order

2 - Place my order in best position (if there's the GAIN, this is the most important condition).

My Order
0.04
0.03

I'm not telling your is not a good idea, but i think the result to use a parameter like this in CAT Algorithm is to lower Gain result.
So i can insert in the TO DO List, but i have a lot of other function to improve with higher priority  Wink
hero member
Activity: 630
Merit: 502
I understand the way it works perfectly, it's just a bad design to ignore the cumulative total of the orders that you are deleting from existence when calculating where to position your order.
legendary
Activity: 2632
Merit: 1040
I'm not going to keep going over it if you don't understand the concept.

Not my problem man  Wink

I was trying to understand and explain you how this parameters actually works (because i think you haven't understand the way to use it)
And if it works like this is because it's the best way i've found.
 
I was trying to understand your idea but with this kind of approach you have lost an opportunity.   Roll Eyes
hero member
Activity: 630
Merit: 502
0.1 BTC is just an extreme example, the real point is to allow no more than a certain amount of coin (as could be the case with all the removed orders) to be above your position at all times so you're not easily gamed into keep moving up the table but you still have a very good chance of your order being filled.

I'm not going to keep going over it if you don't understand the concept.
legendary
Activity: 2632
Merit: 1040
Why?
Actually works like this

Total BTC
0.01
0.015
0.05
0.02
0.01
0.0025
0.05
0.05
0.05
0.05
Order inserted here
0.15
0.01

if you set 0.015 in the parameter, first things CAT will do is remove all < 0.1 orders, so result will be

0.05
0.02
0.0025
0.05
0.05
0.05
0.05
Order inserted here

And then CAT will perform all check and algorithm.
So, if there's the Min % Gain guaranteed with 0.049 CAT will recreate your order in better position, and result on Cryptsy will be

0.01
0.015
Order inserted here @ 0.049
0.05
0.02
0.01
0.0025
0.05
0.05
0.05
0.05
0.15
0.01
hero member
Activity: 630
Merit: 502
I think the risk of that is actually greater in the way it works now.
legendary
Activity: 2632
Merit: 1040
Ok understand. I will think about it because there's a risk, and the risk is that you cannot complete a Ping-Pong because your orders is  never in first position  Undecided
hero member
Activity: 630
Merit: 502
What I mean is the current system will position as follows @ 0.1 BTC:

Total BTC
0.01
0.015
0.05
0.02
0.01
0.0025
0.05
0.05
0.05
0.05
Order inserted here
0.15
0.01

This means that there is 0.3075 BTC in orders that would need to be filled ahead of my position. What would be more effective would be instead of just outright eliminating everything below 0.1 it instead iterated (looped) through each of these positions until it has a running total of at least 0.1 BTC so:

0.01 + 0.015 + 0.05 + 0.02 + 0.01 = 0.105

As such it would position my order as follows:

Total BTC
0.01
0.015
0.05
0.02
Order inserted here
0.01
0.0025
0.05
0.05
0.05
0.05
0.15
0.01
legendary
Activity: 2632
Merit: 1040
OK I've been giving C.A.T. a test run for a few days now and I have a suggestion.

The option Skip Orders With Total < Than would be much better if it used a cumulative total.

For example if don't want it to change position for an order less than 0.1 BTC but there are a lot of smaller orders you can end up way down the order book with what can amount to much more than 0.1 BTC (in total) above your position. If it looked at the state of the order book and iterated through the list until there was a total of 0.1 BTC and then positioned directly above that price point it would be a great deal better than it is currently.

Well maybe i can add a new parameter to do this.
This parameter actually "remove" all orders < X  (Price*Quantity)  from the algorithm list before do any calculation/compare.
And works only over a single orders.

You mean something like
- Accept X Amount ahead from your orders
Ex

ORD1 1@5
ORD2 2@6
ORD3 2@7
YOURORD 3@5

X = 35, total amount ahead your order is 1*5+2*6+2*7 = 31 so i dont create any new orders.
You mean that?

hero member
Activity: 630
Merit: 502
OK I've been giving C.A.T. a test run for a few days now and I have a suggestion.

The option Skip Orders With Total < Than would be much better if it used a cumulative total.

For example if don't want it to change position for an order less than 0.1 BTC but there are a lot of smaller orders you can end up way down the order book with what can amount to much more than 0.1 BTC (in total) above your position. If it looked at the state of the order book and iterated through the list until there was a total of 0.1 BTC and then positioned directly above that price point it would be a great deal better than it is currently.
legendary
Activity: 2632
Merit: 1040
just like when we click suggested sell price and then -unit price- change,
can you add function, that when I click at altcoin quantity in -calculator- panel and then quantity in -generate ping-pong - also change

sometimes I stop my process and cancel all my waiting order, and start again with sell order
I have to type in altcoin quantity in each sell order

can you add that...?  Grin

I Will look for it  Wink
member
Activity: 67
Merit: 10
just like when we click suggested sell price and then -unit price- change,
can you add function, that when I click at altcoin quantity in -calculator- panel and then quantity in -generate ping-pong - also change

sometimes I stop my process and cancel all my waiting order, and start again with sell order
I have to type in altcoin quantity in each sell order

can you add that...?  Grin
legendary
Activity: 2632
Merit: 1040
Ok, i got it! This is an error.
I will correct it  Wink
This is what happens :
When you press the UPDATE BUTTON the ping-pong process was working on the Parameter Struct, so an "Concurrent Update Exception" was thrown.

Thanks for the log  Wink
Hope Saturday/Sunday to give next version  Wink
member
Activity: 68
Merit: 10
only thing I have in the console ( I m using linux )

java -jar CAT.jar
java.util.ConcurrentModificationException
   at java.util.ArrayList$Itr.checkForComodification(Unknown Source)
   at java.util.ArrayList$Itr.next(Unknown Source)
   at cryptsy.singleMarketLookup.PP.PPAlgo.checkPingPongRecalculate(PPAlgo.java:170)
   at cryptsy.singleMarketLookup.PP.PPAlgo.lookup(PPAlgo.java:88)
   at cryptsy.singleMarketLookup.PP.PPAlgo$1.run(PPAlgo.java:321)
   at java.lang.Thread.run(Unknown Source)
Exception in thread "Thread-10" java.lang.NullPointerException
   at cryptsy.generalMarketLookup.GeneralMarketBrain.filter(GeneralMarketBrain.java:53)
   at cryptsy.generalMarketLookup.GeneralMarketBrain.checkMarket(GeneralMarketBrain.java:42)
   at cryptsy.generalMarketLookup.JPanelGeneralMarket.setMercati(JPanelGeneralMarket.java:60)
   at cryptsy.generalMarketLookup.JPanelGeneralMarket$2.run(JPanelGeneralMarket.java:106)
   at java.lang.Thread.run(Unknown Source)
legendary
Activity: 2632
Merit: 1040
2013-11-19 19:57:26| Stop Ping Order Creation Because Min Sell Is 0.00190656
2013-11-19 19:58:48| Check Cauldron...
2013-11-19 19:58:48| Stop Ping Order Creation Because Min Sell Is 0.00190656
2013-11-20 00:13:00| UPDATED Algo Parameter!
2013-11-20 12:22:15| UPDATED Algo Parameter!
nothing moving

actual suggested sell price : 0.00219998
actual suggested buy price : 0.00211009

never sell under : 0.0012
never buy over : 0.0025

stop ping creation if sell value is > 0.0025
stop ping creation if buy value is < 0.0012
min % : 2

so I think it should restart the ping pong, after the updated algo parameter and he doesn't

Hum.....can you launch program with BAT file, and don't close the dos window, and tell me if after the Algo Parameter update you will get some Exception error in dos window? (Exception is long message with line numbers and description)
member
Activity: 68
Merit: 10
2013-11-19 19:57:26| Stop Ping Order Creation Because Min Sell Is 0.00190656
2013-11-19 19:58:48| Check Cauldron...
2013-11-19 19:58:48| Stop Ping Order Creation Because Min Sell Is 0.00190656
2013-11-20 00:13:00| UPDATED Algo Parameter!
2013-11-20 12:22:15| UPDATED Algo Parameter!
nothing moving

actual suggested sell price : 0.00219998
actual suggested buy price : 0.00211009

never sell under : 0.0012
never buy over : 0.0025

stop ping creation if sell value is > 0.0025
stop ping creation if buy value is < 0.0012
min % : 2

so I think it should restart the ping pong, after the updated algo parameter and he doesn't
legendary
Activity: 2632
Merit: 1040
Pages:
Jump to: