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

 
Alexey Viktorov:

Sì, beh... la fantasia è tutto... ma perché le persone che cercano di aiutarti dovrebbero fantasticare su ciò che tu fantastichi? 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.

Avendo tutti i dati del momento attuale al prezzo corrente, possiamo facilmente ricalcolare il margine che è stato trattenuto al prezzo di apertura dell'ordine.

Se ne avete bisogno per mql5, dovreste usare

Norm.

La leva non influenzerà il margine? Forse dovremmo aggiungere il coefficiente: 100/leverage alla formula?

 
Renat Akhtyamov:

Norm.

La leva non avrà alcun effetto sul margine? Forse aggiungere un coefficiente alla formula: 100/leva ?

Il leverage è generalmente al di fuori della formula di base Margin = (Lots*ContractSize*MarketPrice*Percentage)/Leverage, ed è per questo che 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...

 
Alexey Viktorov:

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 può essere richiesto ulteriormente, ma questo va oltre lo scopo della domanda attuale...

Il margine in percentuale può essere solo su qualcosa (per esempio il deposito) con il lotto minimo preso in considerazione. La leva è solo "per qualcosa".
 
Renat Akhtyamov:
Un margine percentuale può essere solo una percentuale di qualcosa (ad esempio un deposito), tenendo conto del lotto minimo. La leva è solo "per qualcosa".
Renat, non avere tanta fretta. Leggi tutto dal primo post, quello su cui verteva la domanda...
 
Alexey Viktorov:

Sì, beh... la fantasia è tutto... ma perché le persone che cercano di aiutarti dovrebbero fantasticare su ciò che tu fantastichi? 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.

Avendo tutti i dati del momento attuale al prezzo corrente, possiamo facilmente ricalcolare il margine che è stato trattenuto al prezzo di apertura dell'ordine.

Se ne avete bisogno per mql5, dovreste usare


Salve, vorrei per esempio calcolare il margine separatamente per l'oro (indipendentemente dagli altri strumenti). Puoi dirmi come fare, se non conosci il margine percentuale? Perché in questo caso, abbiamo già due incognite: il margine stesso e la percentuale di margine...
 
K-2SO:

Salve, vorrei per esempio calcolare il margine separatamente per l'oro (indipendentemente dagli altri strumenti). Puoi dirmi come fare, se la percentuale di margine è sconosciuta? Perché in questo caso abbiamo già due incognite: sia il margine stesso che la percentuale di margine...

La mia risposta ha tutto il necessario per calcolare tutto.

MarketInfo(_Symbol, MODE_MARGINREQUIRED); // Размер свободных средств, необходимых для открытия 1 лота на покупку
Tuttavia, questo non è un importo di margine preso al momento dell'apertura dell'ordine, ma è il margine corrente al prezzo corrente. Rimane solo un'incognita, cioè il margine percentuale che non è un valore percentuale e che si calcola con la formula. Poi ci rimane il prezzo che non corrisponde all'ultimo. Di nuovo, usando la stessa formula, calcoliamo il margine per il prezzo corrispondente.

L'errore nei calcoli può essere di un paio di copechi, ma è il costo dell'arrotondamento.

MarketInfo - Получение рыночной информации - Справочник MQL4
MarketInfo - Получение рыночной информации - Справочник MQL4
  • docs.mql4.com
MarketInfo - Получение рыночной информации - Справочник MQL4
 
Già... Sembra una semplice domanda e tu inizi una polemica... :) Capisco che tutti sono persone intelligenti e ognuno è un genio a modo suo. Ma...
Renat Akhtyamov:

Se vuoi usare MT5, vai in un'altra sezione del forum.

Ho uno screenshot di MT5 o ho creato un argomento nella sezione che non è per MT4.
Renat Akhtyamov:

Non sei sorpreso dalle tue conoscenze comuni, o peggio:

Non sono venuto qui per stupirvi, ma per ottenere una semplice risposta a una semplice domanda.
Alexey Viktorov:

Beh, sì... Non capisco perché le persone che cercano di aiutarti dovrebbero fantasticare su ciò che tu hai fantasticato.

Non ho chiesto a nessuno di fantasticare su qualcosa. Ti sei infilato nella boscaglia.
Alexey Viktorov:

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)

Io stesso so come ricavare il valore giusto dalla formula. Siamo bravi in matematica. La questione non era come calcolarlo, ma come ottenerlo dal terminale.

Alexey Viktorov:

Se ne hai bisogno per mql5 dovresti usare

MQL5 di nuovo...

Permettetemi di riformulare la mia domanda... Non ho bisogno di questo valore o di una formula per calcolarlo . Voglio il nome della costante(o il suo valore numerico) che posso usare nella query SymbolInfoDouble() per ottenere il valore che mi serve dal terminale. Questo è tutto! :)

 
ir0407:
Bene... Sembra una semplice domanda e tu inizi una polemica... Non ho fatto uno screenshot di MT5 né ho creato un topic nella sezione MT4. Non sono venuto qui per stupirvi, ma per avere una semplice risposta a una semplice domanda. Come prendere il giusto valore dalla formula, lo so bene. Siamo bravi in matematica. La questione non era come calcolare, ma come ottenerlo dal terminale.

MQL5 di nuovo...

Lasciami provare a riformulare la domanda... Non ho bisogno di calcolare questo valore, non ho bisogno di una formula per calcolare questo valore. Ho bisogno di un nome costante(o un valore numerico) che posso usare nella query SymbolInfoDouble() per ottenere il valore che mi serve dal terminale. Questo è tutto! :)

In questo caso, la risposta è inequivocabile.

NULLA!!!

E nessuno lo farà. È uno strano approccio, però. Lo voglio e voi sviluppatori lo fate per me. Solo perché lo voglio. Ho cercato sinceramente di aiutare... ma ahimè, nessuna fortuna...

 
Alexey Viktorov:

La mia risposta ha tutto per calcolare tutto ciò di cui hai bisogno.

Ma non è il margine preso al momento dell'apertura dell'ordine; è il margine al momento attuale, al prezzo corrente. Rimane solo un'incognita, cioè il margine percentuale che non è un valore percentuale e che si calcola con la formula. Poi ci rimane il prezzo che non corrisponde all'ultimo. Di nuovo, usando la stessa formula, calcoliamo il margine per il prezzo corrispondente.

L'errore di calcolo può essere un paio di copechi, ma è l'errore di arrotondamento.

Potete fare un semplice esperimento, confrontando il valore di MARGINREQUIRED e piazzando ordini reali di un lotto su diversi strumenti. E allora sarà chiaro che MARGINREQUIRED sta mentendo non solo per le vendite, ma anche per i tassi incrociati.

E, in secondo luogo, quando si calcola il margine totale dello strumento per tutti i suoi ordini (oro, nel nostro caso), sono i prezzi aperti degli ordini che devono essere presi in considerazione. Il valore MARGINREQUIRED non ci dà assolutamente nulla.

 
K-2SO:

Un semplice esperimento può essere condotto confrontando il valore MARGINREQUIRED e piazzando ordini reali di un lotto su diversi strumenti. E allora sarà chiaro che il MARGINREQUIRED non sta solo nella vendita, ma anche nei tassi incrociati.

E, in secondo luogo, quando si calcola il margine totale dello strumento per tutti i suoi ordini (oro, nel nostro caso), sono i prezzi aperti degli ordini che devono essere presi in considerazione. Il valore MARGINREQUIRED non mi dà nulla qui.

Non riesco a capire perché non funziona. Qui abbiamo 3 ordini aperti e il valore del margine corrisponde a tutti i calcoli del 100%.