Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 996
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
Ce que vous essayez d'imprimer n'est pas correct. La bonne méthode est la suivante.
Voici le détail :
42 est un identifiant numérique : ACCOUNT_MARGIN_FREE
c'est-à-dire que nous pouvons obtenir la marge libre à partir de la constante
Ou par son identifiant numérique :
AccountInfoDouble(42)
Merci !
Voici le détail :
42 est un identifiant numérique : ACCOUNT_MARGIN_FREE
c'est-à-dire que nous pouvons obtenir la marge libre à partir de la constante
Ou par son identifiant numérique :
Merci !
La première version de l'écriture est plus informative.
https://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants
C'est probablement une question stupide, mais ces fonctions peuvent-elles être utilisées dans MQL4 ? C'est juste que les outils de MQL4 sont plus limités.
Comment obtenir les données dans MQL4 :
TRANSACTION_SESSION_SYMBOLE
Nombre de transactions dans la session en cours
SYMBOL_SESSION_COMMANDES D'ACHAT
Nombre total d'ordres d'achat en ce moment
long
SYMBOLE_SESSION_COMMANDES DE VENTE
Nombre total d'ordres de vente en ce moment
long
SYMBOL_VOLUME
Volume - Volume de la dernière transaction
long
SYMBOLE_VOLUMEHIGH
Volume maximal pour la journée
long
SYMBOLE_VOLUMELOW
Volume minimum pour la journée
SYMBOL_BID
Offre - meilleure offre
double
SYMBOL_BIDHIGH
Enchère maximale pour la journée
double
SYMBOL_BIDLOW
Enchère minimale pour la journée
double
SYMBOL_ASK
Demande - meilleure offre
double
SYMBOL_ASKHIGH
Demande maximale pour la journée
double
SYMBOL_ASKLOW
Demande minimale pour la journée
VOLUME_SESSION_SYMBOLE
Volume total des transactions de la session en cours
double
SYMBOL_SESSION_TURNOVER
Chiffre d'affaires total de la session en cours
double
SYMBOLE_SESSION_INTÉRÊT
Volume total des positions ouvertes
double
SYMBOLE_SESSION_COMMANDES_D'ACHAT_VOLUME
Volume total des ordres d'achat en ce moment
double
SYMBOLE_SESSION_COMMANDES_DE VENTE_VOLUME
Volume total des ordres de vente en ce moment
double
SYMBOL_SESSION_OPEN
Prix d'ouverture de la session
double
SYMBOL_SESSION_CLOSE
Prix de clôture
double
C'est un trésor de données utiles en une seule fois. La seule question est de savoir comment le faire dans MQL4. La question peut se poser, pourquoi je n'étudie pas MQL5, puisqu'il a une fonctionnalité plus large. C'est simple. Tous les courtiers ne le supportent pas. Pour l'instant, MQL4 reste le plus populaire et le plus demandé.
https://www.mql5.com/ru/docs/constants/environment_state/marketinfoconstants
C'est probablement une question stupide, mais ces fonctions peuvent-elles être utilisées dans MQL4 ? C'est juste que les outils de MQL4 sont plus limités.
Comment obtenir des données dans MQL4 :
C'est un trésor de données utiles en un seul clic. Mais comment le faire dans MQL4. Cet article contiendra également quelques conseils sur la façon de préparer MQL5 pour le marché, car le marché est considérablement plus large. C'est simple. Tous les courtiers ne le supportent pas. Pour l'instant, le MQL4 reste le plus populaire et le plus demandé.
Dans la documentation de mql4, tous ceux qui ne fonctionnent pas sont marqués.
SYMBOL_BID
Offre - meilleure offre
double
SYMBOL_BIDHIGH
Non pris en charge
double
SYMBOL_BIDLOW
Non pris en charge
double
SYMBOL_ASK
Demande - meilleure offre d'achat
double
SYMBOL_ASKHIGH
Non pris en charge
double
SYMBOL_ASKLOW
Non pris en charge
double
SYMBOL_LAST
Non pris en charge
double
SYMBOLE_LASTHIGH
Non pris en charge
double
SYMBOL_LASTLOW
Non pris en charge
double
SYMBOL_POINT
Valeur du point unique
double
Ce n'est pas toute la table. Il y en a plusieurs dans la documentation, il suffit d'appuyer sur F1 et de la lire.
Dans la documentation de mql4, toutes celles qui ne fonctionnent pas sont marquées.
Lignes du journal :
2019.11.16 12:38:40.660 2019.01.02:35:00 Pour calculer les arrêts, prenez la valeur du courtier = 30
2019.11.16 13:20:18.791 2019.01.02:03:00 Ouvrir un ordre : Prix = 1.14595, Stop Loss = 1.14565, Take Profit = 1.14625
2019.11.16 13:20:18.791 2019.01.02 02:03:00 échec de l'achat instantané de 0.01 EURUSD à 1.14595 sl : 1.14565 tp : 1.14625 [invalid stops]
2019.11.16 13:20:18.792 2019.01.02:03:00 CTrade::OrderSend : achat instantané de 0.01 EURUSD à 1.14595 sl : 1.14565 tp : 1.14625 [stops invalides]
Et maintenant un peu de clarté pour ce cas :
Dans le code avant d'ouvrir un ordre je calcule :
price = meilleur prix du marché pour acheter, selon l'ordre, dans ce cas un achat.
SL = calculer un stop droit (le courtier autorise un stop d'au moins 30 unités par rapport au prix) c'est-à-dire
prix (1,14595) - 0,0003 = SL (1,14565)
TP = calculer un stop droit (le courtier autorise un stop d'au moins 30 unités par rapport au prix) c'est-à-dire
prix (1,14595) + 0,0003 = TP (1,14625)
Tout semble correct, je détiens 30 points, mais je reçois une erreur de paramétrage.
Si nous définissons SL = 0, alors tout est OK, l'ordre et le TP sont définis.
J'obtiens une erreur dans le calcul de SL, où se trouve l'erreur ?
Aidez-moi à comprendre, je n'arrive pas à régler correctement le stop loss.
Lignes de journal :
2019.11.16 12:38:40.660 2019.01.02 02:35:00 Pour calculer les stops, prenez la valeur du courtier = 30
2019.11.16 13:20:18.791 2019.01.02 02:03:00 Ouvrir un ordre : Prix = 1.14595, Stop Loss = 1.14565, Take Profit = 1.14625
2019.11.16 13:20:18.791 2019.01.02 02:03:00 failed instant buy 0.01 EURUSD at 1.14595 sl : 1.14565 tp : 1.14625 [Invalid stops]
2019.11.16 13:20:18.792 2019.01.02 02:03:00 CTrade::OrderSend : achat instantané 0.01 EURUSD à 1.14595 sl : 1.14565 tp : 1.14625 [arrêts invalides].
Et maintenant un peu de clarté pour cette affaire :
Dans le code, je calcule avant d'ouvrir une commande :
price = meilleur prix du marché pour acheter, en fonction de l'ordre, dans ce cas un achat.
SL = calculer un stop droit (le courtier autorise des stops à au moins 30 unités de distance du prix), c'est-à-dire
prix (1,14595) - 0,0003 = SL (1,14565)
TP = Calculer le stop correct (le courtier autorise des stops à au moins 30 unités du prix) c'est-à-dire
prix (1,14595) + 0,0003 = TP (1,14625)
Eh bien, tout semble être correct, je conserve 30 pips, mais je reçois une erreur de réglage.
Nous fixons SL = 0, alors tout est OK, l'ordre et le TP sont fixés.
Il s'avère qu'il s'agit d'une erreur de calcul de SL, où se trouve l'erreur ?
Quel type de prix ?
Quel type de prix ?
À l'achat Prix = SYMBOL_ASK
Prix de vente = SYMBOL_BID
À l'achat Prix = SYMBOL_ASK
Lorsque le prix de vente = SYMBOL_BID
Avez-vous essayé d'ajouter une pâte à tartiner ?
Avez-vous essayé d'ajouter une pâte à tartiner ?
Je l'ai réparé comme ça :