And here is my bot for the roulette (beta)
description is in code and it can be used as skeleton for other scripts... :-)
/*
-------------------------------------
PLAYT.IN - roulette bot - free script
- beta ------------------------------
-------------------------------------
can be used as skeleton for other
scripts
-------------------------------------
! Use At Your Own Risk !
-------------------------------------
first steps:
0. for the first run, use Training mode!
1. set your balance into variable:
balance=1000; <---- your balacne
2. set stop balance values
stopWhenBalance_Min = 50; <----- stop value Min
stopWhenBalance_Max = 2500; <----- stop value Max
3. try to find best parametrs for each bot, or switch any bot off
bots description:
1. bot - First, Second, Third Dozen (FST)
2. bot - Top, Middle, Bottom Row (TMB)
3. bot - Odd and Even
4. bot - Red and Black
5. bot - 1-18 and 19-36
X. bot - dummy roll
bots starts when - example
- (bot 4 - Red and Black):
if previous seven (var start_bet_Red_Black_on_cnt=7) spins num was Red, then bot create bet on Black
if lost then repeat it in martingale like style until win
if bet size is over value in 256 (bet_max_Red_Black=256), then bot reset it to the init min value (bet_min_FST=1)
- (bot 1 - FST):
if previous two (start_bet_FST_on_cnt) spins num was under 13 => in First Dozen (1-12), then bot (FST) bet on Second, Third Dozen
if lost then repeat it in martingale like style until win
if bet size is over value in 256 (bet_max_FST=256), then bot reset it to the init min value (bet_min_FST=1)
- dummy roll:
bets on Red and on Black (2x1 - bet_Dummy=1) - is used because bots 1-5 need previous nums
! when you spin ZERO you lost 2x1 :-(
------------------------------------------------
whiskey fund: 1NvyfYQmFv4dPaBezo9HddTVPuyeAtiJPE
------------------------------------------------
*/
var balance=1000; // <--------------- set your balance (mBTC) !
// stop when balance is:
var stopWhenBalance_Min = 50;
var stopWhenBalance_Max = 2500;
// kamikadze - ignore stop balance (stopWhenBalance_Min, stopWhenBalance_Max)
var kamikadze = 0; // 1 = On, 0 = Off
var cntBetsPerSpin = 0;
var betSize = 0;
// print debug info - 0=Off, 1=On
var debug = 0;
// dummy spin is used for generate "temporary" num. - the Main bots code can starts from this nums
// rem: with dummy spinn you can lose on ZERO !
var useDummySpin = 1;
var bet_Dummy = 1;
var spin_counter=0;
//---------------------------- var for bet on First,Second,Third Dozen (FST) ---
//var start_bet_FST_on_cnt = -1; // -1 = off
var start_bet_FST_on_cnt = 2; // start bet on FST Dozen when previous count num on same dozen was >= 2 (on opposite side)
var cntFirst=0;
var cntSecond=0;
var cntThird=0;
var bet_FST=1; // start bet size
var bet_min_FST=1; // same - used on reset
var bet_max_FST=256; // when stop (martingale)
//------------------------------- var for bet on Top,Middle,Bottom Row (TMB) ---
//var start_bet_TMB_on_cnt = -1; // -1 = off
var start_bet_TMB_on_cnt = 2; // start bet on TMB Row when previous count num on same row was >= 2 (on opposite side)
var cntTop=0;
var cntMiddle=0;
var cntBottom=0;
var bet_TMB=1; // start bet size
var bet_min_TMB=1; // same - used on reset
var bet_max_TMB=256; // when stop (martingale)
//----------------------------------------------- var for bet on Odd or Even ---
// start_bet_Odd_Even_on_cnt = -1; // -1 = off (dont use bot on Odd or Even)
var start_bet_Odd_Even_on_cnt = 7; // start bet on Odd or Even when previous count num was >= 7 (on opposite side)
var cntOdd=0;
var cntEven=0;
var bet_Odd_Even=1; // start bet size
var bet_min_Odd_Even=1; // same - used on reset
var bet_max_Odd_Even=256; // when stop (martingale)
//---------------------------------------------- var for bet on Red or Black ---
// start_bet_Red_Black_on_cnt = -1; // -1 = off (dont use bot on Red or Black)
var start_bet_Red_Black_on_cnt = 7; // start bet on Red or Black when previous count num was >= 7 (on opposite side)
var cntRed=0;
var cntBlack=0;
var bet_Red_Black=1; // start bet size
var bet_min_Red_Black=1; // same - used on reset
var bet_max_Red_Black=256; // when stop (martingale)
//--------------------------------------------- var for bet on 1-18 or 19-36 ---
// start_bet_1_18_19_36_on_cnt = -1; // -1 = off (dont use bot on 1-18 or 19-36)
var start_bet_1_18_19_36_on_cnt = 7; // start bet on 1-18 or 19-36 when previous count num was >= 7 (on opposite side)
var cnt1_18=0; // count prev. spin on side 1-18
var cnt19_36=0; // ...
var bet_1_18_19_36=1; // start bet size
var bet_min_1_18_19_36=1; // same - used on reset
var bet_max_1_18_19_36=256; // when stop (martingale)
//
var lastNonZeroSpin = -1;
function roulette_bot() {
var last_result = last();
var last_num = num1();
cntBetsPerSpin = 0;
if (spin_counter > 0) {
balance = balance + last_result;
// REPORT - spin log
log(spin_counter+">num:"+last_num+"; bet size:"+betSize+"; prof:"+(last_result-betSize)+"; balance:"+balance+";");
// reset bet size
betSize = 0;
// stop when balanc <> Min, Max
if (kamikadze == 0) {
if ((balance <= stopWhenBalance_Min) || (balance >= stopWhenBalance_Max)) {
log("STOP - final balance:"+balance);
return "stop";
}
}
//! bots stats solve ZERO spin as last non zero spin
if (last_num == 0) {
if (lastNonZeroSpin >= 1) {
last_num = lastNonZeroSpin; // replace current ZERO with last NON ZERO SPIN
} else {
last_num = 1; // for situation that first roll was ZERO - unusually - set fake 1
}
} else {
lastNonZeroSpin = last_num; // save current spin if its > 0
}
//-------------------------------- begin bet on First,Second,Third Dozen ---
if (start_bet_FST_on_cnt > -1) {
// First Dozen
if ((last_num>=1) && (last_num<=12)) {
cntFirst++;
cntSecond=0;
cntThird=0;
if (cntFirst >= start_bet_FST_on_cnt) {
log("bet on Second and Third Dozen:"+(bet_FST*2));
set("13-24",bet_FST); // set bet on Second Dozen
set("25-36",bet_FST); // set bet on Third Dozen
betSize = betSize + bet_FST + bet_FST;
cntBetsPerSpin++;
cntBetsPerSpin++;
bet_FST = bet_FST * 2;
if (bet_FST > bet_max_FST) { // max bet ?
bet_FST = bet_min_FST; // stop martingale
}
} else {
bet_FST = bet_min_FST;
}
}
// Second Dozen
if ((last_num>=13) && (last_num<=24)) {
cntFirst=0;
cntSecond++;
cntThird=0;
if (cntSecond >= start_bet_FST_on_cnt) {
log("bet on First and Third Dozen:"+(bet_FST*2));
set("1-12",bet_FST); // set bet on First Dozen
set("25-36",bet_FST); // set bet on Third Dozen
betSize = betSize + bet_FST + bet_FST;
cntBetsPerSpin++;
cntBetsPerSpin++;
bet_FST = bet_FST * 2;
if (bet_FST > bet_max_FST) { // max bet ?
bet_FST = bet_min_FST; // stop martingale
}
} else {
bet_FST = bet_min_FST;
}
}
// Third Dozen
if ((last_num>=25) && (last_num<=36)) {
cntFirst=0;
cntSecond=0;
cntThird++;
if (cntSecond >= start_bet_FST_on_cnt) {
log("bet on First and Second Dozen:"+(bet_FST*2));
set("1-12",bet_FST); // set bet on First Dozen
set("13-24",bet_FST); // set bet on Second Dozen
betSize = betSize + bet_FST + bet_FST;
cntBetsPerSpin++;
cntBetsPerSpin++;
bet_FST = bet_FST * 2;
if (bet_FST > bet_max_FST) { // max bet ?
bet_FST = bet_min_FST; // stop martingale
}
} else {
bet_FST = bet_min_FST;
}
}
}
//---------------------------------- end bet on First,Second,Third Dozen ---
//----------------------------------- begin bet on Top,Middle,Bottom Row ---
if (start_bet_TMB_on_cnt > -1) {
// Top Row
if ((last_num==3) || (last_num==6) || (last_num==9) || (last_num==12) || (last_num==15) || (last_num==18) ||
(last_num==21) || (last_num==24) || (last_num==27) || (last_num==30) || (last_num==33) || (last_num==36)) {
cntTop++;
cntMiddle=0;
cntBottom=0;
if (cntTop >= start_bet_TMB_on_cnt) {
log("bet on Middle and Bottom Row:"+(bet_TMB*2));
set("Y",bet_TMB); // set bet on Middle Row
set("Z",bet_TMB); // set bet on Bottom Row
betSize = betSize + bet_TMB + bet_TMB;
cntBetsPerSpin++;
cntBetsPerSpin++;
bet_TMB = bet_TMB * 2;
if (bet_TMB > bet_max_TMB) { // max bet ?
bet_TMB = bet_min_TMB; // stop martingale
}
} else {
bet_TMB = bet_min_TMB;
}
}
// Middlw Row
if ((last_num==2) || (last_num==5) || (last_num==8) || (last_num==11) || (last_num==14) || (last_num==17) ||
(last_num==20) || (last_num==23) || (last_num==26) || (last_num==29) || (last_num==32) || (last_num==35)) {
cntTop=0;
cntMiddle++;
cntBottom=0;
if (cntMiddle >= start_bet_TMB_on_cnt) {
log("bet on Top and Bottom Row:"+(bet_TMB*2));
set("X",bet_TMB); // set bet on Top Row
set("Z",bet_TMB); // set bet on Bottom Row
betSize = betSize + bet_TMB + bet_TMB;
cntBetsPerSpin++;
cntBetsPerSpin++;
bet_TMB = bet_TMB * 2;
if (bet_TMB > bet_max_TMB) { // max bet ?
bet_TMB = bet_min_TMB; // stop martingale
}
} else {
bet_TMB = bet_min_TMB;
}
}
// Bottom Row
if ((last_num==1) || (last_num==4) || (last_num==7) || (last_num==10) || (last_num==13) || (last_num==16) ||
(last_num==19) || (last_num==22) || (last_num==25) || (last_num==28) || (last_num==31) || (last_num==34)) {
cntTop=0;
cntMiddle=0;
cntBottom++;
if (cntBottom >= start_bet_TMB_on_cnt) {
log("bet on Top and Middle Row:"+(bet_TMB*2));
set("X",bet_TMB); // set bet on Top Row
set("Y",bet_TMB); // set bet on Middle Row
betSize = betSize + bet_TMB + bet_TMB;
cntBetsPerSpin++;
cntBetsPerSpin++;
bet_TMB = bet_TMB * 2;
if (bet_TMB > bet_max_TMB) { // max bet ?
bet_TMB = bet_min_TMB; // stop martingale
}
} else {
bet_TMB = bet_min_TMB;
}
}
}
//------------------------------------- end bet on Top,Middle,Bottom Row ---
//------------------------------------------------ begin bet on Odd Even ---
if (start_bet_Odd_Even_on_cnt > -1) {
// counter - results for Odd
if ((last_num== 1) || (last_num== 3) || (last_num== 5) || (last_num== 7) || (last_num== 9) ||
(last_num==11) || (last_num==13) || (last_num==15) || (last_num==17) || (last_num==19) ||
(last_num==21) || (last_num==23) || (last_num==25) || (last_num==27) || (last_num==29) ||
(last_num==31) || (last_num==33) || (last_num==35)) {
cntOdd++;
cntEven = 0;
if (cntOdd >= start_bet_Odd_Even_on_cnt) {
log("bet on Even:"+bet_Odd_Even);
set("E",bet_Odd_Even); // set bet on Even
betSize = betSize + bet_Odd_Even;
cntBetsPerSpin++;
bet_Odd_Even = bet_Odd_Even * 2;
if (bet_Odd_Even > bet_max_Odd_Even) { // max bet ?
bet_Odd_Even = bet_min_Odd_Even; // stop martingale
}
} else {
bet_Odd_Even = bet_min_Odd_Even; // start value for martingale
}
} else { // counter - results for Even
cntOdd = 0;
cntEven++;
if (cntEven >= start_bet_Odd_Even_on_cnt) {
log("bet on Odd:"+bet_Odd_Even);
set("O",bet_Odd_Even); // set bet on Odd
cntBetsPerSpin++;
betSize = betSize + bet_Odd_Even;
bet_Odd_Even = bet_Odd_Even * 2;
if (bet_Odd_Even > bet_max_Odd_Even) { // max bet ?
bet_Odd_Even = bet_min_Odd_Even; // stop martingale
}
} else {
bet_Odd_Even = bet_min_Odd_Even; // start value for martingale
}
}
}
//-------------------------------------------------- end bet on Odd Even ---
//----------------------------------------------- begin bet on Red Black ---
if (start_bet_Red_Black_on_cnt > -1) {
// counter - results for Red
if ((last_num== 1) || (last_num== 3) || (last_num== 5) || (last_num== 7) || (last_num== 9) ||
(last_num==12) || (last_num==14) || (last_num==16) || (last_num==18) || (last_num==19) ||
(last_num==21) || (last_num==23) || (last_num==25) || (last_num==27) || (last_num==30) ||
(last_num==32) || (last_num==34) || (last_num==36)) {
cntRed++;
cntBlack = 0;
if (cntRed >= start_bet_Red_Black_on_cnt) {
log("bet on Black:"+bet_Red_Black);
set("B",bet_Red_Black); // set bet on Black
betSize = betSize + bet_Red_Black;
cntBetsPerSpin++;
bet_Red_Black = bet_Red_Black * 2;
if (bet_Red_Black > bet_max_Red_Black) { // max bet ?
bet_Red_Black = bet_min_Red_Black; // stop martingale
}
} else {
bet_Red_Black = bet_min_Red_Black; // start value for martingale
}
} else { // counter - results for Black
cntRed = 0;
cntBlack++;
if (cntBlack >= start_bet_Red_Black_on_cnt) {
log("bet on Red:"+bet_Red_Black);
set("R",bet_Red_Black); // set bet on Red
cntBetsPerSpin++;
betSize = betSize + bet_Red_Black;
bet_Red_Black = bet_Red_Black * 2;
if (bet_Red_Black > bet_max_Red_Black) { // max bet ?
bet_Red_Black = bet_min_Red_Black; // stop martingale
}
} else {
bet_Red_Black = bet_min_Red_Black; // start value for martingale
}
}
}
//------------------------------------------------- end bet on Red Black ---
//------------------------------------------- begin bet on 1-18 or 19-36 ---
if (start_bet_1_18_19_36_on_cnt > -1) {
if (last_num < 19) { // counter - results for 1 - 18
cnt1_18++;
cnt19_36 = 0;
if (cnt1_18 >= start_bet_1_18_19_36_on_cnt) {
log("bet on 19-36:"+bet_1_18_19_36);
set("19-36",bet_1_18_19_36); // set bet on 19-36
betSize = betSize + bet_1_18_19_36;
cntBetsPerSpin++;
bet_1_18_19_36 = bet_1_18_19_36 * 2;
if (bet_1_18_19_36 > bet_max_1_18_19_36) { // max bet ?
bet_1_18_19_36 = bet_min_1_18_19_36; // stop martingale
}
} else {
bet_1_18_19_36 = bet_min_1_18_19_36; // start value for martingale
}
} else { // counter - results for 19 - 36
cnt1_18 = 0;
cnt19_36++;
if (cnt19_36 >= start_bet_1_18_19_36_on_cnt) {
log("bet on 1-18:"+bet_1_18_19_36);
set("1-18",bet_1_18_19_36); // set bet on 1-18
cntBetsPerSpin++;
betSize = betSize + bet_1_18_19_36;
bet_1_18_19_36 = bet_1_18_19_36 * 2;
if (bet_1_18_19_36 > bet_max_1_18_19_36) { // max bet ?
bet_1_18_19_36 = bet_min_1_18_19_36; // stop martingale
}
} else {
bet_1_18_19_36 = bet_min_1_18_19_36; // start value for martingale
}
}
}
//--------------------------------------------- end bet on 1-18 or 19-36 ---
//------------------------------------------------- report from last bet ---
// counter log - bots stats
if (debug == 1) {
log(" [O]:"+cntOdd+"/[E]:"+cntEven+" [R]:"+cntRed+"/[B]:"+cntBlack+" "+" [1-18]:"+cnt1_18+"/[19-36]:"+cnt19_36+" ");
log(" [T]:"+cntTop+"/[M]:"+cntMiddle+" "+"/[B]:"+cntBottom+" [F]:"+cntFirst+"/[S]:"+cntSecond+" "+"/[T]:"+cntThird);
}
}
if (cntBetsPerSpin == 0) { // dummy spin...
if (useDummySpin == 1) {
log("dummy spin...");
set("R",bet_Dummy);
set("B",bet_Dummy);
cntBetsPerSpin++;
cntBetsPerSpin++;
betSize = betSize + bet_Dummy + bet_Dummy;
}
}
balance = balance - betSize;
spin_counter++;
return "spin";
}
enjoy!
:-)
whiskey fund:
1NvyfYQmFv4dPaBezo9HddTVPuyeAtiJPE