Toute question de débutant, afin de ne pas encombrer le forum. Professionnels, ne passez pas à côté. Nulle part sans toi - 6. - page 514

 
Mr.Profit:

Bonjour !

Comment lutter contre le message "MetaEditor not found" lors de l'édition d'une EA ? MetaTrader build 600.

Je ne me souviens pas d'un tel problème dans les anciennes versions...

Cela peut-il s'expliquer par le fait que l'ordinateur sur lequel je travaille est plutôt de faible puissance et qu'il est chargé 50-75% du temps. J'ai 7 instances MT4 qui tournent dessus, mais dans des conditions normales (c'est à dire sans charge externe comme un accès via TeamViewer et en essayant de lancer MetaEditor) ses performances sont suffisantes, et le gestionnaire de tâches qui tourne en arrière plan montre une utilisation moyenne du CPU <=45-50% pendant 15-20 min.

Ce problème ne se produit pas dans 100% des cas et MetaEditor, après avoir fait preuve d'une patience et d'une persistance peu communes, fonctionnera à chaque fois à partir de la 5ème-10ème-25ème fois. Mais c'est vraiment ennuyeux d'essayer de démarrer MetaEditor pendant une demi-heure.

Pour ce genre de questions, vous devriez consulter le fil de discussion sur la construction du 610e, où se trouvent les développeurs.
 
r772ra:



Merci.

Veuillez me conseiller, tant que vous n'avez pas mis de clôtures.

Qu'est-ce qui pourrait être simplifié ?

input int    Slippage   = 10;   // установим значение проскальзывания 
extern string ___START_SETUP_ = "---ОСНОВА---";  
input double StartLot   = 0.02; 
extern double LotMultiplicator = 1.3;
extern int N_LotMult = 2;
extern string ___STEP_SETUP_BLOK_ = "--- БЛОК УСЛОВИЙ СЕТКИ ---";
extern int Mode_Step = 1;
extern int Step = 5;
extern int StepUv_Step = 5;
extern string ___CLOSE_SETUP_BLOK_ = "--- БЛОК УСТАНОВОК ЗАКРЫТИЯ ---";
extern int TakeProfit = 40;


double z,y, lot=StartLot, count, step=Step;

  
void OnTick()
  {  
   
     int i_buy=0; int i_sell=0;
     for(int i=0;i<OrdersTotal();i++){
         if(OrderSelect(i,SELECT_BY_POS,MODE_TRADES)==true && OrderSymbol()==Symbol()){
              switch(OrderType()){// Есть ли открыте ордера
                 case OP_BUY:
                    i_buy++;
                 break;
                 case OP_SELL:
                    i_sell++;
                 break;
               }
               
              y = int((OrderOpenPrice()-Ask)/Point); 
              z = OrderLots();
              
              count++;            
          }   
     }
    
     if(LotMultiplicator > 1 && count > N_LotMult) lot = z + z/LotMultiplicator;    
     if(Mode_Step==1) step = Step + count*StepUv_Step;

     if((i_buy==0 && i_sell==0) || y >= step) //--- нет открытых ордеров, открываем
         OrderSend(Symbol(), OP_BUY,lot,Ask,Slippage,0,Ask+TakeProfit*Point(),WindowExpertName()+" "+(string)0,0,0,clrBlue);
     
       count=0;
   
 
Zolotai:


Merci.

Veuillez me conseiller, tant que vous n'avez pas mis de clôtures.

Qu'est-ce qui pourrait être simplifié ?


S'il vous plaît, apprenez à insérer le code correctement ! CTRL+ALT+M ou SRC.
 
evillive:
S'il vous plaît, apprenez à insérer le code correctement ! CTRL+ALT+M ou SRC.

C'est fait.
 
Zolotai:


Spc.

Veuillez me conseiller, tant que vous n'avez pas mis de clôtures.

Qu'est-ce qui pourrait être simplifié ?


Et il n'y a pas d'erreurs de compilation ? Et pas d'erreur d'exécution non plus ?

Décrivez d'abord ce que vous voulez obtenir, car il y a des questions sur certains endroits du code :

 y = int((OrderOpenPrice()-Ask)/Point); //подставьте в уравнение реальные цены
if((i_buy==0 && i_sell==0) || y >= step) //--- нет открытых ордеров, открываем открывает позицию всегда когда y >= step, а это будет практически всегда по формуле выше, за исключением коридора шириной в "step"
 
evillive:

Et il n'y a pas d'erreurs de compilation ? Et aucune erreur d'exécution non plus ?

Tout d'abord, décrivez ce que vous voulez obtenir, car il y a des questions sur certains endroits du code :




Y a-t-il quelque chose qui pourrait être simplifié. Peut-être quelques variables supplémentaires... Tout ce que j'ai maintenant, c'est l'ouverture par étapes, l'augmentation du lot et c'est tout. Je n'ai pas encore besoin de TP. Est-il possible de le rendre un peu plus simple, moins de code...
 
Il y en a beaucoup ? Il n'y a rien à simplifier là, au contraire, il faut l'aggraver ;)))
 
evillive:
Il y en a beaucoup ? Il n'y a rien à simplifier là, au contraire, il faut l'aggraver ;)))

Merci. Pourriez-vous suggérer une fonction. Si je veux placer un ordre stop et un ordre d'enlèvement avec le dernier ordre, alors le premier ordre sera moyenné. L'avant-dernier ordre avec le premier et ainsi de suite. Comme si nous allions au milieu...
 
Je suis sûr qu'il y a beaucoup de net-citoyens dans la kodobase - des moyens, des martins, des anti-martins, pour tous les goûts.
 
evillive:
Je suis sûr qu'il y a beaucoup de net-citoyens dans la kodobase - des moyens, des martins, des anti-martins, pour tous les goûts.

Oui, mais, tu sais. Tu dois fouiller dans les codes des autres. Ce que je ne comprends pas, et ça prend beaucoup de temps Pour le savoir.
Raison: