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) *...