Skip to content

Instantly share code, notes, and snippets.

@ruzli
Created August 14, 2018 12:07
Show Gist options
  • Save ruzli/971bdc02347aa19801085e1af15e6dd1 to your computer and use it in GitHub Desktop.
Save ruzli/971bdc02347aa19801085e1af15e6dd1 to your computer and use it in GitHub Desktop.
const baseBet = 100
const target = 2
const resetTargetAt = 10
const resetTargetTo = 2
const betMultiplier = 0.5
const increaseTargetEvery = 1
const TargetProfit = 2000
const dontLoseThan = 500
const repeatBetTimes = 2
const engine = this
let _baseBet = baseBet
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()
//if (this.balance - betSize(lossCount) < dontLoseThan){}
// if (betSize(lossCount) > 50 * 100){
// lossCount = 1
// }
// let lossRepeat = lossCount / repeatBetTimes +1
// if (lossRepeat <= 0){lossRepeat = 1}
const {multiplier} = await this.bet(betSize(lossCount), _target)
if (multiplier < _target) { // loss
incLose++
if (incLose >= increaseTargetEvery ){
_target = _target + betMultiplier
incLose =0
if (_target >=resetTargetAt ){
_target = resetTargetTo
_baseBet = (_baseBet+100)
incLose = 0
}
}
lossCount++
this.log(`Lost bet. new bet size of ${betSize(lossCount)/100}.`)
} else { /* [WINS] */
incLose = 0
_baseBet = baseBet
lossCount = 1
if (lossCount <= 1){
lossCount = 1
}
gong()
incLose = 0
_target = target
this.log(`Won bet. Setting bet size to ${baseBet/100}.`)
}
}
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 just did your profits, terminating script`)
stopGame()
}
if(balance / 100 <= dontLoseThan){
engine.log(`Stopper triggered script to terminate`)
stopGame()
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment