Toute question des nouveaux arrivants sur MQL4 et MQL5, aide et discussion sur les algorithmes et les codes. - page 1676

 
Alexey Viktorov #:

Si vous devez fermer 0,3 puis 0,7 du 1er lot, il est plus facile d'ouvrir deux ordres avec des takeoffs différents.

Ce n'est pas pratique, dans mon système de scalp, vous devez suivre activement et tactiquement les transactions. + il peut y avoir des impulsions, et ouvrir de différentes fenêtres ou changer beaucoup de choses en quelques secondes est une telle activité :) Il est plus facile d'ouvrir un lot, puis de le réparer partiellement. Mais ne pas fixer manuellement, mais par des niveaux de prix donnés (prix). Si vous travaillez avec 3 Takei, vous devrez jouer du piano pour ouvrir les marchés.
 
TranceFM #:
Ce n'est pas pratique, dans mon système de scalp, il faut être activement tactique pour accompagner les transactions. + il peut y avoir des impulsions, et ouvrir de différentes fenêtres ou changer de lot en quelques secondes est une telle activité :) Il est plus facile d'ouvrir un lot, puis de le réparer partiellement. Mais ne pas fixer manuellement, mais par des niveaux de prix donnés (prix). Si vous travaillez avec 3 Takei, vous devrez jouer du piano lors de l'ouverture des transactions.
Commandez ensuite un conseiller expert
 
MakarFX #:
Alors commandez un conseiller.

Il n'y en a donc pas de toutes faites ? Ok. (gloussements) Combien coûterait une chouette comme celle-ci ?

 

Dans le script.

#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//обьявим класс
class Сleaner
 {
 public:     

         Сleaner() { Alert("Конструктор");
          }
           ~Сleaner() { Alert("Деструктор"); }
  void come(int &array[],int &re[]){ 
        int AS=ArraySize(array);
        int n=0;    
  for(int i=0; i<AS; i++) {
    if(ArraySearch(re, array[i])==-1) {
      n++;
      ArrayResize(re,n);
      re[n-1]=array[i];
     }
   }
 }
 void sleep() { Sleep(1000); }
private:
          int ArraySearch(int& m[], int e)
       {
        for(int i=0; i<ArraySize(m); i++) {
        if(m[i]==e) return(i);
//        Print(" e =",e,", ArraySize(m) =",ArraySize(m)," ,m[i] =",m[i]," ,i =",i );
       }
  return(-1);
    }
 };
Сleaner pi;
int arr[]= {6,4,6,7,9,65,66,2,2,9,7,7};
int res[];
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
  
  pi.come(arr,res);
  pi.sleep();
  for(int z=0;z<ArraySize(res);z++)
  Print(res[z]);
   
  }
//+------------------------------------------------------------------+

fonctionne correctement.

2021.10.14 17:24:29.321 Eye_12 GBPUSD,M5 : Alerte : Destructeur

2021.10.14 17:24:29.321 Eye_12 GBPUSD,M5 : raison d'uninit 0

2021.10.14 17:24:29.321 Eye_12 GBPUSD,M5 : 2

2021.10.14 17:24:29.321 Eye_12 GBPUSD,M5 : 66

2021.10.14 17:24:29.321 Eye_12 GBPUSD,M5 : 65

2021.10.14 17:24:29.321 Eye_12 GBPUSD,M5 : 9

2021.10.14 17:24:29.321 Eye_12 GBPUSD,M5 : 7

2021.10.14 17:24:29.321 Eye_12 GBPUSD,M5 : 4

2021.10.14 17:24:29.321 Eye_12 GBPUSD,M5 : 6

2021.10.14 17:24:28.209 Oeil_12 GBPUSD,M5 : initialisé

2021.10.14 17:24:28.209 Eye_12 GBPUSD,M5 : Alerte : Constructeur

Les répétitions sont supprimées du tableau. In owt, if array.

int arr[]= {6,4,6,7,9,65,66,2,2,9,7,7};

est dynamique et qu'il augmente, fonctionne aussi correctement, mais s'il diminue, il commence à mentir.

 

Je ne sais pas à quel point j'ai reproduit fidèlement

#property copyright "Copyright 2019, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
//обьявим класс
class Сleaner
 {
 public:     

         Сleaner() { Alert("Конструктор");
          }
           ~Сleaner() { Alert("Деструктор"); }
  void come(int &array[],int &re[]){ 
        int AS=ArraySize(array);
        int n=0;    
  for(int i=0; i<AS; i++) {
    if(ArraySearch(re, array[i])==-1) {
      n++;
      ArrayResize(re,n);
      re[n-1]=array[i];
     }
   }
 }
 void sleep() { Sleep(1000); }
private:
          int ArraySearch(int& m[], int e)
       {
        for(int i=0; i<ArraySize(m); i++) {
        if(m[i]==e) return(i);
//        Print(" e =",e,", ArraySize(m) =",ArraySize(m)," ,m[i] =",m[i]," ,i =",i );
       }
  return(-1);
    }
 };
Сleaner pi;
int arr[]= {6,6,2};
int res[];
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {

   arr[0]= 6;
   arr[1]= 6;

  pi.come(arr,res);
//  pi.sleep();
  for(int z=0;z<ArraySize(res);z++)
  Print(res[z]);
   
  }
//+------------------------------------------------------------------+

mais c'est exactement le résultat dans le hibou

2021.10.14 21:11:34.802 Oko_12 GBPUSD,M5 : Alerte : Destructeur

2021.10.14 21:11:34.802 Oeil_12 GBPUSD,M5 : raison d'uninit 0

2021.10.14 21:11:34.523 Eye_12 GBPUSD,M5 : 2

2021.10.14 21:11:34.523 Eye_12 GBPUSD,M5 : 6

2021.10.14 21:11:34.523 Eye_12 GBPUSD,M5 : initialisé

2021.10.14 21:11:34.523 Eye_12 GBPUSD,M5 : Alerte : Constructeur


 
Bonjour à tous, M. le développeur expérimenté, pourriez-vous conseiller un débutant ? Je suis intéressé par le processus d'emballage de MQL4 Expert Advisor dans un fichier ex4 pour le télécharger sur le marché si j'ai un indicateur personnalisé connecté via iCustom (et l'indicateur lui-même est également connecté à un autre indicateur, et ce dernier à son tour est connecté à la bibliothèque). Je me demande s'il existe un moyen facile de transférer tous ces éléments dans un seul fichier ou dois-je tout intégrer directement dans le code de l'EA ?
 
Aleksandr Kononov un indicateur personnalisé connecté via iCustom (et l'indicateur lui-même est également connecté à un autre indicateur, et ce dernier à son tour est connecté à la bibliothèque). Je me demande s'il existe un moyen facile de transférer tous ces éléments dans un seul fichier ou dois-je tout intégrer directement dans le code de l'EA ?

doivent tout intégrer

 
Aleksandr Kononov indicateur personnalisé connecté via iCustom (l'indicateur lui-même est également connecté à un autre indicateur, et ce dernier est à son tour connecté à la bibliothèque). Je me demande s'il existe un moyen facile de transférer tous ces éléments dans un seul fichier ou dois-je tout intégrer directement dans le code de l'EA ?

Se connecter par le biais d'une ressource

 
Vitaly Muzichenko #:

Se connecter par le biais d'une ressource

Merci de lire🤜🤛
 
ENUM_POSITION_TYPE type = PositionGetInteger(POSITION_TYPE);
Pourquoi le compilateur donne-t-il l'avertissement de conversion implicite d'enum ?
Документация по MQL5: Торговые функции / PositionGetInteger
Документация по MQL5: Торговые функции / PositionGetInteger
  • www.mql5.com
PositionGetInteger - Торговые функции - Справочник MQL5 - Справочник по языку алгоритмического/автоматического трейдинга для MetaTrader 5