[Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas votre chemin. Je ne peux aller nulle part sans toi. - page 745

 
artmedia70:
:) L'impatience est généralement formée dans un autre bureau... :)


Tu n'as pas besoin d'entrainer ma patience pour ça. Je suis très patient.

Désolé. J'ai juste une grosse charge de travail et je ne veux pas du tout perdre mon temps.

Et je le regrette encore plus, car l'auteur du sujet n'est probablement pas au courant. Probablement un écolier.

 
Vinin:


Il n'y a pas besoin d'entraîner ma patience pour cela. Je suis très patient.

Je suis désolé. J'ai juste une grosse charge de travail et je ne veux pas du tout perdre mon temps.

Et je le regrette encore plus, car l'auteur du sujet n'est probablement pas au courant. Probablement un écolier.

Je pense que beaucoup de gens se rendent compte qu'être modérateur est ingrat à bien des égards. Vous faites quelque chose, vous essayez, vous mettez de l'ordre, et la liste des mécontents ne diminue pas. Les gens...
Désolé pour les offtops.
ZS. Ma fille est une écolière et elle comprend beaucoup de choses... :)
 
FoxUA:

Il ouvre toujours cet ordre dans un lot.
Voici comment je règle les variables dans mon conseiller expert.
et voici l'ordre d'ouverture

Il est difficile de ne pas être d'accord avec artmedia70 au sujet de la disposition de votre code. Il est très difficile à lire, il faut le regarder longtemps pour comprendre quoi que ce soit, et il faut ensuite mettre correctement les parenthèses, les espaces et les retraits. Faites attention à votre style et évitez le chaos dans l'écriture du code, même s'il est composé de différents blocs, de différents auteurs. Vous devez le rassembler en un seul, votre propre style, afin qu'il soit plus facile de travailler avec lui à l'avenir et de le moderniser.

//+------------------------------------------------------------------+
extern int TakeProfit=18;
extern int StopLoss=18;
extern double Lot=1;
extern int StartTime=0;
//+------------------------------------------------------------------+
int Today=0;
int h=10;
int h1=26;
int mag=777;
bool b=0,s=0, //соответственно бай или селл  
bs=0,// если закрытие по стоплоссу ордера бай
ss=0,// если закрытие по стоплоссу ордера sell
bt=0,
st=0;//      то же по ТП
double bl=0,sl=0; // лоты соответсвенно для бай и селл

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start(){

   if(DayOfWeek()==0 || DayOfWeek()==6) return(0); // в выходные не работаем
   if(!IsTradeAllowed()) return(0); // пропустим тик если терминал занят
   int total = OrdersTotal();
   
   if(total == 0){
      NewOrder1(OP_BUY,Lot);
      NewOrder1(OP_SELL,Lot);
      NewOrder1(OP_BUYLIMIT,Lot);
      NewOrder1(OP_SELLLIMIT,Lot);
      NewOrder1(OP_BUYSTOP,Lot);
      NewOrder1(OP_SELLSTOP,Lot);
      Today=TimeDay(TimeCurrent());
   }
   
   for(int cnt=OrdersHistoryTotal();cnt>0;cnt--){
      OrderSelect(cnt, SELECT_BY_POS, MODE_HISTORY);
      if(OrderMagicNumber()== mag && OrderSymbol()==Symbol()){
         if(OrderType() == OP_BUY ){
            b=1;
            if(OrderClosePrice()==OrderTakeProfit())bt=1;
            if(OrderClosePrice()==OrderStopLoss())bs=1;
            bl=OrderLots()*100;
            break;
         }
         if(OrderType() == OP_SELL){
            s=1;
            if(OrderClosePrice()==OrderTakeProfit())st=1; 
            if(OrderClosePrice()==OrderStopLoss())ss=1;
            sl=OrderLots()*100;
            break;
         }
      }
   }

   if(bs==1||bl==1){   
      NewOrder1(OP_BUYLIMIT,Lot);
      Today=TimeDay(TimeCurrent());
   }
}    
//+------------------------------------------------------------------+
//| NewOrder1 function                                               |
//+------------------------------------------------------------------+
int NewOrder1(int Cmd,double Lot){
   double TP=0; //тейкпрофит
   double SL=0; //стоплосс
   double PR=0; //Цена
   double LT=0; //Лот
   int tic1;
   
   while(!IsTradeAllowed()) Sleep(100);
   
   if(Cmd==OP_BUYLIMIT){
      PR=Ask-Point*h;
      if(TakeProfit>0)TP=PR+TakeProfit*Point;
      if(StopLoss>0)SL=PR-StopLoss*Point;
      if(Lot>0)LT=3*Lot;
      
       tic1 = OrderSend(Symbol(),Cmd,LT,PR,3,SL,TP,0,mag,0,CLR_NONE);   
   }
   
   if(tic1<0)Print(GetLastError());

   if(tic1>0){
      b=0;s=0; //соответственно бай или селл  
      bs=0;// если закрытие по стоплоссу ордера бай
      ss=0;// если закрытие по стоплоссу ордера sell
      bt=0;
      st=0;//      то же по ТП
      bl=0;sl=0; // лоты соответсвенно для бай и селл
   }
   
   return(tic1);
}
//+------------------------------------------------------------------+

