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'ai hâte que la fonction OrderCalcMargin() fonctionne correctement pour les CFD, les contrats à terme, les indices, etc. Quelqu'un peut-il partager les formules permettant de calculer correctement la marge pour ces instruments ?
Et j'ai probablement fait remonter tout ça, je ne vois pas d'autre raison...
Je vais essayer de décrire la situation de manière plus détaillée.
Il y a une classe simple "CMqlTimer", la tâche de cette classe est de suivre le moment de changement de différents intervalles de temps : heure, jour, semaine, mois, année.
Tout est réalisé avec des primitives très simples, par exemple, si les minutes sont égales à 0, c'est qu'il y a une "nouvelle heure" ; si le numéro du jour de la semaine ne correspond pas à celui stocké dans la variable, c'est qu'il y a alternance de jours ("00:00:00" à l'heure du serveur). Et ainsi de suite.
L'analyse est effectuée lorsque le timer est déclenché, avec un intervalle de 1 seconde, le travail est effectué dans CMqlTimer::OnTimer(). Si l'intervalle de temps change, la fonction doit être exécutée. Par exemple, si c'est un "nouveau" jour, la fonction CMqlTimer::OnRolloverDay() doit être exécutée.
Si nous supprimons le reste du code et n'écrivons que OnRolloverDay(), le résultat sera le suivant :
Tous les événements de l'utilisateur sont suivis et transmis pour traitement à la classe principale.
Cela ressemble à quelque chose comme ceci
Ainsi, les événements n'atteignent pas OnChartEvent en mode test, c'est-à-dire que l'Expert Advisor ne peut pas traiter un événement envoyé en utilisant EventChartCustom en mode test. Je l'ai vérifié en affichant tous les événements dans le journal.
PS
Le plus intéressant, c'est que tous les événements arrivent sur la démo, mais dans le testeur, cela refuse de fonctionner.
Avant 319, tout a fonctionné et dans le testeur, les événements sont traités avec succès. C'est vrai que la dernière version où ça a marché, je ne peux pas dire...
Merci. Nous devrons y réfléchir.
Ce n'est pas dans l'aide ? Il semble être...
J'ai bien compris, ce que je ne comprends pas, ce sont les variables suivantes dans les formules, surlignées en rouge
Identifiant
Description
Formule
SYMBOLE_CALC_MODE_FOREX
Mode Forex - calcul des bénéfices et des marges pour le Forex
Marge : Lots*Taille_contrat/Levage
Profit : (prix de clôture - prix d'ouverture)*Taille du contrat*Lots
SYMBOLE_CALC_MODE_FUTURES
Mode Futures - calculer la marge et le profit pour les futures
Marge : Lots *InitialMargin*Percentage/100
Profit : (prix de clôture - prix d'ouverture) * prix du pic / taille du pic * lots.
SYMBOLE_CALC_MODE_CFD
Mode CFD - calcul de la marge et du bénéfice pour CFD
Marge : Lots *Taille du contrat*Prix du marché*Pourcentage/100
Profit : (prix de clôture - prix d'ouverture)*Taille du contrat*Lots
SYMBOLE_CALC_MODE_CFDINDEX
Mode index CFD - calcul de la marge et du bénéfice pour les index CFD
Marge : (Lots*Taille du contrat*Prix du marché)*Prix du pic/Taille du pic
Profit : (prix de clôture - prix d'ouverture)*Taille du contrat*Lots
SYMBOLE_CALC_MODE_CFDLEVERAGE
Mode Levier CFD - calcul de la marge et du profit pour les CFD lorsque l'on négocie avec un levier.
Marge : (Lots*Taille du contrat*Prix du marché*Pourcentage)/Levage
Profit : (prix de clôture - prix d'ouverture)*Taille du contrat*Lots
Puis-je vous demander comment les choses évoluent dans ce sens ? J'ai vraiment besoin que les événements du testeur fonctionnent correctement...
A votre demande, la demande a été formée - elle ne sera pas perdue !
A votre demande, la demande a été formée - elle ne sera pas perdue !
Bug - ça marchait avant, mais maintenant ça ne marche plus.
Bug - ça marchait avant, mais maintenant ça ne marche plus.
Ça marche pour moi.
Voici le résultat :
2010.09.08 20:15:12 Draft1_1 (EURUSD,M15) 2010.09.10 19:15:04
2010.09.08 20:15:12 Draft1_1 (EURUSD,M15) 2010.09.10 19:15:04
Bug - ça marchait avant, mais maintenant ça ne marche plus.
2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.08 12:32:25
2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.10 19:09:13
Je ne le fais pas, ça ne marche pas. Les chiffres sont différents. Construisez 324. Win7 64bit.
Prival:
2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.08 12:32:25
2010.09.08 21:09:13 00 (EURUSD,M1) 2010.09.10 19:09:13
J'ai ça :
08.09.2010 21:18:04 PrivalTest (EURUSD,H1) 10.09.2010 19:18:15
2010.09.08 21:18:04 PrivalTest (EURUSD,H1) 2010.09.10 19:18:15
Procès-verbal :
08.09.2010 21:30:15 PrivalTest (EURUSD,M1) 10.09.2010 19:30:24
08.09.2010 21:30:15 PrivalTest (EURUSD,M1) 10.09.2010 19:30:24
Win XP.