Jump to content

OMEGA v7: Advanced Hash Dice Script | Trailing Stop-Loss & Ghost Logic


ystudio3d
 Share

Recommended Posts

 

Hi everyone,

I’m releasing a version of my personal Hash Dice script (OMEGA v7) as a gift to the community. This engine is the result of applying my 5 years of algorithmic trading experience to high-variance gaming environments.

Important Disclaimer: Gambling involves significant risk. This script is based on my personal research and testing. It is not a guarantee of profit. Use it at your own risk and only with capital you can afford to lose.

The Logic Behind OMEGA v7: Instead of a blind betting pattern, this script uses a State Machine to navigate through different phases of a session:

  • GHOST Phase: Runs 0.0001 bets to analyze the seed and wait for a specific setup.

  • HUNT Phase: Enters active betting once the setup is detected, using Bet Jitter to vary the bet size slightly for better account protection.

  • The Vault (Trailing-Stop): Once a profit target is hit, the script activates a trailing stop-loss, "locking" gains and moving the exit floor upward as you win.

  • Cooldown: Forced rest periods between sessions to maintain engine stability.

Test Run Results (See Attached Screenshot): This screenshot demonstrates a stability run of nearly 12,000 autonomous rounds. You can see the engine successfully navigating drawdowns and recovering using the trailing logic.

  • Total Rounds: 11,921 (Wins: 5881 / Losses: 6040)

  • Wagered Volume: $397.38

  • Net Profit: $39.07

The Code:

var config = {
  hunt_bet:   { label: "Hunt Bet",       value: 0.02,   type: "number" },
  hunt_pay:   { label: "Hunt Payout",    value: 10.00,  type: "number" },
  trail:      { label: "Trail Amount",   value: 0.30,   type: "number" },
  trail_act:  { label: "Trail Activate", value: 0.50,   type: "number" },
  hard_sl:    { label: "Hard Stop Loss", value: 1.00,   type: "number" },
  hunt_max:   { label: "Max Hunt",       value: 20,     type: "number" },
  cooldown:   { label: "Cooldown Rounds",value: 50,     type: "number" },
  max_loss:   { label: "Kill Switch $",  value: 3.00,   type: "number" },
  ghost_min:  { label: "Ghost Min",      value: 5,      type: "number" },
  ghost_max:  { label: "Ghost Max",      value: 10,     type: "number" },
  hit_ghost_min:{label: "Hit Ghost Min", value: 2,      type: "number" },
  hit_ghost_max:{label: "Hit Ghost Max", value: 5,      type: "number" },
  bet_jitter: { label: "Bet Jitter %",   value: 20,     type: "number" },
  initial_bal:{ label: "Balance",        value: currency.amount, type: "number" }
};

var total = 0, sess = 1, sW = 0, sL = 0, rd = 0;
var sn = 0, pk = 0, g = 0, hN = 0, hits = 0;
var trailOn = false;
var mode = 'GHOST';
var coolLeft = 0;
var ghostTarget = 8;

function randGhost(isAfterHit) {
  var lo, hi;
  if (isAfterHit) {
    lo = config.hit_ghost_min.value;
    hi = config.hit_ghost_max.value;
  } else {
    lo = config.ghost_min.value;
    hi = config.ghost_max.value;
  }
  return Math.floor(Math.random() * (hi - lo + 1)) + lo;
}

function jitter(base) {
  var pct = config.bet_jitter.value / 100;
  var mult = 1 + (Math.random() * 2 - 1) * pct;
  var b = base * mult;
  return Math.round(Math.max(0.0001, b) * 10000) / 10000;
}

function startSession() {
  sn = 0;
  pk = 0;
  g = 0;
  hN = 0;
  hits = 0;
  trailOn = false;
  mode = 'GHOST';
  ghostTarget = randGhost(false);
  log.info("S" + sess + " START | Ghost:" + ghostTarget + " | Total:" + total.toFixed(4) + " W:" + sW + " L:" + sL);
}

function startCooldown() {
  coolLeft = config.cooldown.value + Math.floor(Math.random() * 20);
  mode = 'COOL';
  log.info("COOLDOWN " + coolLeft + " rounds...");
}

