[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 188
Mais l'échange estimé et l'échange réel sont différents. Ce n'est pas que le prix de l'offre ne sera plus jamais le même, ce ne sont pas les dix millièmes.
Pour une raison quelconque, la différence est un multiple de 10.
C'est-à-dire que le swap calculé est 10 fois plus élevé que le réel.
Je ne peux même pas deviner ce qui ne va pas ici.
MarketInfo(OrderSymbol(),MODE_SWAPTYPE) renvoie un, puis.
"Méthode de calcul des swaps 1 - dans la monnaie de base de l'instrument ;"
Je prends la valeur du swap en pips, ce qui donne
MarketInfo(OrderSymbol(),MODE_SWAPLONG)
Je multiplie cette valeur par Bid,
*MarketInfo(OrderSymbol(),MODE_BID)
puis à la taille du lot
*OrderLots()
et en multipliant par la valeur d'un point dans la monnaie de dépôt d'un lot
Profils s'il vous plaît conseiller, selon l'aide de la langue mql5 il n'ya pas de fonction iHighest comment calculer le maximum élevé pour N période ? ... J'ai essayé copyHigh et fmax, mais seulement pour une certaine période et pas que bien sûr, aider
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
J'essaie de calculer les échanges, mais cela ne fonctionne pas.
Voici le code qui sort les swaps des 20 dernières transactions.
for ( int j=OrdersHistoryTotal( )-1; j>=OrdersHistoryTotal( )-21; j--) {
OrderSelect(j, SELECT_BY_POS, MODE_HISTORY);
if(OrderType()==OP_BUY)
Alert(OrderSymbol()+" ЛОТ = "+OrderLots()+" РЕАЛЬНЫЙ СВОП = "+OrderSwap()+" РАСЧЕТНЫЙ СВОП "+MarketInfo(OrderSymbol(),MODE_SWAPLONG)*MarketInfo(OrderSymbol(),MODE_BID)*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE));
if(OrderType()==OP_SELL)
Alert(OrderSymbol()+" ЛОТ = "+OrderLots()+" РЕАЛЬНЫЙ СВОП = "+OrderSwap()+" РАСЧЕТНЫЙ СВОП "+MarketInfo(OrderSymbol(),MODE_SWAPSHORT)*MarketInfo(OrderSymbol(),MODE_BID)*OrderLots()*MarketInfo(OrderSymbol(),MODE_TICKVALUE));
}
Pour une raison quelconque, la différence est un multiple de 10.
C'est-à-dire que le swap calculé est 10 fois plus élevé que le réel.
Je ne peux même pas deviner ce qui ne va pas ici.
MarketInfo(OrderSymbol(),MODE_SWAPTYPE) renvoie un , puis .
"Méthode de calcul des swaps 1 - dans la monnaie de base de l'instrument ;"
Je prends la valeur du swap en pips, ce qui donne
MarketInfo(OrderSymbol(),MODE_SWAPLONG)
Je multiplie cette valeur par Bid,
*MarketInfo(OrderSymbol(),MODE_BID)
puis à la taille du lot
*OrderLots()
et en multipliant par la valeur d'un point dans la monnaie de dépôt d'un lot
*MarketInfo(OrderSymbol(),MODE_TICKVALUE)
Les valeurs renvoyées sont :
EURGBP LOT = 0.46000000 SWAP RÉEL = -1.31000000 SWAP ESTIMÉ -13.05244609
S'il vous plaît, dites-moi comment faire))
double MA1,MA2 ;
MA1=iMA(....,0) ;
MA2=iMA(....,3) ;
si (MA1-MA2>Point)//la MA regarde vers le haut
si (MA1-MA2,-Point)//MA regarde vers le bas
Je multiplie cette valeur par Bid,
*MarketInfo(OrderSymbol(),MODE_BID)
C'est pour quoi faire ?
S'il vous plaît, dites-moi comment faire))
double MA1,MA2 ;
MA1=iMA(....,0) ;
MA2=iMA(....,3) ;
si (MA1-MA2>Point)//la MA regarde vers le haut
si (MA1-MA2,-Point)//la MA regarde vers le bas
Merci beaucoup))
C'est pour quoi faire ?
Je n'ai pas pu trouver une description de ce qu'il retourne
MarketInfo(OrderSymbol(),MODE_SWAPLONG)
J'ai conclu qu'il s'agissait de la taille du point EUR dans la cotation EURGBP , et je l'ai donc multiplié par BID pour obtenir le montant en GBP.
Le fait est que
MarketInfo(OrderSymbol(),MODE_TICKVALUE)
Renvoie la valeur du point par lot uniquement pour le GBP dans la cotation EURGBP, et non pour l'EUR.
Je n'ai trouvé nulle part une description de ce que la valeur retourne.
Pour une raison quelconque, je continuais à penser que tous les calculs étaient effectués dans la devise du dépôt.
Fonction MarketInfo(OrderSymbol(),MODE_SWAPSHORT)
Renvoie une valeur entière de -2, comme pour tous les autres ordres. Je suppose donc que c'est la valeur des points.
Supposons qu'il s'agisse de la valeur du swap exprimée en pips de notre devise de dépôt.
Devise de dépôt = USD
Multiplier
MarketInfo(OrderSymbol(),MODE_SWAPSHORT)
Par nombre de lots
*OrderLots()
Multipliez également par la valeur d'un pip de notre devise de dépôt par lot.
*10
Obtenez
SWAP = -9.20000000
Au lieu de
RÉEL SWAP = -1.31000000
Fonction MarketInfo(OrderSymbol(),MODE_SWAPSHORT)
Renvoie une valeur entière de -2, comme pour tous les autres ordres. Je suppose donc qu'il s'agit d'une valeur en pips.
Pour l'EURGBP, il renvoie 0 (c'est Alpari) pour les short et -0.68 pour les long et ceci exactement en dollars.
Pour le dire crûment :