[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 65

 
Vinin:

Je vais le faire à ma façon et le compte à rebours sera différent. Je vais toujours du passé au présent. Mais c'est une question de goût. En fait, avec la bonne approche, cela n'a pas vraiment d'importance.

Bonjour,

S'il vous plaît aider avec la page. (Post 56, 58 pages).

 
Roger:


Probablement trop rapide, tu aurais dû étudier un peu. :-)

Vous sauriez alors que vous achetez à la demande et vendez à l'offre. Si nous les vendions, leur prix serait inférieur à leur prix d'offre.


Non, c'est juste le contraire de ce que vous avez écrit. Bien sûr, merci de votre attention. J'ai réfléchi, j'ai compris de toutes les façons possibles, et vous avez tort.

En général, je vois que le problème ne se situe pas dans les Aks et les Bids, et je ne l'ai pas résolu.

 
Dimka-novitsek:

Désolé, je suis avec le mien aussi. Ici, j'ai juste égrené le code et ça ne marche pas.

//+------------------------------------------------------------------+
//| type de commande.mq4 |
//| Droits d'auteur © 2011, MetaQuotes Software Corp.
//| http://www.metaquotes.net |
//+------------------------------------------------------------------+
#property copyright "Copyright © 2011, MetaQuotes Software Corp.
#lien de propriété "http://www.metaquotes.net"

//+------------------------------------------------------------------+
//| fonction d'initialisation de l'expert |
//+------------------------------------------------------------------+
int init()
{
//----

//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| fonction de désinitialisation des experts |
//+------------------------------------------------------------------+
int deinit()
{
//----

//----
retour(0) ;
}
//+------------------------------------------------------------------+
//| fonction de démarrage de l'expert |
//+------------------------------------------------------------------+
double New_Time=0,razniza, r;int i=0,h=0,q=0,w=0,s=0,g=0 ;
int start()
{int M,Y ;
//----
double ticket,Lots=0.2,fractal_u=Ask,TakeProfit=50,Points = MarketInfo (Symbol(), MODE_POINT) ;
//----
si (i<10)
{
ticket=OrderSend(Symbol(),OP_BUYSTOP,Lots,fractal_u+5*Points,3,0,fractal_u+5*Points+TakeProfit*Points,
"open a position",163899,0,Red);if (New_Time==0){ New_Time = Time[0];} Alert("New_Time",New_Time);i++ ; }
Alert("OrderTypeOP_BUYSTOP",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES ) ;
OrderClose( ticket,Lots,Bid,5, 0 ) ;



si (h<10)
{
ticket=OrderSend(Symbol(),OP_SELLSTOP,Lots,fractal_u-5*Points,3,0,fractal_u-5*Points+TakeProfit*Points,
"open a position",163899,0,Red);if (New_Time==0){ New_Time = Time[0];} Alert("New_Time",New_Time);h++ ; }
Alert("OrderTypeOP_SELLSTOP",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES ) ;
OrderClose( ticket,Lots,Ask,5, 0 ) ;

si (q<10)
{
ticket=OrderSend(Symbol(),OP_BUY,Lots,Bid,3,0,5*Points+TakeProfit*Points,
"open a position",163899,0,Red);if (New_Time==0){ New_Time = Time[0];} Alert("New_Time",New_Time) ; q++ ; }
Alert("OrderTypeOP_BUY",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES ) ;
OrderClose( ticket,Lots,Bid,5, 0 ) ;

si (w<10)
{
ticket=OrderSend(Symbol(),OP_SELL,Lots,Ask,3,0,5*Points+TakeProfit*Points,
"open a position",163899,0,Red);if (New_Time==0){ New_Time = Time[0];} Alert("New_Time",New_Time);w++ ; }
Alert("OrderTypeOP_SELL",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES ) ;
OrderClose( ticket,Lots,Ask,5, 0 ) ;

si (s<10)
{
ticket=OrderSend(Symbol(),OP_BUYLIMIT,Lots,fractal_u-5*Points,3,0,fractal_u-5*Points+TakeProfit*Points,
"ouvrir une position",163899,0,Red);if (New_Time==0){ New_Time = Time[0];} Alert("New_Time",New_Time) ; s++ ; }
Alert("OrderTypeOP_BUYLIMIT",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES ) ;
OrderClose( ticket,Lots,Ask,5, 0 ) ;

si (g<10)
{
ticket=OrderSend(Symbol(),OP_SELLLIMIT,Lots,fractal_u+5*Points,3,0,fractal_u+5*Points+TakeProfit*Points,
"ouvrir une position",163899,0,Red);if (New_Time==0){ New_Time = Time[0];} Alert("New_Time",New_Time);g++ ; }
Alert ("OrderTypeOP_SELLLIMIT",OrderType());OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES ) ;
OrderClose( ticket, Lots, Bid, 5, 0 ) ;






//----
retour(0) ;
}
//+------------------------------------------------------------------+

