Тестируем систему Мартингейл на 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


Стартовый капитал: 100
Начальная ставка: 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



Просмотров: 1544
10.02.2015, 09:58 -

Категория: Статьи » Программирование » PHP