mbithy / Trevel

The smartest Bitcoin Gambling bot for freebitco.in.
88 stars 56 forks source link

I want to implement automatic change of every loss encountered in my 16 sequence binary freebitcoin trick #17

Closed smartlinks123 closed 6 years ago

smartlinks123 commented 6 years ago

/**Date: 2018-02-03

//no need to touch the rest!!!!! //first we load all bets sequences var betsPatterns = []; function reverseString(str) { return str.split('').reverse().join(''); } function isNumberBetweenInterval(number, a, b, inclusive) { var min = Math.min(a, b), max = Math.max(a, b);

return inclusive ? number >= min && number <= max :number > min && number < max;

} function loadBetsPattern(){ betsPatternsLengthInDecimal.forEach(function (t) { //looking for regular binary if(isNumberBetweenInterval(binarySequenceOpposite,0, 1, true)){ current = []; for (i = 0; i < Math.pow(2, t); i++) { //it support only 9!!! binary = ("00000000" +i.toString(2)).slice(-1 t); current.push( binary ); } betsPatterns.push(current); //looking for reverse if(betPatternReversed === 1){ current = []; for (i = Math.pow(2, t) - 1; i >= 0 ; i--){ //it support only 9!!! binary = ("00000000" +i.toString(2)).slice(-1 t); current.push( binary ); } betsPatterns.push(current); } }

    //looking for binary opposite
    if(isNumberBetweenInterval(binarySequenceOpposite,1, 2, true)){
        current = [];
        for (i = 0; i < Math.pow(2, t); i++) {
            //it support only 9!!!
            binary = ("00000000" +i.toString(2)).slice(-1 * t);
            current.push( reverseString(binary) );
        }
        betsPatterns.push(current);
        //looking for reverse
        if(betPatternReversed === 1){
            current = [];
            for (i = Math.pow(2, t) - 1; i >= 0 ; i--){
                //it support only 9!!!
                binary = ("00000000" +i.toString(2)).slice(-1 * t);
                current.push( reverseString(binary) );
            }
            betsPatterns.push(current);
        }
    }

});

} loadBetsPattern(); //console.log(betsPatterns); var currentPattern = 0; var currentPatternSequenceIndex = 0; var currentInnerSequencePosition = 0; var betsCounter = 0; var currentLoseSequenceBetsCounter = 0; var maxWait = 500; var betsButtons = [$('#double_your_btc_bet_hi_button'),$('#double_your_btc_bet_lo_button')];//we can reverse them here if needed var bets = ["h", "l"]; var currentBetIndex = parseInt(betsPatterns[currentPattern][currentPatternSequenceIndex].charAt(currentInnerSequencePosition)); var $betButton = betsButtons[currentBetIndex]; var gameStopped = false; var patternStartingDateTime = new Date();

function getSecondsBetweenDates(startDate, endDate) { var diff = endDate.getTime() - startDate.getTime(); return (diff / 1000); }

function setRandomClientSeed() { var chaine_CLIENT = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; var generate, i; var CLIENT_SEED = ""; var CLIENT_SEED_size = 64; for (i = 0; i < CLIENT_SEED_size; i++) { if (!i) { generate = Math.floor(Math.random() chaine_CLIENT.length + 1); //un nombre entre 1 et 62 } else { generate = Math.floor(Math.random() chaine_CLIENT.length); //un nombre entre 0 et 62 }

    CLIENT_SEED += chaine_CLIENT.charAt(generate);
}

$("#next_client_seed").val(CLIENT_SEED);
return CLIENT_SEED;

}

function getRandomWait() { var wait = Math.floor(Math.random() * maxWait) + 100;//was 100 //console.log('Waiting for ' + wait + 'ms before next bet.'); return wait; }

function setMultiply() { var current = $('#double_your_btc_stake').val(); var nbr = parseInt(current 100000000 betMultiplier)/ 100000000; var multiply = nbr.toFixed(8); $('#double_your_btc_stake').val(multiply); return multiply; }

function reset() { $('#double_your_btc_stake').val(parseFloat(baseBetAmount).toFixed(8)); }

function stop() { console.log('Game will stop soon! Let me finish.'); gameStopped = true; }

function start() {

console.log('Game started!');

//change client seed, that have to be changed for every roll
setRandomClientSeed();
//return to base bet amount
reset();

//we start betting
setTimeout(function () {
    $betButton.trigger('click');
}, getRandomWait());

}

// Unbind old shit $('#double_your_btc_bet_lose').unbind(); $('#double_your_btc_bet_win').unbind();

// Loser $('#double_your_btc_bet_lose').bind("DOMSubtreeModified",function(event) { if ($(event.currentTarget).is(':contains("lose")')) { /when losing, follow current sequence, when finished start the next sequence/

    //save the old bet in current lose sequence and general bets counters

    //index: local variable: will save the old value for a bit, till we update them.
    index = currentPatternSequenceIndex;

    currentInnerSequencePosition++;
    currentPatternSequenceIndex =(currentPatternSequenceIndex +parseInt(currentInnerSequencePosition /betsPatterns[currentPattern][index].length) ) %betsPatterns[currentPattern].length;
    currentInnerSequencePosition =currentInnerSequencePosition % betsPatterns[currentPattern][index].length;

    currentLoseSequenceBetsCounter++;
    betsCounter++;

    console.log('Bet Stats::: betsCounter:'+betsCounter+';currentLoseSequenceBetsCounter:'+currentLoseSequenceBetsCounter+';currentBet:'+bets[currentBetIndex]);
    console.log('You Lose! Betting again.');

    //start working on the next bet
    //change client seed, that have to be changed for every roll
    setRandomClientSeed();
    //multiply bet amount
    setMultiply();

    if(currentLoseSequenceBetsCounter <supportedLoseSequenceBetsLength){
        //we still can bet supporting another lose bet, so we build the next bet
        //we load next bet index from betsPattern
        console.log('currentPattern: '+currentPattern+' || currentPatternSequenceIndex: '+currentPatternSequenceIndex+' || currentInnerSequencePosition: '+currentInnerSequencePosition);
        currentBetIndex =parseInt(betsPatterns[currentPattern][currentPatternSequenceIndex].charAt(currentInnerSequencePosition));
        //we load the next bet button
        $betButton = betsButtons[currentBetIndex];
        //we play another new bet
        setTimeout(function () {
            $betButton.trigger('click');
        }, getRandomWait());

    }else{
        //we can't support another bet! so we stop the game
        //nothing to do now, and the game will be stopped. but we need to make sure, that browser didn't refresh automatically
        console.log('Game stopped after losing. supported lose sequence reached.');
    }
}

});

// Winner $('#double_your_btc_bet_win').bind("DOMSubtreeModified",function(event) { if ($(event.currentTarget).is(':contains("win")')) {

    /*when winning, stop current sequence and start the next sequence.*/

    //the first character in the next looped sequence
    currentPatternSequenceIndex =++currentPatternSequenceIndex %betsPatterns[currentPattern].length;
    currentInnerSequencePosition = 0;

    //save the old winning bet
    betsCounter ++;
    currentLoseSequenceBetsCounter = 0;

    console.log('Bet Stats::: betsCounter:'+betsCounter+';currentLoseSequenceBetsCounter:'+currentLoseSequenceBetsCounter+';currentBet:'+bets[currentBetIndex]);
    console.log('You WON! Betting again.');

    /*when winning, we check pattern validity. we change pattern every fixed minutes only when we win!!*/
    if(getSecondsBetweenDates(patternStartingDateTime,new Date()) >= patternPlayPeriodInSeconds){
        //we update the date
        patternStartingDateTime = new Date();
        //we loop the next pattern and start fresh
        currentPattern = ++currentPattern %betsPatterns.length;
        currentPatternSequenceIndex = 0;
        currentInnerSequencePosition = 0;
        console.log('Single Pattern Play Period Reached ==> Moving to the next pattern!');
    }

    if(!gameStopped){
        //start working on the next bet
        //change client seed, that have to be changed for every roll
        setRandomClientSeed();
        //return to base bet amount
        reset();

        //we load next bet index from betsPattern
        console.log('currentPattern: '+currentPattern+' || currentPatternSequenceIndex: '+currentPatternSequenceIndex+' || currentInnerSequencePosition: '+currentInnerSequencePosition);
        currentBetIndex =parseInt(betsPatterns[currentPattern][currentPatternSequenceIndex].charAt(currentInnerSequencePosition));
        //we load the next bet button
        $betButton = betsButtons[currentBetIndex];
        setTimeout(function () {
            $betButton.trigger('click');
        }, getRandomWait());

    }else{
        console.log('Game Stopped.');
    }

}

}); //starting the script start();

smartlinks123 commented 6 years ago

I just need every loss to change to it's opposite automaticall. For example you encounter loss of hi lo hi hi, the system will change it to lo hi lo lo so that when it approaching it will bet on the changes loss bet. Every loss, must be changed to its opposite instantly. My email: smartlink3445@gmail.com

xcape commented 6 years ago

Looks great, i win 0.0001000, I will test again very slow

smartlinks123 commented 6 years ago

Yes the script works fine. But remember you need a minimum balance of 0.00065 satoshi to start using the script. I need someone to implement auto change of every loss to its opposite to make the script 100% currently the script is 95%

smartlinks123 commented 6 years ago

Yes the script works fine. But remember you need a minimum balance of 0.00065 satoshi to start using the script. I need someone to implement auto change of every loss to its opposite to make the script 100% currently the script is 95%

On Mar 1, 2018 17:34, "Xcape" notifications@github.com wrote:

Looks great, i win 0.0001000, I will test again very slow

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/mbithy/Trevel/issues/17#issuecomment-369650220, or mute the thread https://github.com/notifications/unsubscribe-auth/AjKPbTMXqc-KJNbhWhhDuHQADxi42H8gks5taCMWgaJpZM4SVqMM .

smartlinks123 commented 6 years ago

To stop the script enter the command Stop()

smartlinks123 commented 6 years ago

Yes. What I want is for example if their is a loss of hi hi lo the script will recognize the loss and change it to its opposite which is lo lo hi, so that when the bet is approaching it will now bet lo lo hi. Every single loss will be changed and replaced by its opposite. Here is my contact email. smartlink3445@gmail.com

smartlinks123 commented 6 years ago

@osavigne pls can you add the function to my script so I can test it. Thank you

smartlinks123 commented 6 years ago

@osavigne pls can you add the function to my script so I can test it. Thank you

smartlinks123 commented 6 years ago

When I copy and paste the script on console is not running. you can also test if the script is working with little satoshi of 0.00000050 by changing the bet multiplier from 2.0 to 1.0

On Mar 2, 2018 00:56, "osavigne" notifications@github.com wrote:

//variables to change var baseBetAmount = 0.00000001; var betMultiplier = 2.0; var supportedLoseSequenceBetsLength = 16; var betsPatternsLengthInDecimal = [4]; var betPatternReversed = 1; //will create the pattern reverse only when equal to 1!!!! var patternPlayPeriodInSeconds = 900; //the period of playing a single pattern. var binarySequenceOpposite = 2;//if equal to 1, will create binary opposed sequences pattern. value vary from 0 to 2

//no need to touch the rest!!!!! //first we load all bets sequences var betsPatterns = []; function reverseString(str) { return str.split('').reverse().join(''); } function isNumberBetweenInterval(number, a, b, inclusive) { var min = Math.min(a, b), max = Math.max(a, b);

return inclusive ? number >= min && number <= max :number > min && number < max; } function loadBetsPattern(){ betsPatternsLengthInDecimal.forEach(function (t) { //looking for regular binary if(isNumberBetweenInterval(binarySequenceOpposite,0, 1, true)){ current = []; for (i = 0; i < Math.pow(2, t); i++) { //it support only 9!!! binary = ("00000000" +i.toString(2)).slice(-1 t); current.push( binary ); } betsPatterns.push(current); //looking for reverse if(betPatternReversed === 1){ current = []; for (i = Math.pow(2, t) - 1; i >= 0 ; i--){ //it support only 9!!! binary = ("00000000" +i.toString(2)).slice(-1 t); current.push( binary ); } betsPatterns.push(current); } }

//looking for binary opposite if(isNumberBetweenInterval(binarySequenceOpposite,1, 2, true)){ current = []; for (i = 0; i < Math.pow(2, t); i++) { //it support only 9!!! binary = ("00000000" +i.toString(2)).slice(-1 t); current.push( reverseString(binary) ); } betsPatterns.push(current); //looking for reverse if(betPatternReversed === 1){ current = []; for (i = Math.pow(2, t) - 1; i >= 0 ; i--){ //it support only 9!!! binary = ("00000000" +i.toString(2)).slice(-1 t); current.push( reverseString(binary) ); } betsPatterns.push(current); } }

}); } loadBetsPattern(); console.log(betsPatterns); var currentPattern = 0; var currentPatternSequenceIndex = 0; var currentInnerSequencePosition = 0; var betsCounter = 0; var currentLoseSequenceBetsCounter = 0; var maxWait = 500; var betsButtons = [$('#double_your_btc_bethi button'),$('#double_your_btc_bet_lo_button')];//we can reverse them here if needed var bets = ["h", "l"]; var currentBetIndex = parseInt(betsPatterns[currentPattern][ currentPatternSequenceIndex].charAt(currentInnerSequencePosition)); var $betButton = betsButtons[currentBetIndex]; var gameStopped = false; var patternStartingDateTime = new Date();

