Money Management
Calcolo del profitto mensile per strategia di trading
by leonardo_ciaccio
HTML
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/1.11.4/semantic.min.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/1.11.4/semantic.min.js"></script>
<div class="ui grid">
<div class="one wide column"></div>
<div class="fourteen wide column">
<h2 class="ui header">
<i class="green euro icon"></i>
<div class="content">
Money Management
<div class="sub header">Calcolo del profitto</div>
</div>
</h2>
<h4 class="ui horizontal header divider">
<i class="bar chart icon"></i>
Modulo di elaborazione
</h4>
<form id='elab' class="ui form">
<div class="six wide field">
<label>Capitale iniziale</label>
<select id='balance' class="ui search dropdown ttip" data-content="Il capitale destinato alla strategia">
<option value="50" selected>50€</option>
<option value="100">100€</option>
<option value="500">500€</option>
<option value="1000">1000€</option>
<option value="1500">1500€</option>
<option value="2500">2500€</option>
<option value="5000">5000€</option>
</select>
</div>
<div class="six wide field">
<label>Rischio per trade</label>
<select id='risk' class="ui search dropdown ttip" data-content="La percentuale da destinare per ogni trade">
<option value="2" selected>2%</option>
<option value="5">5%</option>
<option value="10">10%</option>
<option value="15">15%</option>
<option value="30">30%</option>
<option value="50">50%</option>
</select>
</div>
<div class="six wide field">
<label>Risk/Reward Ratio </label>
<select id='rrr' class="ui search dropdown ttip" data-content="Il rapporto tra perdite e profitti">
<option value="1">1:1</option>
<option value="2"...
CSS
.ui.grid {
padding-top: 30px;
}
.ui.horizontal.header.divider {
padding-bottom: 30px;
}
.tot,
.prof{
color: red!important;
}
JavaScript
/*
Coded by Leonardo Ciaccio 21.03.2015
https://www.facebook.com/leonardo.ciaccio
*/
window.onload = function() {
function getMese(num) {
switch (num) {
case 1:
return "Gennaio";
case 2:
return "Febbraio";
case 3:
return "Marzo";
case 4:
return "Aprile";
case 5:
return "Maggio";
case 6:
return "Giugno";
case 7:
return "Luglio";
case 8:
return "Agosto";
case 9:
return "Settembre";
case 10:
return "Ottobre";
case 11:
return "Novembre";
case 12:
return "Dicembre";
}
}
function getSize(balance, risk) {
return Math.round(((balance / 100) * risk) * 100) / 100;
}
function elabora(balance, risk, rrr, mo, pg) {
balance = parseInt(balance);
risk = parseInt(risk);
rrr = parseInt(rrr);
mo = parseInt(mo);
pg = parseInt(pg);
var mesi = 12,
totale = balance,
operazioniMeseProfit = getSize(mo, pg),
operazioniMeseLoss = (mo - operazioniMeseProfit);
$('.response').append("<p> <b><i>Operazioni in profitto per mese : </i>" + operazioniMeseProfit + "</b></p>");
$('.response').append("<p> <b><i>Operazioni in perdita per mese : </i>" + operazioniMeseLoss + "</b></p>");
$('.response').append("<p> <b><i>Bilancio totale annuo : </i><i class='tot'></i></b></p>");
$('.response').append("<p> <b><i>Profitto totale annuo : </i><i class='prof'></i></b></p>");
for (var i = 0; i < mesi; i++) {
$( '.response' ).append( "<h3> MESE " + getMese( i + 1 ) + "</h3>" );
for (var iii = 0; iii < operazioniMeseLoss; iii++) {
totale = totale - getSize(totale, risk);
totale = Math.round(totale * 100) / 100;
$('.response').append("<p> Loss : " + totale + "</p>");
}
for (var ii = 0; ii < operazioniMeseProfit; ii++) {
totale = totale + (getSize(totale, risk) *...