Stops suiveurs et bénéfices suiveurs - page 4 1234567 Nouveau commentaire Arav007 2014.03.07 10:54 #31 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 [Toute question de débutant, Erreurs, bugs, questions Question sur le conseiller Tjipke de Vries 2014.03.07 11:28 #32 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. Arav007 2014.03.07 12:18 #33 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 ? Aide au codage [Toute question de débutant, Quand un trader sera-t-il Keith Watford 2014.03.07 12:24 #34 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. Tjipke de Vries 2014.03.07 12:30 #35 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 ? CODE PROBLÈME Indicateurs multitemporels De la théorie à Arav007 2014.03.07 13:25 #36 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 ? Tjipke de Vries 2014.03.07 13:31 #37 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 ? L'EA ne fonctionne pas [Archives] Mathématiques pures, physique, Questions des débutants MQL5 Arav007 2014.03.07 13:58 #38 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 } } Tjipke de Vries 2014.03.07 14:15 #39 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 ? Arav007 2014.03.07 14:36 #40 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. Comment coder ? Reconnaissance des formes de Outils "Fermer tout" / 1234567 Nouveau commentaire
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
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.
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 ?
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.
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 ?
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 ?
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
}
}
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 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.