function main() {
  ghostTarget = randGhost(false);
  log.info("OMEGA v7 AUTO | x" + config.hunt_pay.value + " trail:" + config.trail.value);

  game.onBet = function() {
    rd++;
    var B = config.hunt_bet.value;
    var T = config.hunt_pay.value;
    var TRAIL = config.trail.value;
    var TACT = config.trail_act.value;
    var SL = config.hard_sl.value;
    var HMAX = config.hunt_max.value;
    var KILL = config.max_loss.value;

    if (total <= -KILL) {
      log.error("KILL " + total.toFixed(4) + " S:" + sess + " W:" + sW + " L:" + sL);
      game.stop();
      return;
    }

    /* === COOLDOWN === */
    if (mode === 'COOL') {
      coolLeft--;
      if (coolLeft <= 0) {
        sess++;
        startSession();
      }
      game.bet(0.0001, 1.0102).then(function(p) {
        var pf = p > 1 ? 0.0001 * 0.0102 : -0.0001;
        total += pf;
      });
      return;
    }

    /* === CHECK TRAIL / SL === */
    if (sn > pk) pk = sn;
    if (pk >= TACT) trailOn = true;

    if (trailOn && sn <= pk - TRAIL) {
      sW++;
      log.success("TRAIL S" + sess + " +" + sn.toFixed(4) + " pk:" + pk.toFixed(4) + " | Total:" + total.toFixed(4) + " W:" + sW);
      startCooldown();
      game.bet(0.0001, 1.0102).then(function(p) {
        var pf = p > 1 ? 0.0001 * 0.0102 : -0.0001;
        total += pf;
      });
      return;
    }

    if (sn <= -SL) {
      sL++;
      log.error("SL S" + sess + " " + sn.toFixed(4) + " | Total:" + total.toFixed(4) + " L:" + sL);
      startCooldown();
      game.bet(0.0001, 1.0102).then(function(p) {
        var pf = p > 1 ? 0.0001 * 0.0102 : -0.0001;
        total += pf;
      });
      return;
    }

    /* === GHOST PHASE === */
    if (mode === 'GHOST') {
      g++;
      if (g >= ghostTarget) {
        mode = 'HUNT';
        hN = 0;
      }
      game.bet(0.0001, 1.0102).then(function(p) {
        var pf = p > 1 ? 0.0001 * 0.0102 : -0.0001;
        sn += pf;
        total += pf;
      });
      return;
    }

    /* === HUNT PHASE === */
    var b = B;
    if (hN >= 5 && hN < 10) b = B * 2;
    if (hN >= 10) b = B * 4;
    b = jitter(b);
    var t = T;
    /* Payout jitter: randomly nudge target ±0.5 */
    var payJitter = (Math.random() - 0.5) * 1.0;
    t = Math.max(2.00, T + payJitter);
    t = parseFloat(t.toFixed(2));

    log.info("S" + sess + " H" + (hN+1) + " B:" + b.toFixed(4) + " x" + t + (trailOn ? " T@" + (pk-TRAIL).toFixed(3) : ""));

    if (rd % 50 === 0) {
      var real = currency.amount - config.initial_bal.value;
      log.info("R:" + rd + " S" + sess + " sn:" + sn.toFixed(4) + " total:" + total.toFixed(4) + " real:" + real.toFixed(4) + " W:" + sW + " L:" + sL);
    }

    game.bet(b, t).then(function(payout) {
      var won = payout > 1;
      var pf = won ? (b * t) - b : -b;
      sn += pf;
      total += pf;

      if (won) {
        hits++;
        log.success("HIT +" + pf.toFixed(4) + " sn:" + sn.toFixed(4) + " total:" + total.toFixed(4));
        /* >>> GHOST BETWEEN HITS <<< */
        mode = 'GHOST';
        g = 0;
        hN = 0;
        ghostTarget = randGhost(true);
      } else {
        hN++;
        if (hN >= HMAX) {
          mode = 'GHOST';
          g = 0;
          hN = 0;
          ghostTarget = randGhost(false);
          log.error("TIMEOUT > Ghost " + ghostTarget);
        }
      }
    });
  };
}

Optimization & Custom Setups: These settings worked for me, but every bankroll is different. If you want to dive deeper into the parameters or need help with optimization for high-volume targets, feel free to send me a PM. I’m happy to discuss the math and help you fine-tune it.

 

If you want to explore more profitable scripts for Crash or other games, or if you need help fine-tuning this engine for large bankrolls, feel free to reach out. Serious inquiries can contact me at: [email protected].

{99D51CD1-5507-4908-8C2E-7619C14BE598}.png

Link to comment
Share on other sites

You need to be a member in order to leave a comment

Sign up for a new account in our community. It's easy!

Register a new account

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...