[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

 
xant:

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).
 
xant:

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
 
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, 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
Dossiers :
sellbuy_4.mq4  3 kb
 
Votre condition ne correspond pas(( il ouvre les commandes indéfiniment tant que le dépôt est suffisant.
 
rigonich:

Pour passer à gauche -- F12, à droite -- je ne sais pas.

RigonichMerci, c'est un excellent conseil ! Juste ce dont j'ai besoin !
 
Oh, super, merci à tous !
 
Mec, c'est vraiment si difficile avec la condition ((( comme un petit conseiller.
 

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((

Dossiers :
trudnyaga.mq4  5 kb
 
Frostr:
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.
 
Je crois que je l'ai réparé.
Dossiers :
Raison: