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

 
tuner:

Les amis, pourriez-vous me dire comment convertir un double en int ?

MatRound et les autres fonctions d'arrondi renvoient, bizarrement, Double. Et si la variable int est assignée à la fonction MatRound, le compilateur génère beaucoup d'avertissements du genre

double d = 123.456;
int i = int(d);
 
tuner:

Les amis, pourriez-vous me dire comment convertir un double en int ?

MatRound et les autres fonctions d'arrondi renvoient, bizarrement, Double. Et si la variable int est assignée à la fonction MatRound, le compilateur génère beaucoup d'avertissements du genre



Utiliser une conversion de type explicite.
 
tuner:

Pourriez-vous me dire comment convertir un double en int ?

MatRound et les autres fonctions d'arrondi renvoient, bizarrement, Double. Et si la variable int est assignée à la fonction MatRound, le compilateur génère beaucoup d'avertissements du genre




Conversion des types numériques
 

Zhunko, Contender, r772ra

Merci ! Cela a aidé :)

 

Exige la sortie d'un message texte copiable contenant un ensemble de lignes avec des informations sur la dernière commande.

MessageBox() ne semble pas permettre la sélection et la copie de texte.

J'ai essayé d'utiliser ObjectCreate() pour créer le type OBJ_EDIT, mais le saut de ligne '\n' ne fonctionne pas ici, il est affiché comme un carré et sur une seule ligne.

La seule chose est que Alert() dans l'en-tête sort avec des sauts de ligne comme je le souhaite et le texte est mis en évidence, mais le journal des messages avec l'heure ci-dessous est inutile pour moi.

Est-ce que quelqu'un a rencontré ce problème, comment peut-on afficher un message sur plusieurs lignes et le copier en plus d'Alert ?

 
pu6ka:

Requiert une sortie de message texte copiable contenant un tas de lignes avec des informations sur la dernière commande.

MessageBox() ne semble pas permettre la sélection et la copie de texte.

J'ai essayé d'utiliser ObjectCreate() pour créer le type OBJ_EDIT, mais le saut de ligne '\n' ne fonctionne pas ici, il est affiché comme un carré et sur une seule ligne.

La seule chose est que Alert() dans l'en-tête sort avec des sauts de ligne comme je le souhaite et le texte est mis en évidence, mais le journal des messages avec l'heure ci-dessous est inutile pour moi.

Est-ce que quelqu'un a rencontré ce problème, comment peut-on afficher un message sur plusieurs lignes et le copier en plus d'Alert ?

Permet --> Ctrl-C.
 
Zhunko:
Permet --> Ctrl-C.


Ça a marché.

Il ne permet pas la sélection, comme dans Alert ci-dessus dans la capture d'écran, à cause de cela je n'ai pas pensé à utiliser la copie.

Cependant, il copie également le titre de l'en-tête et le mot "OK" du bouton, mais je peux le "désactiver", je vais trouver une solution.

Merci Zhunko.

 
Ce code fonctionnera-t-il pour l'ouverture des commandes ?
 if (USDCAD){
          while(Count("USDCAD")==0){
            Result[0] = OrderSend("USDCAD",OP_BUY,Lot,MarketInfo("USDCAD",MODE_ASK),slip,0,0,"USDCAD",magic[0],0,Red);
            if (Result[0]<0){
              Answer=ERRORS(GetLastError());
              if (Answer==1)continue;
              if (Answer==2)break;
            }
          }
        }


int ERRORS (int Error)  // Error - номер ошибки  
  {
  if(Error==0)
      return(0);        // Нет ошибки      
  // 4-торговый сервер занят,132-рынок закрыт,137-брокер занят
  if(Error==4||Error==132||Error==137)  
      {
      Sleep(240000);    // Пауза 240 сек.
      return(1);        // Сообщаем о преодол. ошибке
      }
  // 128,142,143 - истек срок ожидания и т.д.
  if(Error==128||Error==142||Error==143) 
      {      
      Sleep(60000);     // Пауза 60 сек.
      return(1);        // Сообщаем о преодол. ошибке 
      }    
  // 135-цена изменилась,138-цена устарела
  if(Error==135||Error==138)               
      {      
      return(1);        // Сообщаем о преодол. ошибке
      }        
  // 6-нет связи,129-неправильные цены,
  // 130-неправильные стопы,136-нет цен
  if(Error==6||Error==129||Error==130||   
  Error==136||Error==137||Error==138)    
      {
      Sleep(5000);      // Пауза 5 сек. 
      return(1);        // Сообщаем о преодол. ошибке
      }
  // 146-подсистема торговли занята
  if(Error==146)               
      {      
      // Пока подсистема занята
      while(IsTradeContextBusy())
         {
         Sleep(10);     // Пауза 0.01 сек.
         }
      return(1);        // Сообщаем о преодол. ошибке
      }         
  // Критическая ошибка
  Alert("Ошибка №",Error,". Дальнейшая работа советника невозможна."); 
  return(2);          // Сообщаем о критич. ошибке
  }
 
Pourquoi différents courtiers ont-ils des résultats d'optimisation et de test différents pour le même conseiller d'un assistant standard...... tous les paramètres, y compris les fuseaux horaires des courtiers, sont identiques et les deux résultats ont été obtenus sur des comptes réels.
 
Zver4991:
Bonjour, pourquoi différents courtiers ont-ils des résultats différents pour l'optimisation et le test du même conseiller standard mashka...... tous les paramètres, y compris les fuseaux horaires des courtiers sont identiques et les deux résultats ont été effectués par des comptes réels.

Je ne sais pas pourquoi je devrais l'utiliser comme base pour tester un EA sur un compte réel et je ne sais pas comment l'utiliser sur des comptes réels.