function getSecondsBetweenDates(startDate, endDate) { var diff = endDate.getTime() - startDate.getTime(); return (diff / 1000); }

function setRandomClientSeed() { var chaine_CLIENT = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; var generate, i; var CLIENT_SEED = ""; var CLIENT_SEED_size = 64; for (i = 0; i < CLIENT_SEED_size; i++) { if (!i) { generate = Math.floor(Math.random() chaine_CLIENT.length + 1); //un nombre entre 1 et 62 } else { generate = Math.floor(Math.random() chaine_CLIENT.length); //un nombre entre 0 et 62 }

CLIENT_SEED += chaine_CLIENT.charAt(generate);

}

$("#next_client_seed").val(CLIENT_SEED); return CLIENT_SEED; }

function getRandomWait() { var wait = Math.floor(Math.random() * maxWait) + 100;//was 100 //console.log('Waiting for ' + wait + 'ms before next bet.'); return wait; }

function setMultiply() { var current = $('#double_your_btc_stake').val(); var nbr = parseInt(current 100000000 betMultiplier)/ 100000000; var multiply = nbr.toFixed(8); $('#double_your_btc_stake').val(multiply); return multiply; }

function reset() { $('#double_your_btc_stake').val(parseFloat(baseBetAmount).toFixed(8)); }

function stop() { console.log('Game will stop soon! Let me finish.'); gameStopped = true; }

function start() {

console.log('Game started!');

//change client seed, that have to be changed for every roll setRandomClientSeed(); //return to base bet amount reset();

//we start betting setTimeout(function () { $betButton.trigger('click'); }, getRandomWait()); }

// Unbind old shit $('#double_your_btc_bet_lose').unbind(); $('#double_your_btc_bet_win').unbind();

// Loser $('#double_your_btc_bet_lose').bind("DOMSubtreeModified",function(event) { if ($(event.currentTarget).is(':contains("lose")')) { /when losing, follow current sequence, when finished start the next sequence/

//save the old bet in current lose sequence and general bets counters

//index: local variable: will save the old value for a bit, till we update them. index = currentPatternSequenceIndex;

currentInnerSequencePosition++; currentPatternSequenceIndex =(currentPatternSequenceIndex +parseInt(currentInnerSequencePosition /betsPatterns[currentPattern][index].length) ) %betsPatterns[currentPattern].length; currentInnerSequencePosition =currentInnerSequencePosition % betsPatterns[currentPattern][index].length;

currentLoseSequenceBetsCounter++; betsCounter++;

console.log('Bet Stats::: betsCounter:'+betsCounter+';currentLoseSequenceBetsCounter:'+currentLoseSequenceBetsCounter+';currentBet:'+bets[currentBetIndex]); console.log('You Lose! Betting again.');

//Changing the loose pattern String.prototype.replaceAt=function(index, replacement) { return this.substr(0, index) + replacement+ this.substr(index + replacement.length); } var change_old=betsPatterns[currentPattern][currentPatternSequenceIndex]; var change_new='0000';

for(var i=0; i<change_old.length; i++){ if(change_old.charAt(i)=='0') change_new = change_new.replaceAt(i,'1'); else change_new = change_new.replaceAt(i,'0'); } betsPatterns[currentPattern][currentPatternSequenceIndex]=change_new;

//start working on the next bet //change client seed, that have to be changed for every roll setRandomClientSeed(); //multiply bet amount setMultiply();

if(currentLoseSequenceBetsCounter <supportedLoseSequenceBetsLength){ //we still can bet supporting another lose bet, so we build the next bet //we load next bet index from betsPattern console.log('currentPattern: '+currentPattern+' || currentPatternSequenceIndex: '+currentPatternSequenceIndex+' || currentInnerSequencePosition: '+currentInnerSequencePosition); currentBetIndex =parseInt(betsPatterns[currentPattern][currentPatternSequenceIndex].charAt(currentInnerSequencePosition)); //we load the next bet button $betButton = betsButtons[currentBetIndex]; //we play another new bet setTimeout(function () { $betButton.trigger('click'); }, getRandomWait());

}else{ //we can't support another bet! so we stop the game //nothing to do now, and the game will be stopped. but we need to make sure, that browser didn't refresh automatically console.log('Game stopped after losing. supported lose sequence reached.'); }

} });

// Winner $('#double_your_btc_bet_win').bind("DOMSubtreeModified",function(event) { if ($(event.currentTarget).is(':contains("win")')) {

/when winning, stop current sequence and start the next sequence./

//the first character in the next looped sequence currentPatternSequenceIndex =++currentPatternSequenceIndex %betsPatterns[currentPattern].length; currentInnerSequencePosition = 0;

//save the old winning bet betsCounter ++; currentLoseSequenceBetsCounter = 0;

console.log('Bet Stats::: betsCounter:'+betsCounter+';currentLoseSequenceBetsCounter:'+currentLoseSequenceBetsCounter+';currentBet:'+bets[currentBetIndex]); console.log('You WON! Betting again.');

/when winning, we check pattern validity. we change pattern every fixed minutes only when we win!!/ if(getSecondsBetweenDates(patternStartingDateTime,new Date()) >= patternPlayPeriodInSeconds){ //we update the date patternStartingDateTime = new Date(); //we loop the next pattern and start fresh currentPattern = ++currentPattern %betsPatterns.length; currentPatternSequenceIndex = 0; currentInnerSequencePosition = 0; console.log('Single Pattern Play Period Reached ==> Moving to the next pattern!'); }

if(!gameStopped){ //start working on the next bet //change client seed, that have to be changed for every roll setRandomClientSeed(); //return to base bet amount reset();

   //we load next bet index from betsPattern
   console.log('currentPattern: '+currentPattern+' || currentPatternSequenceIndex: '+currentPatternSequenceIndex+' || currentInnerSequencePosition: '+currentInnerSequencePosition);
   currentBetIndex =parseInt(betsPatterns[currentPattern][currentPatternSequenceIndex].charAt(currentInnerSequencePosition));
   //we load the next bet button
   $betButton = betsButtons[currentBetIndex];
   setTimeout(function () {
       $betButton.trigger('click');
   }, getRandomWait());

}else{ console.log('Game Stopped.'); }

} }); //starting the script

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/mbithy/Trevel/issues/17#issuecomment-369773128, or mute the thread https://github.com/notifications/unsubscribe-auth/AjKPbWsj3AxAJXL2wRKHqxR5vKQULQbmks5taIqxgaJpZM4SVqMM .

