Тестируем систему Мартингейл на PHP
Итак, собственно код:
function Martingale($startBalance = 100, $startBet = 10, $log = false) {
$max = $startBalance;
$currentBet = $startBet;
$currentBalance = $startBalance;
$isBlack = 1;
$total = 0;
while(true) {
if($currentBet > $currentBalance) {
// проиграли
if ($log) echo "You lose!\r\nTotal: $total\r\nMax win: $max\r\nCurrent bet: $currentBet";
return false;
}
if($currentBalance >= ($startBalance * 2)) {
// выиграли
if ($log) echo "You win!\r\nTotal: $total";
return true;
}
$currentBalance = $currentBalance - $currentBet; // сунули нашу ставку в рулетку, сняли с баланса
if($log) echo "Balance: $currentBalance\r\n";
$total++; // увеличиваем счетчик сыгранных игр
$win = false;
// Инициализация рулетки
// Выпало zero
if(mt_rand(1,37) == 1) {
$win = false;
} else {
// В идеальной рулетке шанс выпадения черного или красного = 50/50
if(mt_rand(1,2) == $isBlack)
$win = true;
}
if($win == true) { // выиграли
$currentBalance += ($currentBet * 2); // в баланс 2 ставки
if($log) echo "Win: Balance: $currentBalance\r\n";
$currentBet = $startBet; // вернулись к начальной ставке
$isBlack = ($isBlack == 1) ? 2 : 1; // поменяли с черного на белое
} else { // проиграли
$currentBet = $currentBet * 2; // просто увеличиваем ставку вдвое
if($log) echo "Lose: Balance: $currentBalance\r\n";
}
if($currentBalance > $max)
$max = $currentBalance; // запишем макс. выигрыш
}
}
$win = 0;
$lose = 0;
for($i=0; $i<1000; $i++) {
if(Martingale()) {
$win++;
} else {
$lose++;
}
}
echo "Win: $win \r\n";
echo "Lose: $lose \r\n";
echo "% of wins: ". ($win/1000)*100 . "\r\n";
echo "% of loses: ". ($lose/1000)*100;
Стартовый капитал: 100
Начальная ставка: 10
Win: 341
Lose: 659
% of wins: 34.1
% of loses: 65.9
Начальная ставка: 10
Win: 341
Lose: 659
% of wins: 34.1
% of loses: 65.9
Стартовый капитал: 100
Начальная ставка: 1
Win: 304
Lose: 696
% of wins: 30.4
% of loses: 69.6
Начальная ставка: 1
Win: 304
Lose: 696
% of wins: 30.4
% of loses: 69.6
Стартовый капитал: 1000
Начальная ставка: 1
Win: 263
Lose: 737
% of wins: 26.3
% of loses: 73.7
Начальная ставка: 1
Win: 263
Lose: 737
% of wins: 26.3
% of loses: 73.7
10.02.2015, 09:58 -
Категория: Статьи » Программирование » PHP