mt5 strategy tester ticks - page 14

 
WhooDoo22:

Bonjour à la communauté MQL5,

J'ai lu la documentation du site MQL5 'OrderSend', les ressources .pdf et .chm,


aucune ne fournit de détails pour'SYMBOL_TRADE_EXECUTION_REQUEST' plus qu'une brève 'Description' ('Execution by request'). Apparemment, il existe quatre types d'identifiants pour 'ENUM_SYMBOL_TRADE_EXECUTION'.

Avez-vous lu ceci (faites défiler un peu vers le bas) :https://www.mql5.com/en/docs/constants/structures/mqltraderequest
Documentation on MQL5: Standard Constants, Enumerations and Structures / Data Structures / Trade Request Structure
Documentation on MQL5: Standard Constants, Enumerations and Structures / Data Structures / Trade Request Structure
  • www.mql5.com
Standard Constants, Enumerations and Structures / Data Structures / Trade Request Structure - Documentation on MQL5
 
angevoyageur:

Trouvé sur le forum russe:

  • Exécution immédiate (Instant Execution) Dans ce mode, l'exécution d'un ordre de marché au prix proposéparle courtier. Lors de l'envoi d'une demande d'exécution, le terminal remplira automatiquement l'ordre pour les prix actuels. Si le courtier prend le prix, l'ordre sera exécuté. Si le courtier ne reçoit pas le prix demandé, alors il ya le soi-disant "Perekotirovanie" (Requote) - courtier renvoie les prix auxquels peut être exécuté cet ordre.
  • Exécution sur demande (Request Execution)
    Dans ce mode, l'exécution d'un ordre de marché au prix précédemment reçu du courtier. Avant d' envoyer un ordre de marché avec votre courtier demande le prix de son exécution. Dès réception, l'exécution d'un mandat à ce prix, vous pouvez soit confirmer ou refuser.
  • Exécution du marché (Market Execution)
    Dans ce mode d'exécution de la décision d'un ordre de marché prix d'exécution prend le courtier sans l'approbation de l'opérateur. Envoyer un ordre de marché de cette manière implique un accord précoce avec le prix auquel il sera exécuté.
  • La version Bourse (Exchange Execution) Dans ce mode, les opérations de trading effectuées dans le terminal sont sorties vers le système de trading externe (la bourse). Les opérations de trading sont effectuées sur les offres de prix du marché actuel.

Bonjour Alain,

Oui, je pense que votre post contient le contenu que je recherchais, merci beaucoup.


Je ne pense pas que le douzième paramètre de 'OrderSend' enum_order_type_filling soit utilisé dans MQL4 et je n'ai pas d'expérience préalable pour l'appliquer à MQL5 Le code du paramètre de 'OrderSend'.

enum_order_type_filling

"une commande ne peut être remplie que dans la quantité nécessaire".

Ce "montant spécifié" est-il la taille de lot d'un ordre ?


"Si la quantité nécessaire d'un instrument financier est actuellement indisponible sur le marché, l'ordre ne sera pas exécuté."

Qu'est-ce qu'un "montant nécessaire d'un instrument financier" ?

Comment les quantités nécessaires d'un instrument financier peuvent-elles être actuellement indisponibles sur le marché ?


"Le volume nécessaire peut être rempli en utilisant plusieurs offres disponibles sur le marché en ce moment".

Qu'est-ce que le "volume requis" et comment peut-il être exécuté en utilisant "plusieurs offres" ?


Quel est le but de enum_order_type_filling ?


Merci de votre compréhension.

 
RaptorUK:
Avez-vous lu ceci (faites défiler vers le bas un peu) :https://www.mql5.com/en/docs/constants/structures/mqltraderequest

Bonjour Simon,

"Avez-vous lu ceci (faites défiler un peu vers le bas)"

Je l'ai lu mais je n'avais pas encore lu le douzième paramètre de 'OrderSend' enum_order_type_filling. Je ne m'y suis pas intéressé car il n'y avait pas de paramètre pour appliquer le contenu.


Oui, je pense que le lien de votre post contient le contenu que je recherchais, merci beaucoup.

Modifié par le modérateur.

 
Salut Nathan, il n'est pas nécessaire de répéter les mêmes questions dans 2 messages ;-)
 
WhooDoo22:

"an order can be filled only in the specified amount".

Cette "quantité spécifiée" est-elle la taille de lot d'un ordre ?

Oui, "montant spécifié", "volume de l'ordre", "taille du lot" sont tous les mêmes.


"Si la quantité nécessaire d'un instrument financier est actuellement indisponible sur le marché, l'ordre ne sera pas exécuté."

Qu'est-ce qu'une "quantité nécessaire d'un instrument financier" ?

Lorsque vous passez un ordre, acheter 1 lot par exemple, il doit y avoir quelqu'un qui veut vendre 1 lot. Sur le Forex ce n'est pas un problème, car ce marché est très vaste, mais sur certains marchés, il n'y a pas forcément quelqu'un pour vendre.


Comment les quantités nécessaires d'un instrument financier peuvent-elles être actuellement indisponibles sur le marché ?

Voir ci-dessus. Vous pouvez passer un ordre pour 1 lot, et il n'y a que 0,5 lot disponible sur le marché.


"Le volume nécessaire peut être rempli en utilisant plusieurs offres disponibles sur le marché en ce moment."

Qu'est-ce que le "volume requis" et comment peut-il être rempli en utilisant "plusieurs offres" ?

Voir ci-dessus. Vous voulez acheter 1 lot, il y a 2 offres de vente de 0,5 lot sur le marché.


Quel est le but de enum_order_type_filling ?

J'espère que c'est plus clair avec les réponses ci-dessus. Ce paramètre est défini par le courtier. Vous devez le vérifier avant de passer un ordre.

Merci à vous

Vous êtes le bienvenu.
 
WhooDoo22:

Bonjour Alain,

Oui, je pense que votre message contient le contenu que je recherchais, merci beaucoup.


Je ne pense pas que le douzième paramètre de 'OrderSend' enum_order_type_filling soit utilisé dans MQL4 et je n'ai pas d'expérience préalable pour l'appliquer au code des paramètres de 'OrderSend' de MQL5.

Je suppose que vous n'avez jamais rencontréFill ou Kill auparavant ?
Fill Or Kill (FOK) Definition | Investopedia
Fill Or Kill (FOK) Definition | Investopedia
  • www.investopedia.com
A type of time-in-force designation used in securities trading that instructs a brokerage to execute a transaction immediately and completely or not at all. This type of order is most likely to be used by active traders and is usually for a large quantity of stock. The order must be filled in its entirety or canceled (killed). The purpose of a...
 
angevoyageur:
Bonjour Nathan, il n'est pas nécessaire de répéter les mêmes questions dans deux messages ;-)

J'ai réalisé que deux messages presque identiques étaient inutiles après avoir lu les deux messages, mais j'ai décidé de laisser faire. La prochaine fois, j'essaierai de désigner ma réponse comme un nouveau message.

Je vous remercie.

 
angevoyageur:
WhooDoo22:
Oui, "montant spécifié", "volume de l'ordre", "taille du lot" sont tous les mêmes.


Lorsque vous passez un ordre, acheter 1 lot par exemple, il doit y avoir quelqu'un qui veut vendre 1 lot. Sur le Forex ce n'est pas un problème, car ce marché est très vaste, mais sur certains marchés, il n'y a pas forcément quelqu'un pour vendre.


Voir ci-dessus. Vous pouvez passer un ordre pour 1 lot, et il n'y a que 0,5 lot disponible sur le marché.


Voir ci-dessus. Vous voulez acheter 1 lot, il y a 2 offres de vente de 0,5 lot sur le marché.


J'espère que c'est plus clair avec les réponses ci-dessus. Ce paramètre est défini par le courtier. Vous devez le vérifier avant de passer un ordre.

Vous êtes le bienvenu.
"J'espère que c'est plus clair avec les réponses ci-dessus. Ce paramètre est défini par le courtier. Vous devez le vérifier avant de passer un ordre."


Après avoir lu et répondu à ma réponse, je vous laisserai en juger :)

//ENUM_ORDER_TYPE_FILLING identifiers
ORDER_FILLING_FOK

ORDER_FILLING_FOK est une procédure qui n'exécute qu'un seul des deux types d'entrée sur le marché, 1,00 lot d'achat apparié à un lot de vente de 1,00 (type_1) ou 1,00 lot d'achat apparié à trois lots de vente de 0,25, 0,25 et 0,50 (type_2). Si le type_1 ou le type_2 ne peut pas être exécuté, l'ordre n'entre pas sur le marché.

//ENUM_ORDER_TYPE_FILLING identifiers
ORDER_FILLING_IOC
ORDER_FILLING_IOC est une procédure qui n'exécute qu'un seul type d'entrée sur le marché, un lot d'achat de 1,00 euro apparié à n'importe quelle taille de lot de vente actuellement disponible. La taille du lot de vente apparié peut être n'importe quelle taille jusqu'à 1,00.
//ENUM_ORDER_TYPE_FILLING identifiers
ORDER_FILLING_RETURN
Quelle est la procédure de ORDER_FILLING_RETURN ?

Que signifie cette phrase (documentation) : "En cas d'exécution partielle, un ordre au marché ou un ordre à cours limité avec le volume restant n'est pas annulé mais traité ultérieurement." (mal écrit, sans détour)

Ma traduction de la phrase ci-dessus est la suivante : "Si un ordre au marché/à cours limité est partiellement exécuté, il n'est pas annulé et le volume restant n'est pas annulé mais traité ultérieurement".


Mon impression est que la procédure est exécutée selon les critères suivants (types d'ordres (trois types) et types de symboles (deux types)) :

TYPES D'ORDRE :

type_1 : ORDER_TYPE_BUY et SELL

type_2 : ORDER_TYPE_BUY et SELL_LIMIT

type_3 : ORDER_TYPE_BUY et SELL_STOP_LIMIT

TYPES DE SYMBOLES :

type_1 : Exécution sur le marché

type_2 : exécution en bourse

Quelle est la différence entre eux
? Qu'est-ce que c'est ?

"Pour l'activation des ordres ORDER_TYPE_BUY_STOP_LIMIT et ORDER_TYPE_SELL_STOP_LIMIT, un ordre limite correspondant ORDER_TYPE_BUY_LIMIT/ORDER_TYPE_SELL_LIMIT avec le type d'exécution ORDER_FILLING_RETURN est créé."
ORDER_TYPE_BUY_STOP_LIMIT//Upon reaching the order price, a pending Buy Limit order is places at the StopLimit price

ORDER_TYPE_SELL_STOP_LIMIT//Upon reaching the order price, a pending Sell Limit order is places at the StopLimit price

Je suppose qu'un ordre d'achat à cours limité est envoyé si le prix atteint le "prix stop" (le prix au-dessus du cours actuel du marché) et une fois que le prix atteint le "prix stop", l'ordre devient un ordre d'achat ou de vente à cours limité (selon le code) et l'ordre attend à nouveau que le prix arrive en dessous du prix actuel en arrivant au prix limite d'achat (ordre d'achat à cours limité) ou continue à monter au-dessus du prix actuel en arrivant au prix limite de vente (ordre de vente à cours limité). Un ordre d'achat à cours limité est d'abord un ordre d'arrêt puis devient un ordre à cours limité. C'est exact, oui ?

Les ordres à cours limité ne sont pas inclus dans MQL4 et je n'ai aucune expérience préalable dans le codage des e'm.

Merci

 
RaptorUK:
Je suppose que vous n'avez jamais vuFill or Kill auparavant ?

Vous avez deviné juste :)

Je vous remercie.

 

Bonjour la communauté MQL5,

En codant dans meta editor, j'ai essayé d'utiliser la fonction order type et j'ai été alerté par une erreur dans la boîte à outils de meta editor (voir snapshot ci-dessous).

type de commande non défini

Comme vous pouvez le constater, la fonction de type d'ordre n'est pas définie alors qu'elle semble être définie par la documentation(https://www.mql5.com/en/docs/standardlibrary/tradeclasses/chistoryorderinfo/chistoryorderinfoordertype).

La question que je me pose est la suivante

if(OrderType()==ORDER_TYPE_BUY)

Comment la fonction de type d'ordre peut-elle être utilisée dans le méta-éditeur si elle n'est pas définie ?

Je vous remercie.

Raison: