ruzli
8/14/2018 - 12:05 PM

Martingale - non classic

const baseBet = 100                     // how many satoshis to bet initially
const target = 2                        // target multiplier
const TargetProfit = 300000
const dontLoseThan = 2500   // Stopper

const betMultiplier = 1  

const engine = this

let lossCount = 1
let _target = target
let incLose  = 0

this.log(`Starting martingale with a base bet of ${baseBet} satoshis.`)
while (true) {
  checkConditions(this.balance)
  collectSound()

  const { multiplier } = await this.bet(betSize(lossCount), _target)

  if (multiplier < _target) { /* [LOSS]  */
    incLose++
    if (incLose >= 4 ){
        _target = _target + betMultiplier
       // if (_target >=20){_target = target}
            incLose = 0
    }
    
    lossCount++

    this.log(`Lost bet.`)
  } else {    /*  [WINS]  */
    incLose = 0
    lossCount = 1
    if (lossCount <= 1){lossCount = 1}
        gong()
    incLose = 0
    _target = target
    this.log(`Won bet.`)
  }
}

function betSize(lossCount) {
      let bet = baseBet * lossCount
      return bet
}
function gong() {
  const audio = new Audio("https://bustadice.com/5bb187b7ef764e76fb519939f77288c1.mp3")
  audio.play()
  return new Promise(resolve => audio.onended = resolve)
}
function collectSound(){
    const audio = new Audio ("http://kz-developer.ru/sounds/chipsHandle6.wav")
    audio.play()
    return new Promise(resolve => audio.onended = resolve)
}
async function generateSeed(){
    const { server_seed_hash } = await engine.newSeedPair()
    engine.log(`Server seed: ${server_seed_hash}`)
    try {
        const clientSeed = randomSeed()
        await engine.setClientSeed(clientSeed)
        engine.log(`Seed was set to: ${clientSeed}`)
    }
    catch(e){
        engine.log(`Client seed already was reset and not used`)
    }
}
function randomSeed(){
    const words = ['Ze3foA1gAlpha ','Zefo3AG3B2r2a3qtwvo ','Zefo3AG313Charlie ','ZefoA22G3Delta ','Zef3o1GEcho ','ZefoA22G5oxtrot ','ZefoAG34G223tewlf ','Ze1o5A3GHotel ','ZefoA3dda ','Ze5f3Auliet ','ZefoAGK3agalo ','ZefoAG24rqwima ',
    'Zef5oAG2Mrhe ','ZefoAG52ovember ','Ze67foGOscar ','Zefo3A45apayww ','Zef44A2Quebec ','ZefoAG433omeo ','ZefoA4GSierra ','ZefoA41GTngo ','ZefoA445GUniorm ','Ze37oGVictor ','ZefoA33W4hiskey ','ZefA3G4oXay ','Zef4Gpooper ','ZefoA3GZulu ']

    return words[Math.floor(words.length * Math.random())] + words[Math.floor(words.length * Math.random())] + words[Math.floor(words.length * Math.random())]}

async function stopGame(){
  await engine.stop()
}
function checkConditions(balance){
    if(balance / 100 >= TargetProfit){
        engine.log(`You reached target profit of ${TargetProfit}`)
        stopGame()
    }
    if(balance / 100 <= dontLoseThan){
        engine.log(`Your balance limit of ${dontLoseThan}, was reached. Stopping script`)
        stopGame()
    }
}