Stops suiveurs et bénéfices suiveurs - page 4

 

Oui, j'ai compris. Il n'est pas possible de comparer car cnt aura une valeur comme 3,2,1 alors que le numéro de ticket est quelque chose de différent.

if(OrdersTotal()>0){

        for(cnt=OrdersTotal()-1;cnt>=0;cnt--){

        

        if(!OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) continue;

        if(OrderSymbol() == Symbol() && OrderMagicNumber() ==  MagicNumber){



                sl     = OrderStopLoss(); // Stop Loss. 

                tStopLoss = NormalizeDouble(OrderStopLoss(), Digits); // Stop Loss. 

                Order Ticket=OrderTicket(); 

                

                if(OrderType()==OP_SLL){ 

                if( Order Ticket== Sell_Order_Ticket_1){ Do the Normal Trailing Stop}

                if( Order Ticket== Sell_Order_Ticket_2){ Do the Normal Trailing Stop}

                if( Order Ticket== Sell_Order_Ticket_3){ Don't move the Stop Loss} 

Puis-je comparer le numéro de ticket comme ceci ?

Salutations

 
Arav007:

Oui, j'ai compris. Il n'est pas possible de comparer car cnt aura une valeur comme 3,2,1 alors que le numéro de ticket est quelque chose de différent.

Puis-je comparer le numéro de ticket comme ceci ?

Salutations

non
Si votre ordinateur doit redémarrer, la valeur Sell_Order_Ticket_1 (2 et 3 également) est perdue.

Vérifiez le prix d'ouverture de l'ordre et le bénéfice de l'ordre.

 
deVries:

pas de
Si votre ordinateur doit redémarrer, la valeur Sell_Order_Ticket_1 (2 et 3 également) est perdue.

Vérifiez le prix d'ouverture de l'ordre et le bénéfice de l'ordre.


Je n'ai pas compris pourquoi la valeur de Sell_Order_Ticket_1 sera perdue après le redémarrage du terminal ?

C'est une variable et elle n'est pas écrasée à moins qu'un nouvel ordre de vente ne soit ouvert.

C'est ce que je comprends mais il y a une logique derrière votre commentaire. Alors, s'il vous plaît, expliquez-moi un peu.

Et j'ai regardé les fonctions OrderOpenPrice et OrderTakeProfit. Que faire avec elles ?

 
Arav007:


Je n'ai pas compris pourquoi la valeur de Sell_Order_Ticket_1 sera perdue après le redémarrage du terminal ?

C'est une variable et elle n'est pas écrasée à moins qu'un nouvel ordre de vente ne soit ouvert.

C'est ce que je comprends, mais il y a une logique derrière votre commentaire. Je vous prie donc de m'expliquer un peu.

Et j'ai regardé les fonctions OrderOpenPrice et OrderTakeProfit. Que faire avec elles ?


Toutes les variables sont perdues lors du redémarrage du terminal.

Seules les variables globales du terminal client peuvent être récupérées.

 
Arav007:


Je n'ai pas compris pourquoi la valeur de Sell_Order_Ticket_1 est perdue après le redémarrage du terminal ?

C'est une variable et elle n'est pas écrasée, sauf si un nouvel ordre de vente est ouvert.

C'est ce que je comprends, mais il y a une logique derrière votre commentaire. Je vous prie donc de m'expliquer un peu.

Et j'ai regardé les fonctions OrderOpenPrice et OrderTakeProfit. Que faire avec elles ?


faire d'autres tests en créant vos fichiers

ouvrez les 3 trades

notez les chiffres que vous obtenez

puis fermez votre metatrader4 et redémarrez-le à nouveau vérifiez la valeur de Sell_Order_Ticket_1, Sell_Order_Ticket_2 et Sell_Order_Ticket_3

sont-elles les mêmes ? si non, quelle valeur obtenez-vous ?

 

OK, je l'ai. Cette information sur la "variable" sera utile pour l'avenir aussi.

if(OrdersTotal()>0){

        for(cnt=3;cnt>0;cnt--){

        if(!OrderSelect(cnt, SELECT_BY_POS, MODE_TRADES)) continue;

        if(OrderSymbol() == Symbol() && OrderMagicNumber() ==  MagicNumber){



                sl     = OrderStopLoss(); // Stop Loss. 

                tStopLoss = NormalizeDouble(OrderStopLoss(), Digits); // Stop Loss. 

if(OrderType()==OP_BUY){ 

if (cnt==3) { Do the Normal Trailing Stop}

if (cnt==2) { Do the Normal Trailing Stop}

if (cnt==1) { Don't move the Stop Loss}

}

}

} 

Que pensez-vous de ça ?

 
Arav007:

OK, je l'ai. Cette information sur la "variable" sera utile pour l'avenir aussi.

Que pensez-vous de cela ?


pouvons-nous d'abord regarder à nouveau votre code d'ouverture des transactions ?

Vérifiez le stoploss et le takeprofit de ces trades, il y a toujours quelque chose qui ne va pas, vous voyez ?

 
deVries:


pouvons-nous d'abord revoir votre code d'ouverture des transactions ?

Vérifiez le stoploss et le takeprofit de ces trades, il y a toujours quelque chose qui ne va pas, vous voyez ?


Ohh, c'est un mauvais code. Après avoir corrigé les défauts, la partie Take Profit est bien maintenant mais le Stop Loss est le problème.

Logique :

si (Fast_EMA>Slow_SMA)

{

si (MA_Différence_1>=Valeur_Diff && iOpenOrders_Buy ==0)

{

Acheter

}

}

 
Arav007:


ohh, c'est pour le mauvais code. Après avoir corrigé les défauts, la partie Take Profit est bien maintenant mais le Stop Loss est le problème.

Quel est le stoploss que vous vouliez pour ces transactions ?
 
deVries:
Quel stoploss avez-vous voulu pour ces trades ?


Comme ici pour les trades USDJPY :

Le 1er trade (ici le dernier en raison de la disposition inverse du temps) a un TP= 103.636

Le TP du 2ème trade est de 103.736

TP du 3ème trade = 108.536 [ J'ai fixé ce TP à une telle distance que cela fonctionnera comme s'il n'y avait pas de TP].

Maintenant, selon mes exigences, lorsque le prix sera de 7 pip [103.603] en profit, le Stop Loss du 1er et du 2ème trade deviendra de 1 pip.

1er et 2ème trade deviendront disons 1 pip de profit [103.543] et le Stop Loss du 3ème trade restera à 103.386.

Comme dans l'image ci-dessous :

Le 1er ordre GBPUSD a été clôturé avec un profit de 10 pips.

Le 2ème ordre est toujours en cours et son SL a été déplacé.

Pour le 3ème trade, le SL a été déplacé aussi, ce que je ne veux pas.