Análise de gráficos de opções binárias ou como mais uma vez provei para mim mesmo que brindes não existem



Recentemente, me deparei com um vídeo divertido da categoria "Para ficar rico rapidamente, você só precisa ...". O vídeo começa com a descrição de um pacote sólido de dinheiro e a demonstração de uma conta decente. Em seguida, o cara mostra uma estratégia baseada na frase "Bem, veja o gráfico, está claro aqui".


No entanto, sou uma pessoa modesta e, portanto, decidi antes de minha banha verificar primeiro essa estratégia matematicamente e programaticamente. Abaixo você pode ver o que aconteceu.


Descreverei a “Estratégia” primeiro (não tenho certeza se posso largar o link do vídeo aqui, mas farei isso nos comentários, se necessário). O cara sugeriu que mudássemos o gráfico para velas japonesas e depois seguíssemos o mesmo curso da vela anterior. Ou seja, se o último segmento de 5 minutos fechou em menos, agora agora o colocamos em menos. Em caso de perda, da próxima vez que dobrarmos a aposta.

Oh, como eu gosto de pessoas inteligentes com uma estratégia Martingale . Mas vamos ao que interessa.



Vamos começar com a decomposição da tarefa:


  1. Você precisa escrever um script que converta o gráfico em uma linha no formato OOGGO, em que O é Laranja, G é Verde. Ou seja, queda e crescimento.
  2. Em seguida, você precisa simular uma estratégia nesta linha e coletar estatísticas.
  3. Analise os resultados e tire uma conclusão.

Escrevendo um analisador de gráficos


No site, o gráfico é um elemento SVG. É claro que podemos analisá-lo ali mesmo, mas, para começar, prefiro trabalhar em meu próprio projeto. No final, teríamos primeiro de garantir que a estratégia fosse eficaz e só então escrever um robô que cultivaria nossa “riqueza” usando os métodos click () .


Comentários imediatamente após o código.


function turnToString(img) {
	var canvas = document.createElement('canvas'); //(1)
	var ctx = canvas.getContext('2d');

	canvas.width = img.width;
	canvas.height = img.height;
	ctx.drawImage(img, 0, 0, img.width, img.height);

	img.remove();
	document.body.appendChild(canvas); 

	var result = [];
	var isLocked = false;
	var imgData = ctx.getImageData(0,0,canvas.width,canvas.height).data;

	for(var i = 0;i<canvas.width;i++) {
		var mainColor = "N";
		for(var j = 0;j<canvas.height;j++) { //(2)
			var colorIndexes = getColorIndexes(i,j,canvas.width);
			var redPartIndex= colorIndexes[0];
			var greenPartIndex= colorIndexes[1];

			if (imgData[redPartIndex] > 120) {
				mainColor = "O";
				break;
			}
			if (imgData[greenPartIndex] > 120) {
				mainColor = "G";
				break;
			}
		}

		if (isLocked == false && mainColor == "G") { //(3)
			result.push("G");
			isLocked = true;
		}
		if (isLocked == false && mainColor == "O") {
			result.push("O");
			isLocked = true;
		}
		if (mainColor == "N") {
			isLocked = false;
		}

		console.log("Yet another line")

	}
	return result.join("");
}

getColorIndexes, .


function getColorIndexes(x,y,width) {
	var R = 4*(width*y + x);
	return [R,R+1,R+2];
}

, Uint8ClampedArray , getImageData — . , , .. , V8 .


.
1) . DOM, .. , - .
2) . KGB RGB. ( ), . Main color .
3) , . isLocked true. «N», , isLocked


Profit! !



, , .




. , .


function basicProfitAnalisis(mask) {
	var maskInUse = mask;
	var result = [0,0];
	var currentBet = 50;
	var baseBet = 50;
	var maxBet = baseBet;
	var totalSum = 0;
	var multiplier = 0.82;

	for(var i = 1;i<maskInUse.length;i++) {
		if (maskInUse[i] == maskInUse[i-1]) {
			result[0]++; // .
			totalSum += currentBet*multiplier;
			currentBet = baseBet;
		} else {
			result[1]++; // .
			totalSum -= currentBet;
			currentBet *= 2;
			if (currentBet > maxBet) {
				maxBet = currentBet;
			}
		}
	}

	document.getElementById("betsWon").innerHTML += result[0];
	document.getElementById("betsLost").innerHTML += result[1];
	if (totalSum >= 0) {
		document.getElementById("pureChange").innerHTML += `<font 
                color='green'>${totalSum}</font>`;
	} else {
		document.getElementById("pureChange").innerHTML += `<font color='red'>${totalSum} 
                </font>`;
	}
	document.getElementById("maxBet").innerHTML += maxBet;

	setCookie("totalSum", parseInt(getCookie("totalSum"))+totalSum, 365);
}

. , . . , — . , , ( — 0.82, ) . , .


, . . . maxBet (, , , . ).


, , -.



. , . .



? — ?



… -, , . .



, .



?



! ? . — .



, .



.


, , , 10-:


  • : 1 10.
  • : 2663.
  • : -274484.
  • : 819 200 (!!!).

?

, — , , , , 5 , . , , .


. . . , , , , , . 0. , , , 48.65% ( — 2.7%). «» — . . — 0.82 /. .


, , , , .



? ! , . , . . , , . , , .



, - / , , . .



, . , . ! , . , , .



, , .


, , . , . . , , ( ), … ? ?


, , , . , , :)



.


Source: https://habr.com/ru/post/pt420523/


All Articles