smartlinks123 commented 6 years ago

OK thanks. I now running but I noticed it is not playing according to how I want it. Let me give a little illustration

smartlinks123 commented 6 years ago

This strategy is divided into different parts. Once win in a section it goes to the next section to play. It is a total of 16 sequences, each sequences contains 4 inner sequence in it. No sequence is the same. Onces loss in a sequence it will go to the next inner sequence and continue playing until win Example: You loss on the first inner sequence HHHH it will continue playing from the next inner sequence which is LHHH, if win it will play the next sequence. Example you play on the first sequence beginning with H and win it jumps and play the second sequence beginning with lo if win, it jumps and play the third sequence beginning with lo. Here is the 16 sequence binary strategy. HHHH / LHHH / HLHH / LLHH / HHLH / LHLH / HLLH / LLLH / HHHL/ LHHL/ HLHL / LLHL / HHLL/ LHLL/ HLLL / LLLL.

This is how it will look like if 0 in binary is represented by hi and 1 in binary represented by lo.

*NOW this is how the additional function should operate, onces the script has completed betting the 16 sequence binary pattern, it will now change all the losses encountered while playing the first phase of the 16 sequence replacing the loses with the opposite. For example while playing the 16 sequence losses where encountered in the following: I use a sign to identity loses at the top of the alphabets "H" "H" HH/ "L"" H""H""H"/ "H" LHL/ ........... till the last 16 sequence. Now after playing the 16 sequence the script the script will replace all those losses encountered with there opposite

smartlinks123 commented 6 years ago

what I sent to you above is how my formal script I sent runs already and how is going to run if the additional function of change loss is implemented

smartlinks123 commented 6 years ago

In summary, the script replaces losses with there opposite while completing playing the first phase of the 16 sequence binary. These process will be repeated over and over again

mbithy commented 6 years ago

Then you should have 2 arrays 1 stores your sequence and the other stores current results and when the 16 bets are up you swap 1 for the other, you will do this to infinity.

mbithy commented 6 years ago

also I still hit a 8 loosing streak while testing

smartlinks123 commented 6 years ago

OK. Pls sir can you send me the updated script that has two arrays, so I will test. I am supporting 15 loosing streak.

smartlinks123 commented 6 years ago

Thank you

MrShahzodbek commented 6 years ago

How many loosing streaks have you seen in Freebitcoin?

xcape commented 6 years ago

is working the updated script?

panda2048 commented 6 years ago

@smartlinks

What does it means for 95% success rate? Does that mean 5% of chance it will hit > 16 lose streak?