Come si calcola la dimensione del lotto? - pagina 3

 
chaffinsjc:

Diciamo che il mio mini conto ha un margine di 10.000 dollari, e voglio rischiare il 2% sul prossimo trade (cioè, semplicemente usare 200 dollari per comprare <qualche quantità> di contratti).

[Mi rendo conto che questa è una visione limitata del "rischio". Non sono interessato ai pip di stopLoss, o agli obiettivi di profitto, o altro].

Usando MetaTrader, ottengo le seguenti informazioni sul mini conto dal mio broker:

accountLeverage = AccountLeverage(); // valore = 200
modeLotSize = MarketInfo("EURUSDm", MODE_LOTSIZE); // valore = 10000
modeLotStep = MarketInfo("EURUSDm", MODE_LOTSTEP); // valore = .01
modeMinLot = MarketInfo("EURUSDm", MODE_MINLOT) ); // valore = .01

DOMANDA: Come faccio a calcolare la dimensione del lotto per $200? (Sarebbe utile conoscere il costo di un lotto di dimensione minima. In questo caso, il lotto di dimensione minima è .01).

DOMANDA: La formula di calcolo della dimensione del lotto è la stessa per tutte le coppie di valute?

Grazie mille in anticipo.


Vi mando un buon calcolatore di dimensione del lotto basato sul capitale e non sul saldo. È meglio se hai più di un trade.

 
Vi mando il mio calcolo delle dimensioni del lotto. Si basa sul capitale e non sul bilancio. È meglio se usi più di 1 trade insieme.
File:
 

Nella documentazione:

MODE_TICKVALUE

16

Valore del segno di spunta nella valuta del deposito

MODE_TICKSIZE

17

Dimensione del tick in punti


Per il mio broker a cinque cifre: mode_tickvalue = 1; mode_ticksize = 0.00001

Quindi perché ogni corpo dà questa linea:

   double pipValue = MarketInfo(Symbol(),MODE_TICKVALUE);
 if (Digits==3 || Digits==5) pipValue *= 10;

Non è sbagliato?

 

Questo è sbagliato, scritto male (?)

double pipValue = MarketInfo(Symbol(),MODE_TICKVALUE);
 if (Digits==3 || Digits==5) pipValue *= 10;

Dovrebbe essere: se Digits == 5 E se lavorate in Pips, allora ....

if (Digits==3 || Digits==5) pipValue *= 10;

se qualcuno lavora in Point, qualcuno non si preoccupa dei Pips.

 
ffoorr:

Nella documentazione:

MODE_TICKVALUE

16

Valore del segno di spunta nella valuta del deposito

MODE_TICKSIZE

17

Dimensione del tick in punti


Per il mio broker a cinque cifre: mode_tickvalue = 1; mode_ticksize = 0.00001

Quindi perché ogni corpo dà questa linea:

Non è sbagliato?

   double pipValue = MarketInfo(Symbol(),MODE_TICKVALUE);
 if (Digits==3 || Digits==5) pipValue *= 10;

Questo è solo per quando le persone inseriscono valori come pip. Il punto non è solitamente uguale a 1 pip.
 
ffoorr: Non è sbagliato?

C'è Tick, PIP e Point. Sono tutti diversi in generale. Un tick è il più piccolo cambiamento di prezzo. Un Point è la cifra meno significativa quotata. Nelle valute un pip è definito come 0.0001 (o per JPY 0.01)

Su un broker a 4 cifre un punto (0.0001) = pip (0.0001). [Su un broker a 5 cifre un punto (0.00001) = 1/10 pip (0.00010/10). Solo perché si cita una cifra in più non cambia il valore di un pip. (0.0001 == 0.00010) Gli EA devono regolare i pip in punti (per mq4.) Nelle valute un tick è un punto. Il prezzo può cambiare per la cifra meno significativa (1.23456 -> 1.23457)

Nei metalli un Tick è ancora il più piccolo cambiamento ma è più grande di un punto. Se il prezzo può cambiare da 123.25 a 123.50, hai un TickSize di 0.25 e un punto di 0.01. Il pip non ha alcun significato.

Questo è il motivo per cui non si usa TickValue da solo. Solo come rapporto con TickSize. Vedi DeltaValuePerLot()

 
Roman Kramar:

Il problema non è completamente definito. Se dici che vuoi rischiare il 2% allora devi fissare una delle variabili: il livello di stop loss o il volume di scambio. Dato che stai chiedendo di calcolare la dimensione del lotto, significa che non la vuoi fissa, ma questo richiede che tu sia interessato ai pip dello stop loss anche se dici di non esserlo. Se non hai uno stop loss allora rischiare il 2% significa prendere un lotto fisso, per esempio 1.0, e aspettare che le tue perdite attuali raggiungano il 2% del margine iniziale. Qui non c'è bisogno di calcolare la dimensione del lotto come vedi.


Una volta che il livello di stop loss entra nella vista, il calcolo è semplice:


double tradeVolume = AccountFreeMargin() * Risk/100 / ( StopLossPoints * MarketInfo( Symbol(), MODE_TICKVALUE ) );


Cioè, dato un livello di stop loss per ogni particolare trade, avrete sempre la percentuale specificata del vostro margine iniziale perso se lo stop loss viene preso.


Vorrai anche normalizzare il valore risultante da MODE_LOTSTEP e tapparlo con MODE_MINLOT e MODE_MAXLOT.

Come posso calcolare tutte le dimensioni del mio ordine aperto in USD?

 
magonicolas: Come posso calcolare tutte le dimensioni del mio ordine aperto in USD?
  1. Non fare doppi post! Avevi già aperto questo thread.
    Regole generali e buone pratiche del Forum. -Generale - Forum di programmazione MQL5

  2. Non ha senso. Come faccio a calcolare il mio quarto in USD?

    Non rischiare mai più di una piccola percentuale del tuo conto, sicuramente meno del 2% per scambio, 6% totale al conto. Il rischio dipende dal vostro stop loss iniziale, dalla dimensione del lotto e dal valore della coppia. Non dipende dal margine e dalla leva finanziaria.
    1. Posizionate lo stop dove deve essere - dove la ragione del commercio non è più valida. Per esempio, facendo trading sul rimbalzo di un supporto, lo stop va sotto il supporto.
    2. AccountBalance * percent/100 = RISK = OrderLots * (|OrderOpenPrice - OrderStopLoss| * DeltaPerLot + CommissionPerLot) (Nota OOP-OSL include lo spread, e DeltaPerLot è di solito circa $10/pip ma tiene conto dei tassi di cambio della coppia contro la tua valuta del conto).
    3. NON usare TickValue da solo - DeltaPerLot e verifica che MODE_TICKVALUE stia restituendo un valore nella tua valuta di deposito, come promesso dalla documentazione, o se sta restituendo un valore nella valuta base dello strumento.
      MODE_TICKVALUE non è affidabile su strumenti non-fx con molti broker - MQL4 programming forum 2017.10.10
      Esiste una soluzione universale per il valore Tick? -Coppie di valute - Generale - Forum di programmazione MQL5 2018.02.11
      Calcolo del valore del lotto fuori di un fattore 100 - MQL5 programming forum 2019.07.19
    4. È necessario normalizzare correttamente i lotti e controllare rispetto a min e max.
    5. Devi anche controllare FreeMargin per evitare lo stop out

    La maggior parte delle coppie vale circa 10$ per PIP. Un rischio di $5 con uno SL (molto piccolo) di 5 PIP è $5/$10/5 o 0,1 lotti al massimo.

 
William Roeder:
  1. Non fare doppi post! Avevi già aperto questo thread.
    Regole generali e buone pratiche del Forum. -Generale - Forum di programmazione MQL5

  2. Non ha senso. Come faccio a calcolare il mio quarto in USD?

    Non rischiare mai più di una piccola percentuale del tuo conto, sicuramente meno del 2% per scambio, 6% totale al conto. Il rischio dipende dal vostro stop loss iniziale, dalla dimensione del lotto e dal valore della coppia. Non dipende dal margine e dalla leva finanziaria.
    1. Posizionate lo stop dove deve essere - dove la ragione del commercio non è più valida. Per esempio, facendo trading sul rimbalzo di un supporto, lo stop va sotto il supporto.
    2. AccountBalance * percent/100 = RISK = OrderLots * (|OrderOpenPrice - OrderStopLoss| * DeltaPerLot + CommissionPerLot) (Nota OOP-OSL include lo spread, e DeltaPerLot è di solito circa $10/pip ma tiene conto dei tassi di cambio della coppia contro la tua valuta del conto).
    3. NON usare TickValue da solo - DeltaPerLot e verifica che MODE_TICKVALUE stia restituendo un valore nella tua valuta di deposito, come promesso dalla documentazione, o se sta restituendo un valore nella valuta base dello strumento.
      MODE_TICKVALUE non è affidabile su strumenti non-fx con molti broker - MQL4 programming forum 2017.10.10
      Esiste una soluzione universale per il valore Tick?-Coppie di valute - Generale - Forum di programmazione MQL5 2018.02.11
      Calcolo del valore del lotto fuori di un fattore 100 - MQL5 programming forum 2019.07.19
    4. È necessario normalizzare correttamente i lotti e controllare rispetto a min e max.
    5. Devi anche controllare FreeMargin per evitare lo stop out

    La maggior parte delle coppie vale circa 10$ per PIP. Un rischio di $5 con uno SL (molto piccolo) di 5 PIP è $5/$10/5 o 0,1 lotti al massimo.

Non sto parlando di rischio, voglio solo sapere l'ammontare in USD degli ordini aperti.

 
magonicolas:

Non sto parlando di rischio, voglio solo sapere l'importo in USD degli ordini aperti.

Si prega di STOP doppio posting !