Saturday 14 January 2017

Forex Mql4 Error 130

// OrdreSend (symbole de chaîne // symbole int cmd // opération double volume // volume double prix // prix int dérapage // dérapage double stoppage // arrêt de la perte double reprise // prise de profit chaîne commentaireNULL. // nombre entier magique. // nombre magique datetime expiration0. // date d'expiration d'ordre en attente arrowcolorclrNONE // couleur) dans Symbol for trading. Dans le type de fonctionnement. Il peut s'agir de l'énumération des opérations commerciales. Nombre de lots. Dans le glissement maximal de prix pour les ordres d'achat ou de vente. Dans le niveau Stop loss. En Prendre le niveau de profit. Dans le commentaire de commentaire. La dernière partie du commentaire peut être modifiée par le serveur. Dans le numéro magique Ordre. Peut être utilisé comme identificateur défini par l'utilisateur. Dans l'heure d'expiration de la commande (pour les commandes en attente uniquement). En couleur de la flèche d'ouverture sur la carte. Si le paramètre est manquant ou si la flèche d'ouverture de la valeur CLRNONE n'est pas dessinée sur le graphique. Renvoie le numéro du ticket attribué à l'ordre par le serveur de commerce ou -1 s'il échoue. Pour obtenir des informations d'erreur supplémentaires, il faut appeler la fonction GetLastError (). Lors de l'ouverture d'une commande au marché (OPSELL ou OPBUY), seuls les derniers cours de l'Offre (pour la vente) ou de la Demande (pour l'achat) peuvent être utilisés comme prix d'ouverture. Si l'opération est effectuée avec une sécurité différente de celle actuelle, la fonction MarketInfo () doit être utilisée avec le paramètre MODEBID ou MODEASK pour obtenir les dernières citations pour cette sécurité. Le prix calculé ou non normalisé ne peut être appliqué. S'il n'y a pas eu le prix d'ouverture demandé dans le thread de prix ou s'il n'a pas été normalisé en fonction du nombre de chiffres après le point décimal, l'erreur 129 (ERRINVALIDPRICE) sera générée. Si le prix d'ouverture demandé est totalement périmé, l'erreur 138 (ERRREQUOTE) sera générée indépendamment sur le paramètre de glissement. Si le prix demandé est obsolète, mais présent dans le fil, l'ordre sera ouvert au prix courant et seulement si le prix courant se situe dans la fourchette du glissement de prix. StopLoss et TakeProfit niveaux ne peut pas être trop proche du marché. La distance minimale des niveaux d'arrêt en points peut être obtenue à l'aide de la fonction MarketInfo () avec le paramètre MODESTOPLEVEL. Dans le cas de niveaux d'arrêt erronés ou non normalisés, l'erreur 130 (ERRINVALIDSTOPS) sera générée. Une valeur zéro de MODESTOPLEVEL signifie soit l'absence de restrictions sur la distance minimale pour Stop Loss / Take Profit, soit le fait qu'un serveur commercial utilise des mécanismes externes pour le contrôle dynamique de niveau, qui ne peuvent pas être traduits dans le terminal client. Dans le second cas, GetLastError () peut renvoyer l'erreur 130, parce que MODESTOPLEVEL est en fait quotfloatingquot ici. Lors de la passation d'une commande en attente, le prix d'ouverture ne peut pas être trop proche du marché. La distance minimale du prix en attente du marché actuel en points peut être obtenue à l'aide de la fonction MarketInfo () avec le paramètre MODESTOPLEVEL. En cas de faux prix d'ouverture d'une commande en attente, l'erreur 130 (ERRINVALIDSTOPS) sera générée. L'application d'un délai d'expiration de commande en attente peut être désactivée dans certains serveurs commerciaux. Dans ce cas, lorsqu'une valeur non nulle est spécifiée dans le paramètre expiration, l'erreur 147 (ERRTRADEEXPIRATIONDENIED) sera générée. Sur certains serveurs commerciaux, le nombre total de commandes ouvertes et en attente peut être limité. Si cette limite a été dépassée, aucun nouvel ordre ne sera ouvert (ou aucune commande en attente ne sera placée) et le serveur commercial retournera l'erreur 148 (ERRTRADETOOMANYORDERS). // ------------------------------------------------ ------------------ // Fonction de démarrage du programme de script // ------------------------ ------------------------------------------ void OnStart () // - - obtenir le niveau minimum d'arrêt double minstoplevel MarketInfo (Symbol (), MODESTOPLEVEL) Imprimer (quotMinimum Stop Levelquot, minstoplevel, quot pointsquot) double prix Ask // --- les prix SL et TP calculés doivent être normalisés double stoploss NormalizeDouble (Bid - minstoplevel Point (OPC), 1, prix, 3, stoploss, takeprofit, quotMon orderquot, 16384,,,,,,,,,,,,,,,,,,, 0, clrGreen) if (ticketlt0) Imprimer (quotOrderSend a échoué avec l'erreur quot. GetLastError ()) else Imprime (quotOrderSend placé successfullyquot) // --- Je sais qu'il ya des questions similaires à celle-ci ailleurs sur le forum, mais aucun d'entre eux Semblent résoudre le problème avec mon script. Je suis assez nouveau pour MQL4, donc je ne suis pas sûr si theres quelque chose d'évident que je fais mal. J'ai simplifié mon problème en plaçant un simple ordre limite. Chaque fois que j'essaie de placer un ordre OPBUYLIMIT, je reçois l'erreur 130. J'utilise le compte Alpari UK Demo. C'est mon code. (Limittakeprofit) Point) Print (BuyLimitPrice quot Arrêt: quot StopPrice quot TakeProfit: quot TakeProfitPrice) int Limiter 10 int stoploss 2000 int takeprofit 2000 double BuyLimitPrice Ask - (LimitPoint) Je l'ai testé sur GBPUSD et obtenir le résultat suivant: 2010.01.18 10:18:47 2009.12.30 23:59 LimitTesting GBPUSD, H1: erreur OrderSend 130 2010.01.18 10:18:47 2009.12.30 23:59 LimitTesting GBPUSD, H1: 1.60740000 Stop: 1.58740000 TakeProfit: 1.62740000 J'ai placé le stoploss et prendre des valeurs de bénéfice à une bonne distance du prix actuel et le prix de commande limite, donc Im sûr il doit y avoir quelque chose d'autre mal. J'ai également essayé de mettre le stoploss et de prendre des valeurs de profit à zéro, et ceci donne la même erreur. Toute aide serait grandement appréciée. Merci d'avance. J'ai le même problème. J'ai l'erreur 130 et je ne peux pas suivre pourquoi. J'apprécierais vraiment quelques pointeurs. J'ai vérifié ce qui suit. Le SL est livré comme un prix réel plutôt que des pépins de suite. C'est le bon format. Un double et son normalisé. C'est la bonne figure. Confirmé par impression dans la ligne au-dessus de la commande. C'est une distance permissible Ce n'est pas le Boston Technologies Bridge référé dans un autre thread Alerte: SL 1.4255 Enchère 1.4201 OrderSend erreur 130 Je n'ai plus d'idées d'où chercher à côté. Merci pour toute aide, j'ai un problème similaire. J'ai l'erreur 130 et je ne peux pas suivre pourquoi. J'apprécierais vraiment quelques pointeurs. J'ai vérifié ce qui suit. Le SL est livré comme un prix réel plutôt que des pépins de suite. C'est le bon format. Un double et son normalisé. C'est la bonne figure. Confirmé par impression dans la ligne au-dessus de la commande. C'est une distance permissible Ce n'est pas le Boston Technologies Bridge référé dans un autre thread Alerte: SL 1.4255 Enchère 1.4201 OrderSend erreur 130 Je n'ai plus d'idées d'où chercher à côté. Merci pour toute aide TP pourrait être la cause de l'erreur arrêts. Quelle est la valeur de la cible TP pourrait causer l'erreur arrêts. Quelle est la valeur de la cible Vous l'avez trouvé. TP était mal calculé. Je vous remercie. J'étais trop concentré sur la prise du code de faute littéralement. Par piste et erreur, j'ai constaté que le minimum que la valeur de Limite pouvait être est de 30 (3 pips entiers). Je ne sais pas si c'est différent pour les autres courtiers. Y at-il une fonction qui vous indique la distance que l'ordre limite doit être placé loin De même, vos constantes doivent être donnés en pips pas points et ajustement interne de sorte qu'il fonctionne sur tout courtier. Rappelez-vous aussi pour OPSELL que le SL est relatif au prix Ask, donc il apparaît sur le graphique à 32 (écart) ou 50 points au moins de l'offre. Ive a obtenu un problème similaire avec un ordre de type Instant Market Sell. Il semble que je peux obtenir de l'aide ici, j'ai écrit un expert expert échantillon et le problème est cette partie: Cela alerte quotinvalid stopsquot. Mais un ordre de type OPSELLLIMIT avec exactement les mêmes paramètres s'exécute sans problème. J'ai essayé différentes valeurs pour stop loss, allant de 0 points à 1000 points et différents dérapages. Im utilisant un compte de démonstration avec spread 0 et MarketInfo (Symbol (), MODESTOPLEVEL) retourne 0 Ive a obtenu un problème similaire avec un ordre de type Instant Market Sell. Il semble que je peux obtenir de l'aide ici J'ai essayé différentes valeurs pour la perte stop, allant de 0 points à 1000 points et différents dérapages. Sur les courtiers à 5 chiffres, vous devez ajuster le TP, le SL et le glissement. Sur les courtiers ECN vous devez ouvrir en premier et ensuite arrêter. Merci pour votre réponse . Mais ce code a le même problème. J'ai utilisé votre code et juste remplacé Slippage. Pips avec une valeur entière, même erreur soulevée après l'exécution. Pour des fins d'apprentissage, je veux écrire un expert simple qui envoie juste une commande instantanée de vente ou d'achat. Et je veux tout ajuster selon les paramètres interrogés par le courtier.


No comments:

Post a Comment