[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 - 2. - page 213
dzhini: Je me demande alors pourquoi les commandes ne sont pas supprimées ? Je peux présenter le code de l'ensemble de l'EA, mais cela aurait-il un sens ?
Essayez simplement d'écrire vos conditions au départ. À mon avis, vous n'avez pas besoin de la boucle for() ci-dessus au début.
Hehehe... C'est exactement ce que ce n'est pas. Alors comment passerait-il les commandes sans cycle ? Comme nous partons du principe qu'il peut y avoir un grand nombre d'ordres et que nous voulons éviter d'utiliser des symboles magiques comme balises individuelles, les principales balises sont le symbole monétaire et le type d'ordre. En principe, il fonctionne avec ces derniers, mais nous avons découvert par hasard qu'il ne fonctionnait pas avec la combinaison ci-dessus. Je ne comprends pas où se trouve l'erreur. Et si je n'arrive pas à comprendre, je vais voir les vrais experts.
Si vous êtes vraiment intéressé, je peux poster le code du hibou... Voyons cela... ce sera utile.
Hehehe... C'est exactement ce que ce n'est pas. Alors comment passerait-il les commandes sans cycle ? Comme nous partons du principe qu'il peut y avoir un grand nombre d'ordres et que nous voulons éviter d'utiliser des symboles magiques comme balises individuelles, les principales balises sont le symbole monétaire et le type d'ordre. En fait, il fonctionne avec ces derniers, mais nous avons découvert par hasard qu'il ne fonctionnait pas avec la combinaison ci-dessus. Je ne comprends pas où se trouve l'erreur. Et si je n'arrive pas à comprendre, je vais voir les vrais experts.
Si vous êtes vraiment intéressé, je peux poster le code du hibou... Voyons cela... ...ça sera utile.
Je suis trop paresseux pour le vérifier maintenant.
Vous avez une boucle avec une sélection par type d'opération et par symbole défini dans la fonction,
et, au départ, vous ne prescrivez que les conditions à la réalisation desquelles l'action dont vous avez besoin est exécutée, c'est-à-dire ClosePendingOrder(OP).
Ou vous pouvez rechercher les ordres par assistant avec l'exécution de l'ordre satisfaisant la condition .
Les gars, mettez en place des sociétés de courtage étrangères...très grosses sommes d'argent et ne veulent pas payer de taxes....)) qui travaillent sur Metatrader 4...))
Les gars, mettez en place des sociétés de courtage étrangères...très grosses sommes d'argent et ne veulent pas payer de taxes....)) qui travaillent sur Metatrader 4...))
Après-midi. Veuillez m'indiquer comment "forcer" l'EA à arrêter de placer des ordres en attente si j'ai déjà 5 ordres de marché d'achat et 5 ordres de vente ouverts et que dès qu'au moins un des ordres se ferme, l'EA continue de placer des ordres en attente dans la direction où l'ordre s'est fermé, et ainsi de suite dans le cycle. (Maintenant, j'ai déjà posté le code dans une forme correcte)
//----------------------------------------------------------------------- проверка установленных стоп ордеровdouble StopOrderUp,StopOrderDn,price,MinBuyOrder=1000000000,MaxSellOrder,OldBuyOrder,OldSellOrder,OldBuyLot,OldSellLot;
int TicketUp,TicketDn;
TimeOllOpenBuy=0;TimeOllOpenSell=0;
double OOL_BUYSTOP,OOL_SELSTOP;
for (i=0; i<OrdersTotal(); i++)
{
if (OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true)
{ price = OrderOpenPrice();
if (Magic==OrderMagicNumber() && OrderSymbol()==Symbol())
{
if (OrderType()==OP_BUYSTOP ) {StopOrderUp = price; TicketUp=OrderTicket(); OOL_BUYSTOP=OrderLots();}
if (OrderType()==OP_SELLSTOP) {StopOrderDn = price; TicketDn=OrderTicket(); OOL_SELSTOP=OrderLots();}
if (OrderType()==OP_BUY )
{ TimeOllOpenBuy = TimeOllOpenBuy + TimeCurrent()-OrderOpenTime();
if (MinBuyOrder > price) MinBuyOrder = price;
OldBuyOrder=price;
OldBuyLot=OrderLots();
if (DrawInfo&&!IsTesting()){
NameLine="ордер Bay "+OrderTicket();ObjectDelete(NameLine);ObjectDelete(NameLine+" з");
ObjectCreate(NameLine, OBJ_TREND, 0, OrderOpenTime(),price,Time[0],Bid);
ObjectSet(NameLine, OBJPROP_COLOR,LightSkyBlue);
ObjectCreate(NameLine+" з",OBJ_ARROW,0,Time[0],Bid,0,0,0,0);
ObjectSet(NameLine, OBJPROP_STYLE, STYLE_DOT);// Стиль
ObjectSet(NameLine, OBJPROP_RAY, false); // Луч
ObjectSet(NameLine+" з",OBJPROP_ARROWCODE,3);ObjectSet(NameLine+" з",OBJPROP_COLOR,WhiteColor);}
}
if (OrderType()==OP_SELL)
{ TimeOllOpenSell = TimeOllOpenSell + TimeCurrent()-OrderOpenTime();
if (MaxSellOrder < price) MaxSellOrder = price;
OldSellOrder=price;
OldSellLot=OrderLots();
if (DrawInfo&&!IsTesting()){
NameLine="ордер Sell "+OrderTicket();ObjectDelete(NameLine);ObjectDelete(NameLine+" з");
ObjectCreate(NameLine, OBJ_TREND, 0, OrderOpenTime(),price,Time[0],Ask);
ObjectSet(NameLine, OBJPROP_COLOR,Pink);
ObjectCreate(NameLine+" з",OBJ_ARROW,0,Time[0],Ask,0,0,0,0);
ObjectSet(NameLine, OBJPROP_STYLE, STYLE_DOT);// Стиль
ObjectSet(NameLine, OBJPROP_RAY, false); // Луч
ObjectSet(NameLine+" з",OBJPROP_ARROWCODE,3);ObjectSet(NameLine+" з",OBJPROP_COLOR,WhiteColor);}
}
}
}
}
if (MinBuyOrder==1000000000 && MaxSellOrder==0 && OOL_BUYSTOP!=OOL_SELSTOP)//если серия закрылась
{
DELETEORDERS();
}
Les gars, une autre question s'est posée. Certains courtiers, dont Alpari, par exemple, proposent à leurs clients un spread flottant .... dans le cadre de cette opération mon conseiller ne fonctionne pas...((((
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.
J'ai déjà compris. Je l'ai juste regardé inattentivement au début.
Je ne vois pas l'erreur.
Je me demande alors pourquoi les commandes ne sont pas supprimées ? Je peux présenter le code de l'ensemble de l'EA, mais cela aurait-il un sens ?
Essayez simplement d'écrire vos conditions au départ. À mon avis, vous n'avez pas besoin de la boucle for() ci-dessus au début.
Il suffit de les fixer dès le départ.
Hehehe... C'est exactement ce que ce n'est pas. Alors comment passerait-il les commandes sans cycle ? Comme nous partons du principe qu'il peut y avoir un grand nombre d'ordres et que nous voulons éviter d'utiliser des symboles magiques comme balises individuelles, les principales balises sont le symbole monétaire et le type d'ordre. En principe, il fonctionne avec ces derniers, mais nous avons découvert par hasard qu'il ne fonctionnait pas avec la combinaison ci-dessus. Je ne comprends pas où se trouve l'erreur. Et si je n'arrive pas à comprendre, je vais voir les vrais experts.
Si vous êtes vraiment intéressé, je peux poster le code du hibou... Voyons cela... ce sera utile.
Hehehe... C'est exactement ce que ce n'est pas. Alors comment passerait-il les commandes sans cycle ? Comme nous partons du principe qu'il peut y avoir un grand nombre d'ordres et que nous voulons éviter d'utiliser des symboles magiques comme balises individuelles, les principales balises sont le symbole monétaire et le type d'ordre. En fait, il fonctionne avec ces derniers, mais nous avons découvert par hasard qu'il ne fonctionnait pas avec la combinaison ci-dessus. Je ne comprends pas où se trouve l'erreur. Et si je n'arrive pas à comprendre, je vais voir les vrais experts.
Si vous êtes vraiment intéressé, je peux poster le code du hibou... Voyons cela... ...ça sera utile.
Je suis trop paresseux pour le vérifier maintenant.
Vous avez une boucle avec une sélection par type d'opération et par symbole défini dans la fonction,
et, au départ, vous ne prescrivez que les conditions à la réalisation desquelles l'action dont vous avez besoin est exécutée, c'est-à-dire ClosePendingOrder(OP).
Ou vous pouvez rechercher les ordres par assistant avec l'exécution de l'ordre satisfaisant la condition .
Les gars, mettez en place des sociétés de courtage étrangères...très grosses sommes d'argent et ne veulent pas payer de taxes....)) qui travaillent sur Metatrader 4...))
Les gars, mettez en place des sociétés de courtage étrangères...très grosses sommes d'argent et ne veulent pas payer de taxes....)) qui travaillent sur Metatrader 4...))
Il y en a beaucoup.
Google vous y conduira facilement.
Payez vos impôts et dormez bien...
Après-midi. Veuillez m'indiquer comment "forcer" l'EA à arrêter de placer des ordres en attente si j'ai déjà 5 ordres de marché d'achat et 5 ordres de vente ouverts et que dès qu'au moins un des ordres se ferme, l'EA continue de placer des ordres en attente dans la direction où l'ordre s'est fermé, et ainsi de suite dans le cycle. (Maintenant, j'ai déjà posté le code dans une forme correcte)
Les gars, une autre question s'est posée. Certains courtiers, dont Alpari, par exemple, proposent à leurs clients un spread flottant .... dans le cadre de cette opération mon conseiller ne fonctionne pas...((((
Ils ont un nombre flottant qui gâche tout... ((((
Quelle est la question ? Refaire l'EA...
C'est la question, le refaire fonctionne partout, mais pas avec le flottant(((