Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 836
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
Est-ce que c'est bien que ça dise
rien, le fil de discussion est pour MT4, donc vous n'y prêtez pas attention
OK, occupez-vous, on s'ennuie ici.
Salutations à tous. Bonne chance dans la vie et profit dans le travail.
Je demande de l'aide (de façon inattendue, hein ? :) ).
Dans Mql je suis un zerobom, 2 jours "dans le sujet". Si l'EA réel m'oblige à utiliser le trading automatique, j'essaie d'écrire (collecter en temps réel à partir de différentes parties) le hibou pour mon EA plat et bien sûr je commence à en avoir assez :). Cela fait maintenant 10 heures que j'essaie de résoudre un autre problème et je n'y suis toujours pas arrivé. Si quelqu'un peut donner des conseils ou un exemple, je lui en serai extrêmement reconnaissant (verbalement et par écrit, et surtout sous la douche).
En général... Il y a TC, que j'utilise avec succès depuis longtemps. Sur les conditions de transaction sur le même instrument, les ordres de marché multidirectionnels peuvent être exécutés (pas d'ordre en attente). La position abaissée peut être remplie lors d'un signal de trading, à condition que la position ait baissé d'au moins X pips, ce qui arrive parfois et permet de faire un ajout au remplissage (dans les mêmes conditions (signal de trading + taille du drawdown)). Le problème (actuel) réside dans l'ouverture de positions supplémentaires, à savoir... comment vérifier et renvoyer la valeur de la perte sur une position longue. En suivant l'exemple dehttps://www.mql5.com/ru/forum/117061, j'ai modifié le code pour attribuer à chaque position son propre Magik, mais c'est à peu près tout. Comment sélectionner exactement une position qui s'est assise et retourner sa valeur de perte.... :(.
"mon" code pour l'ouverture des transactions.
//-----------------
si (NumberOfPositions(Symbol(),OP_BUY, Magic)<1)
{
si (mes conditions d'entrée)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits) ; sinon TP = 0 ;
if (stoploss!=0) SL = NormalizeDouble(Bid - stoploss*Point,Digits) ; sinon SL = 0 ;
ticket=OrderSend(Symbol(),OP_BUY,LOT,NormalizeDouble(Ask,Digits),5,SL,TP, "BUY",Magic,0,Blue) ;
if(ticket < 0) { Print("Error while opening BUY order #", GetLastError());}
}}
if(NumberOfPositions(Symbol(),OP_SELL, Magic)<1)
{
si (mes conditions d'entrée)
{
if (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits) ; sinon TP = 0 ;
if (stoploss!=0) SL = NormalizeDouble(Ask + stoploss*Point,Digits) ; sinon SL = 0 ;
ticket=OrderSend(Symbol(),OP_SELL,LOT,NormalizeDouble(Bid,Digits),5,SL,TP, "SELL",Magic,0,Red) ;
if(ticket < 0) { Print("Error opening SELL order #", GetLastError());}
}}
//---------------
Il est prévu d'ouvrir des commandes supplémentaires en utilisant le code suivant
//---------------
if (NumberOfPositions(Symbol(),OP_BUY, Magic)==1 && NumberOfPositions(Symbol(),OP_BUY, Magic_2)<1)
{
if (mes conditions d'entrée && GetProfitOpenPosInPoint(Symbol(),OP_BUY,Magic)>= LEVEL_1)
{
ticket=OrderSend(Symbol(),OP_BUY,LOT,NormalizeDouble(Ask,Digits),5,SL,TP, "Extra Buy",Magic_2,0,Blue) ;
if(ticket < 0) { Print("Error opening BUY order #", GetLastError()) ; }
} }
//---------------
Et c'est là que j'ai été bloqué :). Ce qu'il faut utiliser à la place de GetProfitOpenPosInPoint(Symbol(),OP_BUY,Magic). Je pense que je dois utiliser Drawdown_level(Symbol(),OP_BUY,Magic) mais comment l'obtenir...
Aidez-nous, s'il vous plaît, soyez amis.
Z.U. Si vous conseillez, s'il vous plaît garder à l'esprit que je suis encore nubyara que pas trop paresseux pour m'envoyer un peu plus de détails, vous savez, comme si : FOREST THERE, n'oubliez pas d'indiquer la direction <------ || ------>.
Merci de votre attention :).
Rien, le fil de discussion est pour MT4, donc vous n'y prêtez pas attention.
Ok, occupe-toi, c'est ennuyeux ici.
Dites-moi où se trouve une branche similaire pour MT5, je vais demander là-bas...
Dites-moi où se trouve un fil similaire pour MT5, j'y poserai la question...
Est-il possible de préciser
Dans MT4, l'appel de fonction de l'indicateur se déroule sans erreur et fonctionne comme prévu(int handle=iEnvelopes(Symbol(), tf, period, method, shift, price, Deviation(kanal), buff) ;) J'ai pensé qu'il pouvait en être de même dans MT5.
Veuillez me conseiller sur la manière de le faire correctement.
Dans MT4, l'appel de fonction de l'indicateur se déroule sans erreur et fonctionne comme prévu(int handle=iEnvelopes(Symbol(), tf, period, method, shift, price, Deviation(kanal), buff) ;) J'ai pensé qu'il pouvait en être de même dans MT5.
Pouvez-vous me dire comment le faire correctement ?
Il est donc impossible d'obtenir les données des enveloppes dans mql4.
Voici le code de MT4
Tout fonctionne parfaitement. Je voudrais la même chose dans MT5
Voici le code de MT4
Tout fonctionne parfaitement. Je voudrais la même chose dans MT5
Et bien c'est parce que c'est un code différent et qu'il va fonctionner.
Correction du code MT5 pour envoyer des données à l'Indicateur :
Mais l'erreur est la même.
Voici le code de MT4
Tout fonctionne parfaitement. Je voudrais la même chose dans MT5
Attention à vos mains :
Dans mon post précédent, ceci est mis en évidence dans votre code
et dans le code de celui-ci, le message cité est une déclaration de fonction. Également mis en évidence.
Et ceci
Appel d'une fonction utilisateur qui existe. Bien que cette méthode de programmation soit inacceptable pour moi, elle reste compréhensible. Mais comment décrire l'erreur dans ce code, je suis perdu.