Questions des débutants MQL5 MT5 MetaTrader 5 - page 1059

 
leonerd:

OK, je me suis mal exprimé. Citons la source originale :

Structure du résultat de la demande de transaction (MqlTradeResult)

Enréponse àune demande de transaction visant à placer un ordre dans le système de négociation, le serveur de négociation renvoie des données contenant les informations relatives au résultat du traitement de la demande de transaction sous la forme d'une structure prédéfinie spéciale MqlTradeResult.


p.s. Où est la citation dans l'éditeur ? Dois-je aller en html ? Quel inconvénient.

Après "Code (Alt+S)" vient "Style". Cliquez sur la flèche et voyez "Citation (Ctrl+3)".

 
Artyom Trishkin:

Après "Code (Alt+S)" vient "Style". Cliquez sur la flèche et voyez "Citation (Ctrl+3)".

C'est terrible :)

 
leonerd:

Il y a manifestement une sorte d'erreur logique ici. MqlTradeResult est le résultat de l'opération commerciale.

Par exemple, si Result.price était appelé Result.dealprice, tout serait logique ?

 
fxsaber:

C'est-à-dire que si Result.price était appelé Result.dealprice, tout serait logique ?

Champ

Description

retcode

Code de retour du serveur commercial

transaction

Ticket detransaction, si une transaction a été effectuée. Signalée dans l'opération commercialeTRADE_ACTION_DEAL

commander

Ticket decommande, si un ticket a été placé. Notifié pendant une opération commercialeTRADE_ACTION_PENDING

volume

Volume de la transaction confirmée par le courtier. Cela dépend dutype de remplissage de la commande

prix

Prix de la transaction, confirmé par le courtier. Dépend du champ dedéviation dans lademande de transaction et/ou du type detransaction.

offre

Prix actuel de l'offre du marché (prix de la requote)

demandez à

Prix actuel des offres du marché (prix des requêtes)

commentaire

Commentaire du courtier sur l'opération (par défaut, il est rempli avec le décodage du code de retour du serveur commercial).

demande_id

ID de la demande à remplir par le terminal lors de l'envoi au serveur de commerce.

retcode_externe

Code de l'erreur renvoyée par le système commercial externe. La nature et le type de ces erreurs dépendent du courtier et du système commercial externe dans lequel les opérations commerciales sont effectuées.


Il y a l'accord et l'ordre. Il y a du volume pour les deux. Pourquoi le prix ne concerne-t-il que les transactions ? Eh bien, nous pouvons faire dealprice, mais alors nous avons besoin d'un champ dealorder aussi. Il me semble que le prix devrait simplement être le prix de l'ordre, si la transaction n'est pas effectuée et que l'ordre est fixé.

 
leonerd:

Champ

Description

retcode

Code de retour du serveur commercial

transaction

Ticket detransaction, si une transaction a été effectuée. Signalée dans l'opération commercialeTRADE_ACTION_DEAL

commander

Ticket decommande, si un ticket a été placé. Notifié pendant une opération commercialeTRADE_ACTION_PENDING

volume

Volume de la transaction confirmée par le courtier. Cela dépend dutype de remplissage de la commande

prix

Prix de la transaction, confirmé par le courtier. Dépend du champ dedéviation dans lademande de transaction et/ou du type detransaction.

offre

Prix actuel de l'offre du marché (prix de la requote)

demandez à

Prix actuel des offres du marché (prix des requêtes)

commentaire

Commentaire du courtier sur l'opération (par défaut, il est rempli avec le décodage du code de retour du serveur commercial).

demande_id

ID de la demande à remplir par le terminal lors de l'envoi au serveur de commerce.

retcode_externe

Code de l'erreur renvoyée par le système commercial externe. La nature et le type de ces erreurs dépendent du courtier et du système commercial externe dans lequel les opérations commerciales sont effectuées.


Il y a l'accord et l'ordre. Il y a du volume pour les deux. Pourquoi le prix ne concerne-t-il que les transactions ? Eh bien, nous pouvons faire dealprice, mais alors nous avons besoin d'un champ dealorder aussi. Il me semble que le prix devrait simplement être le prix de l'ordre si la transaction n'a pas été exécutée et qu'un ordre a été fixé.

Créer une pétition pour inclure Result.price pour les commandes. Et rendez-le complet - exigez d'inclure Result.expiration, le deuxième prix pour les ordres STOP_LIMIT, etc.


// Пока петиция не прошла
bool OrderSend_leonerd( const MqlTradeRequest &Request, MqlTradeResult &Result )
{
  const bool Res = OrderSend(Request, Result);
  
  if (Res && !Result.order)
    Result.order = Request.order;
    
  return(Res);
}

// Делаем за разработчиков их работу
#define OrderSend OrderSend_leonerd
 

Bonjour

Parfois, lorsque j'ouvre un ordre, l'erreur 4754-Ordernot found apparaît.

C'est tout, l'EA se bloque parce qu'il essaie d'ouvrir un ordre.

Réinstaller l'EA aide

Pour ouvrir un ordre, j'utilise la classe CTrade

S'il vous plaît, dites-moi ce qui ne va pas.

 
Mikhail Rudyk:

Bonjour

Parfois, lorsque j'ouvre un ordre, l'erreur 4754-Ordernot found apparaît.

C'est tout, l'EA se bloque parce qu'il essaie d'ouvrir un ordre.

Réinstaller l'EA aide

J'utilise la classe CTrade pour ouvrir un ordre.

S'il vous plaît, dites-moi ce que cela peut être ?

Pouvez-vous être plus précis ? MQL5 Code, symbole, délai. C'est l'endroit où l'erreur est affichée.

Il est difficile de se prononcer de manière définitive sans ces données.

 
Est-ce que Codebase a un EA avec la fonction "une transaction par barre" ? (A l'exclusion des EAs travaillant sur l'ouverture des barres)
 

Dans MQL5 j'appelle le handle de l'indicateur dans OnInit comme ceci

diver_handle=iCustom(NULL,0,"ao_diver");

Cet appel raccroche complètement le terminal.
L'indicateur se trouve dans Indicateurs et ne nécessite pas de paramètres d'entrée supplémentaires.
Qu'est-ce qui peut bien se passer avec cet appel ?

 
Evgeny Dyuka:

Dans MQL5, j'appelle un handle d'indicateur dans OnInit comme ceci

Cet appel raccroche complètement le terminal.
L'indicateur se trouve dans Indicateurs et ne nécessite pas de paramètres d'entrée supplémentaires.
Qu'est-ce qui peut bien se passer avec cet appel ?

".ex5" spécifier.