[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
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
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 :