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
Chez Alpari, vous ne pouvez pas placer des stops immédiatement pendant l'exécution du marché, vous devez d'abord ouvrir une position et ensuite la modifier.
Метатестер пилит диск HDD
Version 527.
Si vous regardez dans le moniteur de processus, vous verrez qu'il n'en finit pas avec ces absurdités.
Pas d'activité réseau, pas de connexion au cloud. Le terminal et le metatester ne fonctionnent pas. Aucun fichier n'est en cours de modification.
Il n'y a aucune information sur les noms de fichiers dans la capture d'écran ci-dessus.
Veuillez joindre un journal plus détaillé sous forme de texte.
Dans MQL4, vous pouviez créer un ordre avec des stops immédiatement, mais dans MQL5, ce n'est pas possible - vous devez définir les stops après la création de l'ordre.
Suis-je lent (veuillez me donner un exemple de code) ou est-ce mon intention ?
Vous pouvez également créer un ordre avec un stop et un profit.
Vous avez dans votre demande
reqest.sl=SL ;
reqest.tp=TP ;
Il s'agit d'une erreur. Les niveaux SL et TP doivent être fixés à une certaine distance des prix du marché, de sorte que ces lignes doivent ressembler à ceci
pour une position d'achat :
request.sl = SymbolInfoDouble(Symbol(),SYMBOL_BID) - SL * SymbolInfoDouble(Symbol(),SYMBOL_POINT) ;
request.tp = SymbolInfoDouble(Symbol(),SYMBOL_ASK) + TP * SymbolInfoDouble(Symbol(),SYMBOL_POINT) ;
inverse pour une position de vente
request.sl = SymbolInfoDouble(Symbol(),SYMBOL_ASK) + SL * SymbolInfoDouble(Symbol(),SYMBOL_POINT) ;
request.tp = SymbolInfoDouble(Symbol(),SYMBOL_BID) - TP * SymbolInfoDouble(Symbol(),SYMBOL_POINT) ;
J'espère que je ne me trompe pas...Veuillez clarifier : dans Alpari, est-il impossible de placer un ordre avec des stops avec une seule commande OrderSend ? Ou voulons-nous dire qu'avant de fixer des arrêts pour un ordre existant, nous devons appeler PositionSelect?
Vous pouvez, pourquoi pas ?
Dans quel mode passez-vous la commande ?
Vous pouvez le faire avec un stop et un profit.
Vous avez dans votre requête
reqest.sl=SL ;
reqest.tp=TP ;
Il s'agit d'une erreur. Les niveaux SL et TP doivent être fixés à une certaine distance des prix du marché, ces lignes doivent donc ressembler à ceci :
Bien sûr, SL et TP sont définis comme les vôtres. De plus, j'ai écrit plus haut que si j'ajoute juste
m_request.action = TRADE_ACTION_SLTP;
OrderSend(m_request, m_result) ;
alors les stops seront fixés avec succès aux SL et TP spécifiés, ce qui ne se produira pas s'ils ne sont pas définis correctement.
Vous pouvez, pourquoi pas ?
Dans quel mode passe-t-on la commande ?
MqlTradeResult m_result ;
m_request.action = TRADE_ACTION_DEAL ;
m_request.symbol = Symbol() ;
m_request.type = ORDER_TYPE_BUY ;
m_request.price = Price ; // calculé à l'avance et vrai :)
m_request.sl = SL ; // déjà calculé et correct :)
m_request.tp = TP ; // calculé à l'avance et vrai :)
m_request.volume = Vol ;
m_request.type_filling = ORDER_FILLING_FOK ;
m_request.deviation = 10 ;
m_request.type_time = 0 ;
m_request.expiration = 0 ;
m_request.magic = 0 ;
m_request.comment = "" ;
OrderSend(m_request, m_result) ;
Veuillez clarifier : dans Alpari, vous ne pouvez pas placer un ordre avec des stops en utilisant une seule commande OrderSend ? Ou s'agit-il d'appeler PositionSelect avant de fixer des arrêts pour un ordre existant ?
Exactement. Avec les arrêts, vous ne pouvez le faire qu'en mode instantané.
Types d'exécution
Le terminal client dispose de quatre modes d'exécution des ordres :
Dans ce mode, l'exécution d'un ordre au marché se fait au prix proposé au courtier. Lors de l'envoi d'une demande d'exécution, le terminal substitue automatiquement le prix actuel à l'ordre. Si le courtier accepte les prix, l'ordre sera exécuté. Si le courtier n'accepte pas le prix demandé, la "Requote" se produit - le courtier renvoie les prix auxquels l'ordre peut être exécuté.
Dans ce mode, l'ordre de marché est exécuté au prix précédemment reçu du courtier. Avant d'envoyer un ordre au marché, les prix d'exécution sont demandés au courtier. Une fois reçu, l'exécution de l'ordre à ce prix peut être soit confirmée, soit rejetée.
Dans ce mode d'exécution des ordres au marché, la décision sur le prix d'exécution est prise par le courtier sans aucune approbation supplémentaire du trader. L'envoi d'un ordre au marché dans ce mode implique un accord précoce sur le prix auquel il sera exécuté.
Lorsque vous appuyez sur le bouton "Vendre au marché" ou "Acheter au marché", un ordre sera créé pour que le courtier exécute une transaction de vente ou d'achat, respectivement, au prix défini par le courtier.
Dans ce mode, les opérations commerciales effectuées dans le terminal client sont transférées à un système de négociation externe (bourse). Les opérations commerciales sont exécutées aux prix des offres actuelles du marché.
Le mode d'exécution pour chaque symbole est sélectionné par votre société de courtage.
Tout est écrit dans l'aide du terminal. Mais personne ne le lit.
Pour savoir quel type d'exécution vous devez demander la propriété avec la fonction SymbolInfoInteger() avec l'identifiant SYMBOL_TRADE_EXEMODE
SYMBOL_TRADE_EXEMODE
Mode commercial
ENUM_SYMBOL_TRADE_EXECUTION
ENUM_SYMBOL_TRADE_EXECUTION
Identifiant
Description
DEMANDE_DE_TRANSACTION_DE_SYMBOLE
Commerce sur demande
SYMBOL_TRADE_EXÉCUTION_INSTANTANÉE
Commerce à des prix de flux
MARCHÉ_DE_L'EXÉCUTION_DES_SYMBOLES
Marché de l'exécution_exécution
BOURSE_DE_COMMERCE_DE_SYMBOLE
Exécution de la bourse
Merci beaucoup, maintenant je comprends.
Et j'ai lu l'aide, ce que je n'ai pas trouvé c'est mon oubli + le manque d'élaboration des références croisées ou quelque chose comme ça dans l'aide :)
Lors du test du conseiller du chirurgien https://www.mql5.com/ru/code/611
avec un
[citation].
Pour commencer les tests, à la ligne 84, remplacez :
double Limit=SymbolInfoDouble(_Symbol,SYMBOL_VOLUME_LIMIT) ;
par
double Limit= 5 ;
[/quote]
Sur un compte démo normal, lorsque l'onglet Trade de la section Tools est actif, la vue du terminal change à la fin du test.
Sur un compte de démonstration, c'est le bazar :
Il revient toujours au début.
Et sur XAUUSD, vous appuyez sur F9 et ensuite
bien que vous ne puissiez pas double-cliquer sur la fenêtre d'ordre dans "l'aperçu du marché".
P.S. Je sais que vous ne pouvez pas négocier le XAUUSD).