Think of this:
1.- When creating a new PING order, read the 24HMax and the 24HMin and calculate the median price Mpn = (24HMax + 24HMin) / 2 and store that value.
2.- Repeat the process at the next PING order creation -> Mpn+1
3. Calculate the % variation of the median price since last PING. Var% = (Mpn+1 - Mpn) / Mpn.
4.- Use that variation Var% to adjust the price limit upwards or downwards.
Not that difficult. A couple of hours.
Of course you could make it just an option.
I will probably add a new price limit in 5.2 "Never Buy/SEll Under/Over the median price of the last 24 hours".
That is not complex do implement.