Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
Si l'effet de levier d'un instrument a changé en raison d'une augmentation du lot total ou d'une autre raison, il serait logique de s'attendre à ce que ces requêtes renvoient un montant plus élevé de marge, non ?
Non, ces fonctions utilisent l'effet de levier du compte.
Oui, c'est vrai.
Seulement, très probablement, l'effet de levier change non pas pour une transaction individuelle, mais pour l'instrument dans son ensemble, mais cela ne change pas l'essence.
Je vais ajouter une alerte à mon informateur pour ce cas...
C'est sage, c'est sage.
Non, ces fonctions utilisent l'effet de levier du compte.
Veuillez me dire quelle fonction peut être utilisée pour calculer la marge actuelle pour un instrument particulier si l'effet de levier de cet instrument n'est pas le même que l'effet de levier du compte en ce moment ?
Veuillez me dire quelle fonction peut être utilisée pour obtenir la marge actuelle pour un instrument particulier, si l'effet de levier de cet instrument est différent de l'effet de levier du compte ?
Veuillez me dire quelle fonction peut être utilisée pour obtenir la marge réelle pour un certain instrument, si l'effet de levier de cet instrument est différent de l'effet de levier du compte ?
Peut-être SymbolInfoDouble(Symbole,SYMBOL_MARGIN_INITIAL/SYMBOL_MARGIN_MAINTENANCE) ?
Peut-être SymbolInfoDouble(Symbole,SYMBOL_MARGIN_INITIAL/SYMBOL_MARGIN_MAINTENANCE) ?
Malheureusement, la fonction SymbolInfoDouble avec l'une de ces constantes renvoie zéro lorsqu'il s'agit d'instruments du marché FOREX.
Nous pouvons maintenant répondre à la question du fil de discussion.
Formule de calcul de la marge pour un devis direct
M=CC/CP
Par exemple, pour réaliser une transaction avec le volume d'un lot standard (100 000 unités) sur la paire de devises USD/CAD, avec un effet de levier de 1:200, vous devez réaliser une marge
C'est-à-dire que le montant de la marge sera de 500 $. Et avec un effet de levier de 1:500, la marge ne sera que de 100 000/500=200 $. Mais avec un effet de levier de 1:500, vous pourrez acheter 10 lots avec 1 million de dollars, et effectuer des transactions avec une marge de 100 000/500=2 000 $.
Calcul de la marge pour la cotation inverse
M=MSC/KP x KP
Prenons l'exemple du GBR/USD.
Vous n'obtenez pas de sommes rondes, mais la valeur d'un pip sera toujours en chiffres ronds. Et pour les citations directes, il y a un certain inconvénient à calculer un pip.
Calcul de la marge pour les taux croisés
M = CC/KP x EF
exemple :
//+-------------- РАСЧЕТ МАРЖИ ---------------------+
double calcMGN(string SYMB, double VOL)
{
double Res=0,Price=0;
if(LEVERAGE!=0)
{
if(StringSubstr(SYMB,0,3)!="USD")
{
SYMB=StringSubstr(SYMB,0,3)+"USD";
Price=iClose(SYMB,Period(),0);
Res=VOL*Price/LEVERAGE;
}
else Res=VOL/LEVERAGE;
}
return(Res);
}
Veuillez me dire quelle fonction peut être utilisée pour obtenir la marge actuelle pour un instrument particulier, si l'effet de levier de cet instrument est différent de l'effet de levier du compte ?
Vous pouvez trouver les formules. Mais pourquoi ?
Prenez la marge réelle sur toutes les positions de l'instrument et calculez l'effet de levier réel.
Les formules peuvent être trouvées. Mais pourquoi ?
Prenez la marge réelle de toutes les positions sur l'instrument et calculez l'effet de levier réel.
Ça ne marchera pas.
L'effet de levier est flottant.
Je l'ai vécu comme il le décrit,
c'est vraiment malheureux à un risque assez élevé.
Donc, maintenant nous pouvons répondre à la question de la branche
Je suis désolé, je n'ai pas formulé ma question correctement dans le titre du fil. En fait, je ne suis pas intéressé par la façon de calculer la marge, mais par la façon d'obtenir sa valeur réelle (non calculée) à partir du terminal. Et non pas pour l'ensemble du compte, mais pour une seule position séparément. C'est ce dont nous parlons dans le premier message. J'ai déjà compris que cela ne peut pas être fait au moyen de MQL4, une telle fonction n'existe tout simplement pas. Cependant, @Andrey Khatimlianskii a suggéré il y a quelque temps que l'effet de levier peut varier non pas pour une seule position, mais pour un instrument dans son ensemble. Il est maintenant important pour moi de trouver comment obtenir la valeur de cet effet de levier au cas où il diffère de l'effet de levier du compte.
La formule de calcul de la marge pour un devis direct
M=CC/CP
Le problème de cette formule et de toutes les formules suivantes est qu'elles contiennent KP (effet de levier). Malheureusement, je n'ai pas encore trouvé comment obtenir cette valeur pour un seul instrument. Les fonctions AccountMargin() et AccountInfoInteger(ACCOUNT_LEVERAGE) renvoient le levier du compte, et non celui du symbole, et la fonction MarketInfo(_Symbol,MODE_MARGINREQUIRED) renvoie la valeur de la marge correspondant au levier du compte, même si les positions pour ce symbole sont en fait ouvertes avec un levier absolument différent. La fonction SymbolInfoDouble avec les constantes SYMBOL_MARGIN_INITIAL ou SYMBOL_MARGIN_MAINTENANCE renvoie toujours zéro lorsqu'on travaille avec des symboles FOREX.
Ainsi, je ne comprends pas comment cette formule et toutes les autres peuvent être utilisées, si le levier d'un courtier, qui diffère du KP du compte en général, est fixé pour un instrument spécifique.
Les formules peuvent être trouvées. Mais pourquoi ?
Je ne cherche pas à trouver des formules (elles ont déjà été suffisamment proposées), mais la fonction exacte de MQL4. Afin d'obtenir la valeur réelle, et non la valeur calculée. Grâce à Andrey, j'ai déjà compris qu'il est impossible de faire cela pour un poste séparément. Je me demande maintenant comment obtenir l'effet de levier pour l'instrument dans son ensemble, s'il est différent de celui du compte.
Prenez la marge réelle pour toutes les positions dans l'instrument et calculez ce que l'effet de levier réel s'avère être.
C'est exactement ce que j'ai fait maintenant. Le conseiller expert compare la valeur réelle de la marge avec la valeur calculée et, en cas d'excédent important, il arrête le trading et envoie une notification au trader. Jusqu'à présent, je n'ai reçu aucune notification de ce type (ouch*3).
Mais que faire s'il y a des positions sur d'autres instruments ? Après tout, il est apparu clairement ci-dessus qu'il est impossible d'obtenir la valeur réelle de la marge pour une seule position à partir du terminal. Mais cela peut sûrement être fait pour l'instrument dans son ensemble ?