[ARCHIVE]Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Je ne peux aller nulle part sans toi - 5. - page 23
Mon code permet de déterminer plus facilement le nombre d'itérations via ArrayRange.
Pourquoi est-ce que j'obtiens 0 lorsque j'écris xDelH[countDH][0]=HBar[countH][0] ; (bien que HBar[countH][0] soit déjà remplie et ait sa propre valeur) ? Est-ce que je peux le faire ?
Comment vérifier la valeur de xDelH[countDH][0] après cette opération d'affectation ?
//moyenne en calculant le prix moyen double averageprice = NormalizeDouble(sum/allots, Digits) ; //modifier tous les ordres de la série en déplaçant le même TakeProfit pour chaque ordre ouvert for ( trade = OrdersTotal() - 1 ; trade >= 0 ; trade-- ) { if ( OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == Magic && OrderSymbol() == Symbol()) { //Prise de bénéfice pour un ordre d'ACHAT if ( OrderType() == OP_BUY) tp = averageprice + TP * Point ; //Prise de bénéfice pour un ordre de VENTE if ( OrderType() == OP_SELL) tp = averageprice - TP * Point ; //modifier l'ordre appartenant à la série OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(tp, Digits), 0, Yellow) ; } } }
modifier les anciens ordres, changer leur TakeProfit en TakeProfit du nouvel ordre ouvert (si le prix clôture le dernier ordre au Stop alors tous les ordres précédents seront également clôturés)
//moyennage en calculant le prix moyen double averageprice = NormalizeDouble(sum/allots, Digits) ; //modifier tous les ordres de la série en déplaçant le même TakeProfit pour chaque ordre ouvert. for ( trade = OrdersTotal() - 1 ; trade >= 0 ; trade-- ) { si ( OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == Magic && OrderSymbol() == Symbol()) { //Profit pour l'ordre d'achat if ( OrderType() == OP_BUY) tp = averageprice + TP * Point ; //prendre le profit pour un ordre de VENTE if ( OrderType() == OP_SELL) tp = averageprice - TP * Point ; //modifier un ordre qui appartient à la série OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(tp, Digits), 0, Yellow) ; } } }
modifier les anciens ordres, changer leur TakeProfit en TakeProfit d'un nouvel ordre ouvert (si le prix clôture le dernier ordre au stop, tous les ordres précédents seront également clôturés)
Les précédentes se fermeront si vous définissez un seul stoploss pour l'ensemble de la série. Cela permettra de conserver le bénéfice réalisé sur ces ordres, ou de réduire la perte si le prix a changé. Si vous laissez le stop loss différent pour chaque ordre (sans le modifier), un seul ordre sera fermé. La valeur TakeProfit des autres ordres de la série devra être soit recalculée, soit égale à la valeur précédente.
Bonne journée ! !! vous savez, je passe deux commandes avec cet endroit - à dessein, une avec un arrêt et une sans. Dans le testeur, les deux sont supprimés !!!!.
if (Svetsja_1 && !Svetsja_2 && !Svetsja_3 && !Orderbuy ){
//стоп лосс 25 п. профит 30 п;стоп лосс 25 п. тралится по MA 20
RefreshRates();
OrderSend (Symbol( ), OP_BUY, lot ,NormalizeDouble(Ask, Digits), 5, NormalizeDouble( Ask- (25*Point),Digits), NormalizeDouble( Ask+( 30*Point),Digits), NULL, 450, 0, CLR_NONE);
int Error=GetLastError();if (Error==0){
Sleep(2000); RefreshRates();
OrderSend (Symbol( ), OP_BUY, lot ,NormalizeDouble(Ask, Digits), 5, NormalizeDouble( Ask- (25*Point),Digits), 0, NULL, 450, 0, CLR_NONE); }
Error=GetLastError(); Orderbuy=1;
if (Error!=0){ string errorcomment = "Ошибка открытия ордера OP_BUY" + " " + Symbol() + " " + ErrorDescript(Error);
Print (errorcomment);} } } }
Je n'ai absolument aucune idée de ce qui se passe ici.
Bonne journée ! !! vous savez, je passe deux ordres à cet endroit - à dessein, l'un avec un stop, l'autre sans. Dans le testeur, les deux sont supprimés !!!!.
Je n'ai absolument aucune idée de ce qui se passe ici.
Regardez bien, vous avez défini un stoploss pour les deux et un takeprofit pour un seul. Donc c'est comme vous l'avez écrit : les deux seront fermés au stoploss et un seul sera fermé au takeprofit.
Bonne journée ! !! vous savez, je passe deux commandes avec cet endroit - à dessein, une avec un arrêt et une sans. Dans le testeur, les deux sont supprimés !!!!.
Je n'ai absolument aucune idée de ce qui se passe ici.
Il est probablement trop tôt pour que vous le "fumiez" - VOUS POURRIEZ ÊTRE SUSPENDU ! :)))
Si vous n'avez pas de compte, veuillez vous inscrire
Autorisez l'utilisation de cookies pour vous connecter au site Web MQL5.com.
Veuillez activer les paramètres nécessaires dans votre navigateur, sinon vous ne pourrez pas vous connecter.
Vous êtes connecté. L'authentification à deux facteurs a été désactivée. Configurez-la à nouveau et scannez un nouveau code QR, ou continuez avec l'authentification à deux facteurs désactivée.
Mon code permet de déterminer plus facilement le nombre d'itérations via ArrayRange.
Pourquoi est-ce que j'obtiens 0 lorsque j'écris xDelH[countDH][0]=HBar[countH][0] ; (bien que HBar[countH][0] soit déjà remplie et ait sa propre valeur) ? Est-ce que je peux le faire ?
Veuillez me dire quelle fonction mémorise le prix du Take Profit du dernier ordre ouvert.
Si vous devez vous en souvenir exactement, il suffit d'enregistrer la valeurTakeProfit dans une variable chaque fois que vous ouvrez un ordre.
J'ai juste besoin de
//moyenne en calculant le prix moyen
double averageprice = NormalizeDouble(sum/allots, Digits) ;
//modifier tous les ordres de la série en déplaçant le même TakeProfit pour chaque ordre ouvert
for ( trade = OrdersTotal() - 1 ; trade >= 0 ; trade-- )
{
if ( OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
{
//Prise de bénéfice pour un ordre d'ACHAT
if ( OrderType() == OP_BUY) tp = averageprice + TP * Point ;
//Prise de bénéfice pour un ordre de VENTE
if ( OrderType() == OP_SELL) tp = averageprice - TP * Point ;
//modifier l'ordre appartenant à la série
OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(tp, Digits), 0, Yellow) ;
}
}
}
modifier les anciens ordres, changer leur TakeProfit en TakeProfit du nouvel ordre ouvert (si le prix clôture le dernier ordre au Stop alors tous les ordres précédents seront également clôturés)
J'ai juste besoin de
//moyennage en calculant le prix moyen
double averageprice = NormalizeDouble(sum/allots, Digits) ;
//modifier tous les ordres de la série en déplaçant le même TakeProfit pour chaque ordre ouvert.
for ( trade = OrdersTotal() - 1 ; trade >= 0 ; trade-- )
{
si ( OrderSelect(trade, SELECT_BY_POS, MODE_TRADES) && OrderMagicNumber() == Magic && OrderSymbol() == Symbol())
{
//Profit pour l'ordre d'achat
if ( OrderType() == OP_BUY) tp = averageprice + TP * Point ;
//prendre le profit pour un ordre de VENTE
if ( OrderType() == OP_SELL) tp = averageprice - TP * Point ;
//modifier un ordre qui appartient à la série
OrderModify(OrderTicket(), OrderOpenPrice(), OrderStopLoss(), NormalizeDouble(tp, Digits), 0, Yellow) ;
}
}
}
modifier les anciens ordres, changer leur TakeProfit en TakeProfit d'un nouvel ordre ouvert (si le prix clôture le dernier ordre au stop, tous les ordres précédents seront également clôturés)
Les précédentes se fermeront si vous définissez un seul stoploss pour l'ensemble de la série. Cela permettra de conserver le bénéfice réalisé sur ces ordres, ou de réduire la perte si le prix a changé. Si vous laissez le stop loss différent pour chaque ordre (sans le modifier), un seul ordre sera fermé. La valeur TakeProfit des autres ordres de la série devra être soit recalculée, soit égale à la valeur précédente.
Comment vérifier la valeur de xDelH[countDH][0] après cette opération d'affectation ?
Via Print
Bonne journée ! !! vous savez, je passe deux commandes avec cet endroit - à dessein, une avec un arrêt et une sans. Dans le testeur, les deux sont supprimés !!!!.
Je n'ai absolument aucune idée de ce qui se passe ici.
Bonne journée ! !! vous savez, je passe deux ordres à cet endroit - à dessein, l'un avec un stop, l'autre sans. Dans le testeur, les deux sont supprimés !!!!.
Je n'ai absolument aucune idée de ce qui se passe ici.
Regardez bien, vous avez défini un stoploss pour les deux et un takeprofit pour un seul. Donc c'est comme vous l'avez écrit : les deux seront fermés au stoploss et un seul sera fermé au takeprofit.
Bonne journée ! !! vous savez, je passe deux commandes avec cet endroit - à dessein, une avec un arrêt et une sans. Dans le testeur, les deux sont supprimés !!!!.
Je n'ai absolument aucune idée de ce qui se passe ici.