Can someone explain about min.effective gain? I don't understand what it does.
When I create a bot I set buying and selling windows and Eff.margin is calculated based on that window let say 1%
So if I put 1btc worth on that bot it will buy when price reach bottom blue bar and sell when it reach top and I will gain 1% of 1 BTC which is 0.01 BTC
What does min. eff. gain do in this case if I set it to -1, 0, and 1 % ?
If you set it a 0 it does nothing.
If you set it at a posive value it will cause a sell as soon the coin price increase by that amount in relation to the buy. Ie, buy at 1.00 and eff gain 5%, then if price reaches 5.00 it sells regardless of the eff margin being 10%.
If you set with a negative value it behaves completely differently from the positive values.
First it the sell margin % has to fall below the buy price and then the bot starts creating sells orders at a loss up to the eff gain %. ie, you buy a coin at 1.00 and the sell margin was a nice 5% (so eff margin is 5%).
The coin value would have to drop those 5% or more for the sell margin to be below 1.00 for the eff gain % to kick in.
For positive what if min.eff gain is larger than eff.margin? would it wait until min.eff gain meet or sell at eff.margin
For negative I still don't get it. If I buy at 1btc eff.margin is 5% and I set min.eff to -1 when will this take effect? when price drop to 0.95btc? How thats different from stop-loss %
>> For positive what if min.eff gain is larger than eff.margin? would it wait until min.eff gain meet or sell at eff.margin
The mArgin maker bot sets the price of the next buy or sell dependent on the current statistics - which change over time as new trades enter the trade window. That's the first thing. However, before the bot places an order it checks the Min effective gain parameter. Does placing the order violate the Min effective gain? In your case above the answer is yes. If you set a Min effective gain of 10% the bot has to place the order at a price that delivers a 10% gain, after trading fees, from the previous trade that went through.
>> For negative I still don't get it. If I buy at 1btc eff.margin is 5% and I set min.eff to -1 when will this take effect? when price drop to 0.95btc? How thats different from stop-loss %
Allowing the bot to make a loss, by setting a negative Min effective gain, means that if the bot buys but after that the price falls the bot can potentially continue to trade. To keep things simple, you set a Min effective gain of -1% and the bot buys at a price of 1 BTC. If the price drops below 1 BTC and never recovers, then without a negative Min effective gain it would never place another trade. With it turned on the bot has a chance to place a sell order as low as 0.99 BTC, which might mean it can make a number of trades thereafter which make gains.
Of course there are no guarantees.
It's different from stop-loss because stop-loss is an event that also stops the bot. That's your get out of the market because you are not prepared to make a single cent more of a loss than where you place your stop loss.
Jonathan, have you equationed changing how the bot places a buy order after a sell is made because of the negative eff gain%?
Right now the bot will calculate a new buy order based on the buy margin % as it normally does but from my relative short experience playing with it, perhaps it would be more profitable to have the bot place a buy order at whatever the price is right away.
What I am seeing is that when the sell order is executed the price is swinging up and it misses on a possible profitable situation.
What I am suggesting is when a sell order is completed because of the eff min gain % to place a buy order immediately and after the buy order is filled to set up a sell order based on the first buy order that generated the loss plus the eff min gain % to try to recover the amount of the loss.
example buy at 1btc, the price drops and when the sell takes place at 0.9btc (-1%) make a buy at whatever the price is (hopefully at 0.9btc) and then create a sell at (1btc + 0.1%+fees) 1.1btc and then the bot resumes from it.
I have to say that I have really thought too much if this is a good strategy or not but I have been using startegies with -1 and -2% eff gains % and everytime the sell happens the price is going up. This causes the bot to place a buy order that is way too low and it might take alot of time for it to catch up with the coin if the price stays stable or keeps going up.
Thanks for your suggestion.
This is unfortunate when it happens, but of course anything can happen after the sell goes through. The market could also become bearish - in which case the current placement of the buy order would be correct. Or the market could level out which currently the mArgin maker bot could also take advantage of after a bit of time and the statistic window narrows.
The mArgin maker bot won't be adapted except perhaps to add a "number of cycles" parameter that some people have asked for.
What we are concentrating instead on is generalizing our current bot code to make it relatively straightforward to add new bots. Once that is done correctly it should be possible to quickly add new bots that take advantage of leonArdo's indicator framework (current ones like Bollinger bands, MACD, EMA etc. and new ones we will add like RSI). Maybe not immediately, but soon thereafter we will look at ways to achieve confluence - combining bots strategies in meaningful ways to get even better performance. At yet another future point it is our intention to release a strategy editor which will let you have full control over the strategies you want to create. You won't need to be a programmer to create your own personalized condition based strategies.
But please note that we are already dealing with a very sophistic piece of software and not just a script or something else that can easily be adapted. Re-working the way bots are created and visualized is a very large piece of work.
So I ask you guys to have patience with us and know that we are all working to full capacity now to make leonArdo much better.
Thanks for listening.
Jonathan