Come ottenere la "Percentuale di margine" programmaticamente - pagina 6

 
ir0407:
La percentuale di margine non è la garanzia calcolata. È solo uno dei componenti per calcolare il margine. E il risultato di questo calcolo (utilizzando le formule della tabella) viene restituito in valuta di margine, che poi (se differisce dalla valuta di deposito) deve essere convertito nella valuta di deposito.
Tutti capiti tranne uno, qual è l'essenza di questo componente)
 
K-2SO:

Potete suggerirmi un broker, per favore? Per i miei test...
Robo.
 

Condividerò i test, e sono finalmente confuso da queste formule, che finora non sono riuscite a sommarsi in un'unica formula. Tre diversi broker - tre diverse percentuali di margine - tre diverse formule, che si potrebbe quasi dire che si adattano al risultato. Questo è il calcolo del margine su un ordine già piazzato(!) (BUY) sull'oro.

Come potete vedere la percentuale di margine è ancora importante a volte, ma le meta-citazioni non ne hanno davvero bisogno.

 margin=OrderLots()*contract*OrderOpenPrice()/leverage/100; // метаквоты - процент маржи 100%

 margin=OrderLots()*contract*OrderOpenPrice()*Percentage/100; // инста - процент маржи 1%
            
 margin=(OrderLots()*contract*OrderOpenPrice()*Percentage)/leverage/100;// робо - процент маржи 200%
 