Je l'ai fait assez rapidement, je l'ai configuré dans le but d'obtenir une valeur numérique du type d'ordre, il ouvre et ferme tous les ordres dans une rangée, je veux dire tous les types. J'ai vérifié OrderClose avec l'instruction, les paramètres semblent être prescrits raisonnablement, correctement et à leurs places. De quoi a-t-il besoin d'autre ?????.

 

Alert("Heure actuelle jour ", iTime(NULL,PERIOD_D1,5)) ;

ça me donne 0, ajouté :

Alert("",GetLastError()) ;

donne une erreur 4054

ERR_INCORRECT_SERIESARRAY_USING4054Utilisation incorrecte du tableau des séries chronologiques

Qu'est-ce que je fais de mal ?


 

Aidez-moi, s'il vous plaît. Le code devrait supprimer tous les ordres de marché sur toutes les paires, mais en pratique, il ne supprime que ceux de la fenêtre où l'EA est lancé. Veuillez m'aider à trouver l'erreur.


void CloseAll_b(int Prosk){
string SMB=Symbol() ;
for (int i=OrdersTotal()-1;i>=0;i--){
if (!OrderSelect(i, SELECT_BY_POS, MODE_TRADES)){
Alert("Erreur ",GetLastError()," lorsque le numéro de commande est sélectionné ",OrderTicket()," par paire ",Symbol()) ;
}
else{
if(OrderSymbol()!=Symbol()){continue;}
RefreshRates() ;
if(OrderType()==OP_BUY){
if(!OrderClose(OrderTicket(),OrderLots(),Bid,Prosk,CLR_NONE)){
Alert("Error ",GetLastError(),",OrderTicket(),",Symbol()) lors de la clôture de l'ordre d'achat ;
}
}
if(OrderType()==OP_SELL){
if(!OrderClose(OrderTicket(),OrderLots(),Ask,Prosk,CLR_NONE)){
Alert("Error ",GetLastError(),{ when Sell order number is closed ",OrderTicket(),{ by pair ",Symbol()) ;
} } } } }

Merci d'avance.

 
nemo811:

Aidez-moi, s'il vous plaît. Le code devrait supprimer tous les ordres de marché sur toutes les paires, mais en pratique, il ne supprime que ceux de la fenêtre où l'EA est lancé. Veuillez m'aider à trouver l'erreur.


mais vous fixez vous-même la contrainte :))

if(OrderSymbol()!=Symbol()){continue;}

 
sergeev:

mais vous fixez vous-même la contrainte :))

if(OrderSymbol()!=Symbol()){continue;}


Je suis d'accord - stupide :)) Comment cela doit-il être ?
 
nemo811:

Je suis d'accord - stupide :)))) Quelle est la bonne méthode ?
... Vous devez juste l'enlever. Vous ne voulez pas éliminer les devises. Vous devez donc supprimer la condition.
 
Je l'ai supprimé, mais les ordres pour les autres paires ne sont toujours pas fermés. L'erreur 129 (mauvais prix) a commencé à apparaître.
 
nemo811:
Je l'ai supprimé, mais mes ordres pour d'autres paires ne sont pas fermés de toute façon. L'erreur 129 (mauvais prix) continue de s'afficher

à droite, ça s'affiche.

Vous devez prendre l'offre et la demande de la fonction MarketInfo.

comme - ask= MarketInfo(OrderSymbol(), MODE_ASK) ;

et n'oubliez pas de normaliser
ask=NormalizeDouble(ask, MarketInfo(OrderSymbol(), MODE_DIGITS))

Raison: