How about indicating the selected value?
<input id='rangeInput' type=range min=-4830 max=5000 value=50 step=1 list="numbers" oninput="amount.value=rangeInput.value" />
<output id="amount" name="amount" for="rangeInput">0</output>
<datalist id="numbers">
<option>0</option>
</datalist>
See it in action
EDIT
Updated code, combined with yours. Should be clear enough to mark and show value I think.
EDIT 2
A simple solution could be something like this:
HTML:
<div id="cont">
<span id="zero">0</span>
<input id='rangeInput' type=range min=-4830 max=5000 value=50 step=1 list="numbers" oninput="amount.value=rangeInput.value" />
<datalist id="numbers">
<option>0</option>
</datalist>
</div>
<output id="amount" name="amount" for="rangeInput">0</output>
CSS:
#cont {
position: relative;
width: 400px;
}
#zero {
position:absolute;
left:50%;
color: lightgray;
}
#rangeInput {
margin-top: 20px;
width: 410px;
}
The zero
will be in the middle of the cont
<div>
element. You can try moving it around. I increased width, because the range is big.
Updated fiddle here