Je l'ai essayé dans le testeur, il semble n'ouvrir qu'un seul ordre en attente (BUYLIMIT), mais je ne sais vraiment pas ce qu'il devrait faire d'autre et dans quelles circonstances.

 
ToLik_SRGV:

Il est difficile de ne pas être d'accord avec artmedia70 au sujet de la disposition de votre code. Il est très difficile à lire, il faut le regarder longtemps pour comprendre quoi que ce soit, et puis il faut mettre les parenthèses, les espaces, les retraits correctement. Veillez à votre style et évitez le chaos dans l'écriture du code, même s'il est composé de différents blocs, de différents auteurs. Appliquez un seul style, le vôtre, afin qu'il vous soit plus facile par la suite de travailler avec lui et de le moderniser.

Je l'ai essayé dans le testeur, il semble n'ouvrir qu'un seul ordre en attente (BUYLIMIT), mais je ne sais vraiment pas ce qu'il devrait faire d'autre et dans quelles circonstances.

Anatoly ! Bravo ! Je commençais à penser que je devais tout abandonner et commencer à nettoyer. Même un simple coup d'œil à l'apparence du code donne à réfléchir... ...et surtout, il ne fatigue pas l'œil et ne le repousse pas. Respect !
 

Comment calculer le montant des trades perdants récents ! !!

Merci...

 
itum:

Comment calculer le montant des derniers trades perdants ! !!

Merci...

Combien de récents ? ... exactement en grammes... :)

Faites une boucle sur les ordres fermés du terminal, vérifiez le profit de l'ordre et, s'il est négatif, augmentez le compteur du nombre d'ordres perdants fermés, ou, si vous avez besoin du montant en argent, et non du nombre d'ordres perdants, alors ajoutez son profit (qui est négatif) à la dernière valeur de la variable double, où vous avez stocké le montant des pertes en argent...

 
artmedia70:

On doit en avoir vraiment besoin... :) Ou ma souris est coincée...

Dossier d'emplacement MT4/logs

Dossier d'emplacement des MT4\tester\logs

Je l'ai juste ici :

D:\Program Files\MetaTrader - E-Global TFG account-1654729/logs

D:\Program Files\MetaTrader - E-Global TFG account-1654729\tester\logs


Merci beaucoup pour la réponse, et toutes mes excuses pour les nombreux messages du même type, je voulais faire le nettoyage moi-même mais j'ai été pris par le marché aujourd'hui. Merci encore à tous.
 
LAIT123:
Merci beaucoup pour la réponse, et toutes mes excuses pour les nombreux messages du même type, je voulais faire le nettoyage moi-même mais j'ai été pris par le marché aujourd'hui. Merci encore à tous.
Tu devras aller à Victor pour t'incliner... :) Je plaisante... Il comprend tout...
 
Bonjour à tous ! Chers artmedia70, drknn, Abzasc, avant-hier, en suivant vos conseils, j'ai déposé le fichier de police Wingdings manquant dans le dossier Windows et dans le terminal, Fractals est apparu normalement. Merci beaucoup à vous tous. Salutations Furkat.
 
trader265:
Bonjour à tous ! Chers artmedia70, drknn, Abzasc, avant-hier, en suivant vos conseils, j'ai déposé le fichier de police Wingdings manquant dans le dossier Windows et dans le terminal, Fractals est apparu normalement. Merci beaucoup à vous tous. Salutations Furkat.
Vous êtes les bienvenus. Ce n'était pas difficile à deviner, et puis c'est une question de technique... :)