[ARCHIVE !] Toute question de débutant, pour ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 4. - page 569
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
rigonich,
pour être précis (OrderProfit()+OrderCommission()+OrderSwap()
Alors, comment prendre des informations à partir de commandes fermées ?
Je sélectionne les ordres en utilisant OrderSelect() et MODE_HISTORY parmi ceux qui sont fermés, mais comment puis-je sélectionner ceux qui sont nécessaires ?
Si je peux prendre dans l'histoire ceux qui ont fermé après ma condition, alors bien sûr je prendrai et résumerai ce dont j'ai besoin. Mais je ne comprends pas comment faire, malheureusement.
De quoi avez-vous besoin ? Par exemple, mémoriser la date d'ouverture du premier ordre sur l'instrument par votre EA et sélectionner tous les ordres ouverts après celle-ci, réinitialiser la valeur de la variable après la fermeture par conditionet mémoriser la nouvelle valeur (actuelle).
Veuillez me conseiller.
Dans mon EA, le calcul de sortie est basé sur le profit accumulé. Par exemple, si à un moment donné, équité=équilibre, l'EA fermera toutes les transactions lorsque l'équité actuelle dépassera cette équité initiale. Il fermera toutes les transactions, quel que soit leur nombre.
C'est simple dans le testeur, car il y a une seule paire de devises.
Cependant, le trading s'effectue de manière réaliste avec plusieurs devises et chacune d'entre elles doit être considérée séparément. Par exemple, s'il n'y a pas de transactions ouvertes sur une paire de devises, alors la variable==0. Nous devons également suivre les transactions fermées sur ce symbole et attendre que le profit accumulé dépasse la perte des ordres ouverts sur ce symbole de la valeur spécifiée.
Je ne trouve pas dans le tutoriel une fonction qui peut être utilisée pour séparer la comptabilité des bénéfices accumulés pour différentes devises. Veuillez me conseiller. Merci.
https://www.mql5.com/ru/forum/131859/page3#434223 ici, et aussihttps://www.mql5.com/ru/forum/131859/page3#434222
Je ne peux pas écrire une condition supplémentaire pour ouvrir une position selon mon idée.
Si je ferme une position avec TP ou SL, elle doit se rouvrir avec la position opposée.
Exemple : Si une position de vente, disons SL, est fermée, il rouvrira une position de vente avec elle et achètera
Voici 2 conditions du conseiller expert :
condition pour acheter
if (BUY)
{
if (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits) ; else TP=0 ;
if (stoploss !=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits) ; else SL=0 ;
if(NumberOfPositions(Symbol(),OP_BUY,Magic)<MaxOrders)OPENORDER ("Buy") ;
}
sell condition
if (SELL)
{
if (takeprofit !=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits) ; else TP=0 ;
if (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits) ; else SL=0 ;
if(NumberOfPositions(Symbol(),OP_SELL,Magic)<MaxOrders)OPENORDER ("Sell") ;
}
Qui comprend ceci, s'il vous plaît aidez-moi à écrire la condition supplémentaire
Pour passer à gauche -- F12, à droite -- je ne sais pas.
RigonichMerci, c'est un excellent conseil ! Juste ce dont j'ai besoin !
Je n'ai rien fait avec, il ne fonctionne toujours pas ((((
Il ne fonctionne que si le prix va dans une direction alors il s'ouvre et si le prix tourne autour il ne s'ouvre pas((
Aidez-moi à écrire une condition pour ouvrir une position.
Je ne peux pas écrire une condition supplémentaire pour ouvrir une position selon mon idée.
Si je ferme une position avec TP ou SL, je veux qu'elle ouvre une nouvelle position avec la valeur opposée.
Exemple : si une position de vente a été fermée par SL, il rouvrira une position de vente en même temps qu'une position d'achat.
Voici 2 conditions de l'EA :
Condition d'achat
si (BUY)
{
si (takeprofit!=0) TP = NormalizeDouble(Ask + takeprofit*Point,Digits) ; sinon TP=0 ;
si (stoploss!=0) SL = NormalizeDouble(Ask - stoploss*Point,Digits) ; sinon SL=0 ;
si(NumberOfPositions(Symbol(),OP_BUY,Magic)<MaxOrders)
}
État de vente
si (VENTE)
{
si (takeprofit!=0) TP = NormalizeDouble(Bid - takeprofit*Point,Digits) ; sinon TP=0 ;
si (stoploss!=0) SL = NormalizeDouble(Bid + stoploss*Point,Digits) ; sinon SL=0 ;
si(NumberOfPositions(Symbol(),OP_SELL,Magic)<MaxOrders)
}
Si vous comprenez cela, aidez-moi à rédiger des conditions supplémentaires.
Je suis désolé, mais dans les fichiers joints, vous avez un fichier compilé et non le fichier source. Vous ne pouvez pas le visualiser. Veuillez envoyer le fichier avec l'extension .mq4.