An algorithm to detect if the conversion rate growth acceleration rate is still rising or stopped An example.

I have bought a currency while the rate was 1.0. As soon as the conversion rate has increased to 2.0 I would like to sell the currency. Now, that would be an easy task to do. But we are not searching for "easy" tasks, are we?

What if there was a way to determine, whether the rate is still growing or not? For example, what if the conversion rate was still growing at +0.5 per minute, in that case - I would be able to sell the currency at rate 3.0 if only I have waited for 2 more minutes. Alternatively, I would be able to sell the currency at an even higher rate, if it was determined that the acceleration rate either stopped, or became negative. 

Here is a visual representation of what I want to accomplish:




black line - good, but too early to sell
green line - sell now
red line - better sell it now, before rate decreased


Is there an algorithm to accomplish this task?

At this point - it is not clear to me:


What would be the best time range to take into acceleration rate calculations. Should I consider the rate change during the last 10 minutes, 5 minutes or 20 seconds?
How do I determine that the "growth" (acceleration rate) has stopped or is close to being stopped? 
Do I only need to know only the conversion rate, or also number of trades (buys/sells) at a given time frame? 


Any advices are appreciated.
You are seeking to predict future values of the time series based on past values.  There's lots in the area of time series analysis and prediction; I suggest reading about those topics.  The right approach will depend on domain knowledge and how currency rates tend to change and what statistical model is appropriate in your setting.