Come si calcola il margine? - pagina 5

 
Come calcolare programmaticamente la leva è scritto nello stesso thread. Invece di scrivere una nota a piè di pagina, presta più attenzione alle risposte alle tue domande
 

Probabilmente sono molto maldestro con le mie domande e quindi non sto ottenendo le risposte che mi aspetto. Perdonatemi, il russo è solo in parte la mia lingua madre. Ma ci proverò di nuovo.

Ho letto attentamente tutto il ramo. La risposta alla mia domanda originale è stata data - è impossibile ottenere il valore reale della leva per una singola posizione dal terminale.

Ma è stato anche detto che forse la leva cambia non per queste posizioni, ma per uno strumento nel suo insieme. E ora l'unica domanda che mi rimane è come ottenere questa leva dal terminale. A condizione che sia diverso dalla leva totale del conto. Non per calcolare, ma esattamente per ottenere il valore reale.

Sarebbe abbastanza buono se potesse essere fatto PRIMA di aprire la prossima posizione.

 
Janis Ozols:

Probabilmente sono molto maldestro con le mie domande e quindi non sto ottenendo le risposte che mi aspetto. Perdonatemi, il russo è solo in parte la mia lingua madre. Ma ci proverò di nuovo.

Ho letto attentamente tutto il ramo. La risposta alla mia domanda originale è stata data - è impossibile ottenere il valore reale della leva per una singola posizione dal terminale.

Ma è stato anche detto che forse la leva cambia non per queste posizioni, ma per uno strumento nel suo insieme. E ora l'unica domanda che mi rimane è come ottenere questa leva dal terminale. A condizione che sia diverso dalla leva totale del conto. Non per calcolare, ma esattamente per ottenere il valore reale.

Sarebbe bello se si potesse farlo PRIMA di aprire la posizione successiva.

Il broker vi ha detto - può cambiarlo DOPO

e PRIMA - tutto è già scritto sopra, ma è necessario calcolare

 
Renat Akhtyamov:

Ti è stato detto dal tuo broker - può cambiare DOPO
e PRIMA - è tutto scritto sopra, ma devi calcolare

Sì, è quello che voglio sapere, come posso ottenere la leva effettiva per un simbolo DOPO che il broker l'ha cambiata, ma PRIMA di aprire la prossima posizione su quel simbolo. Non sono ancora in grado di calcolarlo correttamente. Perché tutte le formule di calcolo presentate in precedenza contengono o la leva del conto (che rimane invariata) o la quantità di margine dalle impostazioni del simbolo (che anche questo non è cambiato).

 
Janis Ozols:

Giusto, quindi sto cercando di capire come ottenere la leva effettiva per un simbolo DOPO che il broker l'ha cambiata, ma PRIMA di aprire la prossima posizione su quel simbolo. Non sono ancora in grado di calcolarlo correttamente. Perché tutte le formule di calcolo presentate in precedenza contengono o la leva del conto (che è rimasta invariata) o la quantità di margine dalle impostazioni del simbolo (che non è cambiata neanche questa).

Avanti

leva reale:

https://www.mql5.com/ru/forum/353040/page2#comment_18675097

leva nel calcolo del margine

https://www.mql5.com/ru/forum/353040/page4#comment_18728440

e siete fortunati.

;)

Как вычислить маржу?
Как вычислить маржу?
  • 2020.10.09
  • www.mql5.com
Добрый день! Внезапно столкнулся с ситуацией, в которой залог по открытым позициям существенно (в 20 раз) увеличился...
 
Renat Akhtyamov:

la spalla vera e propria:

https://www.mql5.com/ru/forum/353040/page2#comment_18675097

C'è una formula sul link:

LEVERAGE=NormalizeDouble(VOL/MarketInfo("USDCHF",MODE_MARGINREQUIRED),0);

Contiene il valore di MarketInfo("USDCHF",MODE_MARGINREQUIRED), che non cambia dopo che il broker ha cambiato la leva per questo strumento. La funzioneMarketInfo restituisce il margine dalle impostazioni del simbolo, che corrisponde alla leva nelle impostazioni del conto. Se così non fosse, non avrei più domande. È proprio qui che si trova il problema.

Renat Akhtyamov:

è la leva risultante che sostituiamo nel calcolo del margine

