Range- scaling faders - how to

This should answer some of your questions: 3rd-Party Developers Support & SDKs | Steinberg
It’s a numeric parameter.

But if you want a on/off switch then a boolean parameter might work better.
Try this:

defineParameter("Detune", nil, false, function()detuneChanged()end)

function detuneChanged()
  if Detune then
    this.parent:getZone():setParameter("Pitch.Random", 0.85)
  else
    this.parent:getZone():setParameter("Pitch.Random", 0)
  end
end

Or if you have a program with more than one zone:

defineParameter("Detune", nil, false, function()detuneChanged()end)

function detuneChanged()
  local zones = this.parent:findZones(true)
  for i, zone in ipairs(zones) do
    if Detune then
      zone:setParameter("Pitch.Random", 0.85)
    else
      zone:setParameter("Pitch.Random", 0)
    end
  end
end