Come si calcola il margine? - pagina 2

 
Renat Akhtyamov:

non c'è bisogno di chiedere

calcoliamo con le formule

La formula che uso per calcolare il margine per un ordine individuale è la seguente:

OrderMargin = (OrderLots()*SymbolInfoDouble(_Symbol,SYMBOL_TRADE_CONTRACT_SIZE)*OrderOpenPrice())/AccountInfoInteger(ACCOUNT_LEVERAGE);

Nella maggior parte dei casi, la somma di questi valori per tutti gli ordini aperti è uguale aAccountInfoDouble(ACCOUNT_MARGIN).

Tuttavia, nel caso che ho descritto sopra, questa formula dà un valore errato. La ragione è che questo calcolo usa un valore costante (per tutti gli ordini) di AccountInfoInteger(ACCOUNT_LEVERAGE). Ma in realtà (nel mio caso) non è costante. Il mio broker, secondo il regolamento, può diminuire il valore della leva decine di volte per i singoli ordini.

In altre parole, usando questa formula otterremo il valore corretto del margine per 9 ordini nel terminale (hanno la leva standard), mentre per il 10° e 11° ordine- quello errato (il broker ha impostato una leva più alta per loro cinque minuti dopo l'apertura).

Forse tu, Renat, puoi darci un'altra formula per calcolare correttamente la leva per un singolo ordine?
Si prega di notare che può essere cambiato dal broker in qualsiasi momento dopo l' apertura di una posizione.

Per sicurezza, questa situazione nonè la mia fantasia. Questo è quello che stava succedendo nel mio account stasera.

 
Janis Ozols:

La formula che uso per calcolare il margine individuale è la seguente:

Nella maggior parte dei casi, la somma di questi valori per tutti gli ordini aperti è uguale aAccountInfoDouble(ACCOUNT_MARGIN).

Tuttavia, nel caso che ho descritto sopra, questa formula dà un valore errato. La ragione è che questo calcolo usa un valore costante (per tutti gli ordini) di AccountInfoInteger(ACCOUNT_LEVERAGE). Ma in realtà (nel mio caso) non è costante. Il mio broker, secondo il regolamento, può diminuire il valore della leva di diverse decine di volte per i singoli ordini.

In altre parole, usando questa formula otterremo il valore corretto del margine per 9 ordini nel terminale (hanno la leva standard), mentre per il 10° e 11° ordine- quello errato (il broker ha impostato una leva più alta per loro cinque minuti dopo l'apertura).

Forse tu, Renat, puoi darci un'altra formula per calcolare correttamente la leva per un singolo ordine?
Si prega di notare che può essere cambiato dal broker in qualsiasi momento dopo l' apertura di una posizione.

Per sicurezza, questa situazione nonè la mia fantasia. Questo è quello che è successo nel mio account stasera.

È naturale che sia diverso.

Qual era la vera leva al momento dell'apertura?

te l'ho detto nero su bianco - nota la vera leva nei commenti o in magik quando apri un affare.

è necessario calcolare la leva finanziaria invece di chiederla.

ps

La leva al momento dell'apertura di un affare sarà la stessa.

dopo l'apertura, non cambierà nulla e non importa

VOL=MarketInfo("EURUSD",MODE_LOTSIZE);

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

nella revisione del mercato presenza obbligatoria di Euro e Franco

codice per MQL4

Se la leva galleggia in modo diverso su diversi strumenti e non nello stesso momento, allora calcoliamo secondo lo stesso principio
 
Renat Akhtyamov:

qual era la vera leva al momento dell'apertura?

Al momento dell'apertura la leva reale era 1:1000. Subito dopo aver aperto la posizione SELL con un volume di 0,10 EUR/USD a Bid=1,1800, il margine era di 11,80 USD. In quel momento c'erano altri 9 scambi sul conto, il cui margine era di 86,20 USD. Dopo aver aperto la posizione, il margine era pari a 98.00 USD. Due minuti dopo il broker ha cambiato la leva dell'ultima posizione aperta a 1:33. Il suo margine era ora di 357,58 (invece di 11,80 quando è stato aperto), e il margine totale del contoera di 443,78 USD.

Sto cercando di trovare un modo (o una formula) che mi aiuti, passando attraverso le posizioni aperte nel terminale, a rilevare nel tempo quelle per le quali il valore effettivo del margine supera ripetutamente quello calcolato (che era al momento dell'apertura della posizione).

Renat Akhtyamov:

Ti ho scritto nero su bianco - nota la vera leva nei commenti o nella magia quando apri un affare.

Vi prego di scusarmi se sono fastidioso, ma non riesco a capire come la leva salvata al momento dell'apertura di una posizione possa aiutarmi in questa situazione?

 
Janis Ozols:

Al momento dell'apertura, la leva reale era di 1:1000. Ilmargine per l'apertura della posizione SELL con un volume di 0,10 su EUR/USD a Bid = 1,1800 subito dopo l'apertura era di 11,80 USD. In quel momento c'erano altri 9 scambi sul conto, il cui margine era di 86,20 USD. Dopo aver aperto la posizione, il margine era pari a 98.00 USD. Due minuti dopo il broker ha cambiato la leva dell'ultima posizione aperta a 1:33. Il suo margine era ora di 357,58 (invece di 11,80 quando è stato aperto), e il margine totale del conto era di 443,78 USD.

Sto cercando di trovare un modo (o una formula) che mi aiuti, passando attraverso le posizioni aperte nel terminale, a rilevare in tempo quelle per le quali il valore effettivo del margine supera ripetutamente quello calcolato (quello che era effettivo al momento dell'apertura della posizione).

Per favore, perdonatemi se sono fastidioso, ma non riesco a capire, come la leva, che è stata salvata all'apertura di una posizione, può aiutarmi in questa situazione?

Si può chiudere solo una parte di una posizione, perché quasi tutte le società di brokeraggio ora hanno il netting.

in questo caso, il margine della posizione aperta cambierà

Avete già chiuso le vostre posizioni in 2 minuti?

 
Renat Akhtyamov:

nulla cambierà dopo l'apertura.

Questa è la parte difficile! La leva per un singolo ordine nel mio caso è stata cambiataDOPO l'apertura della posizione. E non immediatamente, ma dopo qualche tempo. L'addetto all'assistenza del mio broker l'ha confermato e ho potuto riprodurre la situazione sul mio conto.

Renat Akhtyamov:

il modo che descrivi è abbastanza possibile solo quando si chiude una parte del loco, perché quasi tutte le società di intermediazione ora netting.

Non hai chiuso il tuo ordine entro 2 minuti?

No, non ho chiuso operazioni e non ho usato lotti. Nel terminale c'erano accordi di una sola direzione. Dopo aver aperto un'altra posizione SELL con volume 0.1 ho visto Margin = 98.00 nel terminale per un po' di tempo. Dopo circa 2 minuti questo valore era uguale a 443,78, proprio davanti ai miei occhi. Allo stesso tempo non è stata aggiunta una sola riga al giornale, non sono stati aggiunti Expert Advisors. Solo un grafico è aperto e c'è solo un simbolo nella revisione del mercato.

Dopo aver chiuso lo sfortunato trade con una piccola perdita, il margine del conto è diventato di nuovo 86,20.

 
Janis Ozols:

Questa è la parte difficile! La leva per un singolo ordine nel mio caso è stata cambiataDOPO l'apertura della posizione. E non immediatamente, ma dopo qualche tempo. L'addetto all'assistenza del broker l'ha confermato e ho potuto riprodurre questa situazione nel mio conto.

No, non ho chiuso operazioni e non ho usato lotti. C'erano solo scambi di una direzione nel terminale. Dopo aver aperto un'altra posizione SELL con il volume 0.1 ho visto Margin = 98.00 nel terminale. Dopo circa 2 minuti questo valore era uguale a 443,78, proprio davanti ai miei occhi. Allo stesso tempo non è stata aggiunta una sola riga al giornale, non sono stati aggiunti Expert Advisors. Un grafico è aperto, un simbolo nella panoramica del mercato.

Leva di stampa, tempo aperto e margine

formula e codice sopra

e trattare con il DC, secondo il registro

Personalmente non credo a queste favole infondate.
 
Renat Akhtyamov:

E trattare con il DC, secondo il registro

Ho avuto a che fare con DC. La loro risposta è molto semplice: leggete le regole, è tutto scritto lì. Ed è effettivamente scritto lì che l'azienda si riserva il diritto di cambiare la leva per certe posizioni aperte a certe condizioni. Dopo di che ho fatto una domanda chiarificatrice- posso ottenere la leva effettiva per la prossima posizione PRIMA di aprirla? Utilizzando le query MarketInfo(_Symbol,MODE_MARGINREQUIRED), AccountFreeMarginCheck() o altre? La rispostaè NO , la leva ridotta sarà impostata DOPO aver aperto una posizione, corrispondente alle condizioni del regolamento, in base alla situazione attuale del mercato.

Renat Akhtyamov:
Non credo in queste favole non supportate.

Non sto in alcun modo cercando di convincervi di qualcosa! Inoltre, sono contento che non hai incontrato una situazione simile. L'ho affrontato io stesso per la prima volta in diversi anni di lavoro con questo broker.

Riassumendo tutto quello che hai detto, ho ragione a capire che non c'è un modo nativo per ottenere con MQL4 un margine effettivo (non calcolato) per una posizione aperta nel terminale in qualsiasi momento, a condizione che questo valore non sia stato salvato da qualche parte prima?

 
Janis Ozols:

Ho avuto a che fare con i DC. La loro risposta è molto semplice: leggete le regole, è tutto scritto lì. C'è scritto che l'azienda si riserva il diritto di cambiare la leva per certe posizioni aperte in certe condizioni. Dopo di che ho fatto una domanda chiarificatrice- posso ottenere la leva effettiva per la prossima posizione PRIMA di aprirla? Utilizzando le query MarketInfo(_Symbol,MODE_MARGINREQUIRED), AccountFreeMarginCheck() o altre? La risposta- NO , la leva ridotta sarà impostata DOPO aver aperto una posizione, corrispondente alle condizioni del regolamento, in base alla situazione attuale del mercato.

In nessun modo sto cercando di convincervi di qualcosa! Inoltre, sono molto contento che non abbiate incontrato una situazione simile. L'ho affrontato io stesso per la prima volta in diversi anni di lavoro con questo broker.

Riassumendo tutto quello che hai detto, ho ragione a capire che non c'è un modo nativo per ottenere con MQL4 un margine effettivo (non calcolato) per una posizione aperta nel terminale in qualsiasi momento, sempre che questo valore non sia stato salvato da qualche parte prima?

perché ho letto le regole PRIMA e non DOPO

e se qualcosa non mi va bene non lavoro in un posto del genere

 
Janis Ozols:

Riassumendo, ho ragione di capire che non c'è un modo nativo per ottenere con MQL4 un deposito effettivo (non calcolato) per una posizione aperta nel terminale in qualsiasi momento, a condizione che questo valore non sia stato salvato da qualche parte in precedenza?

Sì, proprio così.

Solo la leva molto probabilmente cambia non per un singolo affare, ma per uno strumento nel suo insieme, ma non cambia la questione.

Aggiungerò un avviso al mio informatore per questo caso...

 

La funzione AccountLeverage() suggerisce che la leva del conto cambia. I singoli simboli possono avere una leva diversa dal conto, a seconda dell'esotismo del simbolo (Fx Minors, Fx Exotics, Fx Rub) e del volume della posizione. In ogni caso, è necessario leggere i regolamenti e le specifiche del contratto.

In momenti interessanti qualsiasi operazione di trading cambia la leva del conto. Perché la leva cambi, devi fare uno scambio. Una volta ho cancellato un ordine in sospeso che era dimenticato e poco promettente. Per così dire, ho fatto pulizia. Di conseguenza, la leva del conto è stata ridotta da 500 a 100.

Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Типы торговых операций
Документация по MQL5: Константы, перечисления и структуры / Торговые константы / Типы торговых операций
  • www.mql5.com
Торговля осуществляется посредством отправки с помощью функции OrderSend() приказов на открытие позиций, а также приказов на установку, модификацию и удаление отложенных ордеров. Каждый торговый приказ содержит указание на тип запрашиваемой торговой операции. Торговые операции описаны в перечислении ENUM_TRADE_REQUEST_ACTIONS...