https://www.mql5.com/ru/forum/353040/page4#comment_18728440

E il problema sarà che la leva ottenuta nel passo precedente non corrisponderà alla leva reale. Sarà uguale al leverage delle impostazioni del conto, che viene restituito dalla funzione AccountLeverage(). Di conseguenza, il margine, calcolato in questo modo, sarà molto più piccolo di quello reale, se la leva di questo strumento non corrisponde alla leva del conto.

Se volete, potete facilmente controllare voi stessi:

  1. Apri un conto demo sul server Alpari-Demo. Durante l'apertura del conto, seleziona un importo di 10000 USD e una leva di 1:500.
  2. Aprire una posizione per comprare 1 lotto di USDRUB (UZDZAR, UZDTRY)
  3. Calcolate la leva e poi il margine usando le formule che proponete.
  4. Confrontalo con quello che vedi nel tuo terminale
 
Janis Ozols:

C'è una formula sul link:

Contiene il valore di MarketInfo("USDCHF",MODE_MARGINREQUIRED), che non cambia dopo che il broker ha cambiato la leva per questo strumento. La funzioneMarketInfo restituisce il margine dalle impostazioni del simbolo, che corrisponde alla leva nelle impostazioni del conto. Se così non fosse, non avrei più domande. È proprio qui che si trova il problema.

E il problema qui sarà che la leva ottenuta nel passo precedente non corrisponderà alla leva reale. Sarà uguale al leverage delle impostazioni del conto, che viene restituito da AccountLeverage(). Di conseguenza, il margine, calcolato in questo modo, sarà molto più piccolo di quello reale, se la leva di questo strumento non corrisponde alla leva del conto.

Se volete, potete facilmente controllare voi stessi:

  1. Apri un conto demo sul server Alpari-Demo. Durante l'apertura del conto, seleziona un importo di 10000 USD e una leva di 1:500.
  2. Aprire una posizione per comprare 1 lotto di USDRUB (UZDZAR, UZDTRY)
  3. Calcola la leva e poi il margine con la formula che proponi.
  4. Confrontalo con quello che vedi nel terminale

Si dovrebbe provare prima di prevedere il risultato.

Ho lavorato con questa formula sulla leva fluttuante, reagisce in tempo

e non sarà lo stesso di quello che hai visto con i tuoi occhi

e certamente non è quello che hai visto con i tuoi occhi.

e non su demo, ma su reale

 
Renat Akhtyamov:

Avresti dovuto provarlo prima di prevedere il risultato

Non ho previsto il risultato. Naturalmente, ho cercato di farlo prima di suggerirvelo.

Ecco il copione:

void OnStart()
{
   double VOL = MarketInfo("USDRUB",MODE_LOTSIZE);
   double LEVERAGE = NormalizeDouble(VOL/MarketInfo("USDRUB",MODE_MARGINREQUIRED),0);
   double M = VOL / LEVERAGE; // M=CC/КП
   Print("М = ",M);
   Print("LEVERAGE = ",LEVERAGE);
   Print("VOL = ",VOL);
}


Ecco il risultato della sua esecuzione:


Ecco il valore reale:


La ragione della discrepanza è che la leva del simbolo USDRUB è diversa dalla leva del conto. E la mia domanda è come ottenere il valore di questa leva per mezzo di MQL4 prima di aprire una posizione.

 

ok

Prova così ora

void OnStart()

{

   double LEVERAGE = NormalizeDouble( MarketInfo("EURUSD",MODE_LOTSIZE)/MarketInfo("USDCHF",MODE_MARGINREQUIRED),0);

   double M = MarketInfo( "USDRUB" ,MODE_LOTSIZE)/ LEVERAGE; // M=CC/ КП

   Print(" М = ",M);

   Print("LEVERAGE = ",LEVERAGE);

   Print("VOL = ",MarketInfo( "USDRUB" ,MODE_LOTSIZE));

}

 
Renat Akhtyamov:

ok

Prova questo ora.

L'ho fatto. Ecco il risultato:

Tuttavia, non capisco bene perché questa volta per calcolare la leva USDRUB suggerisci di dividere il volume del contratto EURUSD per il margine per aprire un lotto standard per USD/CHF. Ma il risultato è lo stesso valore di margine (200). Mentre il margine effettivo detenuto è 1000.