Penso di aver capito come dovrebbe funzionare la formula generale (quando finalmente ho capito che c'è effettivamente una percentuale di margine) - i test non sono andati via per niente. E sì... Il valore della percentuale di margine deve assolutamente essere utilizzato (anche per un ordine già effettuato). Quando avrò capito come calcolare e ottenere questo valore, condividerò le mie conclusioni sulla formula generale per calcolare un margine per un singolo ordine CFD, se qualcuno è interessato... Anche se, in linea di principio, tutto è in vista (la dipendenza che stiamo cercando), nel codice del messaggio di cui sopra.
 
K-2SO:
Penso di aver capito come dovrebbe funzionare la formula generale (quando finalmente ho capito cos'è la percentuale di margine) - i test non sono stati vani. E sì... Il valore percentuale del margine deve essere assolutamente utilizzato (anche per un ordine già effettuato). Quando avrò capito come calcolare e ottenere questo valore, condividerò le mie conclusioni sulla formula generale per calcolare un margine per un singolo ordine CFD, se qualcuno è interessato... Anche se, in linea di principio, tutto è in vista (la dipendenza che stiamo cercando) nel codice del messaggio sopra.

Tutto è in prima pagina

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Come ottenere "Percentuale di margine" programmaticamente

Alexey Viktorov, 2017.06.02 09:42

Giusto... Non so perché le persone che cercano di aiutarti dovrebbero fantasticare su ciò che tu hai fantasticato? Comunque, non è questa la domanda.

Come si ottiene ciò che serve da quella formula?

La formula stessa è Margin = Lots *ContractSize*MarketPrice*Percentage/100.

Quindi, Percentuale = Margine/(Lotti *Dimensione contratto*Prezzo di mercato/100)

Non è ancora nella lista delle funzioni obsolete. Quindi produce il valore mancante per determinare la percentuale di margine.

MarketInfo(_Symbol, MODE_MARGINREQUIRED);

Avendo ottenuto tutti i dati per il tempo corrente e al prezzo corrente, è molto facile ricalcolare il margine che è stato trattenuto al prezzo di apertura dell'ordine.

Se ne hai bisogno per mql5, dovresti usare

bool  SymbolInfoMarginRate( 
   string             name,                     // символ 
   ENUM_ORDER_TYPE    order_type,               // тип ордера 
   double&            initial_margin_rate,      // коэффициент взимания начальной маржи 
   double&            maintenance_margin_rate   // коэффициент взимания поддерживающей маржи 
   );

Quando si apre un ordine, vengono presi in considerazione il prezzo corrente e la stessa percentuale di margine che si può ottenere solo dalla formula. Di conseguenza, dovremmo prima definire il margine atteso per l'intero lotto al prezzo corrente utilizzando la seguente funzione

MarketInfo(symbol, MODE_MARGINREQUIRED);

Da questo margine calcoliamo la percentuale di margine e poi calcoliamo il margine per un ordine specifico. Ma di nuovo, il margine non è sempre calcolato nella valuta del deposito e viene convertito in essa al tasso di cambio corrente al momento dell'apertura dell'ordine, e non c'è modo di ottenerlo (tasso di cambio) in seguito in mql4. In mql5 è più facile, c'è CopyTicks() e si può ottenere il tasso di cambio al momento dell'apertura dell'ordine, ma questo non è il linguaggio di cui stiamo parlando qui.

 
Alexey Viktorov:

Ma di nuovo, il margine non è sempre calcolato nella valuta del deposito e viene convertito in essa al tasso di cambio corrente al momento dell'apertura dell'ordine, e non c'è modo di ottenerlo (il tasso di cambio) in seguito in mql4.

A questo punto sono ancora confuso. È chiaro che MARGINREQUIRED restituisce il valore nella valuta del deposito, ma di quale valuta abbiamo bisogno? Nella valuta della quotazione del simbolo?
 
K-2SO:
A questo punto sono ancora confuso. È chiaro che MARGINREQUIRED restituisce il valore nella valuta di deposito. Nella valuta della quotazione del simbolo?

Confronta le 2 foto, nel primo post e a pagina 5 nel mio post. Entrambi sono specifiche dell'oro, ma nel primo la valuta di margine è USD e nel secondo XAU. Quindi, nel primo caso, non si può fare nulla. Nel secondo, dopo aver ricevuto il margine nella valuta di deposito deve essere convertito in valuta di margine, moltiplicando per una quota e metterlo nella formula con cui si calcola la percentuale di margine. Altrimenti, il risultato non sarà corretto. Di conseguenza, dovremmo di nuovo aggiungere alla formula

MARGINE_DI_VALUTA DEL SIMBOLO

Valuta in cui viene calcolato il margine

stringa

 

Dopo alcuni esperimenti, devo ammettere che qui

Forum sul trading, sistemi di trading automatico e strategie di trading di prova

Come ottenere "Percentuale di margine" programmaticamente

Alexey Viktorov, 2017.06.02 10:24

Il leverage è generalmente al di fuori della formula di base Margin = (Lots*ContractSize*MarketPrice*Percentage)/Leverage, quindi non ne ho tenuto conto. Per determinare l'oggetto della domanda, la leva è come la sella di una mucca. Ma oltre può essere necessario, ma non riguarda la domanda attuale...

Mi sbagliavo. La leva finanziaria deve essere usata perché il margine

MarketInfo(symbol, MODE_MARGINREQUIRED);

lo otteniamo con la leva.



 
Alexey Viktorov:

Dopo alcuni esperimenti, devo ammettere che qui

Mi sbagliavo. La leva deve essere usata perché il margine

si ottiene tenendo conto della leva finanziaria.

I test mostrano che quando la percentuale di margine è uguale a 1 la leva non viene presa in considerazione! Ma da 100 in su, è già preso in considerazione. Vorrei poter trovare un broker con una percentuale di margine da 2 a 99 incluso.

 
K-2SO:

I test mostrano che quando la percentuale di margine è uguale a 1, la leva non viene presa in considerazione! Ma quando è 100 e più, è già preso in considerazione. Vorrei poter trovare un broker con una percentuale di margine tra 2 e 99 compreso.

Aprire un conto demo per 5 sterline con 100 di leva e vedere qual è la percentuale di margine, per esempio, lo stesso per l'oro o meglio ancora - il rublo ...
Motivazione: