Hi Sanpey. A proposed feature for your ToDo list.
The combination of a Min Gain % and a Price Limit % for the next Ping seems to work fine in a pure sideways moving market, both for long and short positions. However, markets rarely move in a pure sideways direction, where all highs and lows are at aproximately the same price. It is much more frequent to have slightly higher highs and lows or slightly lower highs and lows, so that additional to the oscilation of the price there is a certain trending component in the price movement. This forces the user to constantly adjust parameters to stay in the market range because otherwise at the end you order gets outside the market with the risk of your Stop Loss rule being executed with a loss.
It would be great if you could add to the Price Limit rule generator an additional variable component, lets call it a Trending Factor, that would add (or substract) to the defined price limit % an additional % calculated by CAT based on the trending component of the price during the last ping-pong lifecycle (or the last X minutes).
Let's put an example. Let's imagine a certain market price is ranging from $100 to $110 during a number of price oscillation movements. I would set up a Ping buy order at $100 with a Min Gain of 10% (expecting to pong sell at $110) and a Price Limit rule like "Never BUY OVER Your Last PONG SELL Price - 10%" ensuring the next Ping buy would be executed again at $100 (in real world things are not that easy, but this is just an example).
Lets imagine that after a certain number of successfull cycles the price trends up and starts ranging from $105 to $115. If CAT detects such a change in price range, where both highs and lows have moved up by 5%, it could modify the Price Limit rule by adding the same amount (5%) to the % limit and the next ping buy would execute at $105 instead of $100, which would have never be executed in the new status of the market. The same applies if the market is trending down to range from $95 to $105. In this case the 5% would be substracted from the Price Limit %, so that the new ping buy would execute at $95, not at $100.
The trick is, of course, how to calculate the Trending Factor. I know exchanges do not provide long term historical price data, but all APIs have a command to retrieve the market history containing the price in the last N trades. Why not use this data to identify a trend a exploit this information? It could probably be enough to determine the maximum and minimum prices in the Market History and compare them with the values read during the last ping creation.
At the end the idea is to implement a certain self-adjusting mechanism that would enable you to stay in markets prices for a longer time.
A similar approach could be taken with the Min Gain %, where it could self-adjust to the spread between supports and resistances, but this is probably a bit more complex to implement.
Hi Sanpey, you never responded to this proposal. I think it is not difficult to implement and would make a really big difference.
How is version 5.2 going?
Another proposal. I think that one of the biggest opportunities for trading cryptos is arbitrage. Price differences for the same coin at the same time in different exchanges are much higher than in conventional financial markets. Having developed already the API for more than 20 different exchanges would not be so difficult to implement. Just make the PING in one exchange, and the PONG in another, of course exploiting at maximum price differences.
Best.