Questions des débutants MQL4 MT4 MetaTrader 4 - page 211

 

Salut les experts !

Pouvez-vous me dire s'il est possible de mettre MT4 sur un serveur VPS avec un système d'exploitation Linux ? Les EAs fonctionneront-ils normalement sur un tel MT ?

 

Bonjour.

Réaliser des évaluations environnementales pour le contrôle et la gestion des risques. Quelle est la meilleure façon d'interdire à tous les EAs en cours d'exécution de trader ? Par exemple, pour un symbole spécifique, nous interdisons à tous les EA en cours d'exécution d'entrer de nouvelles transactions. Malheureusement, il n'existe pas de code source de tous les EA en cours d'exécution et il n'y a aucun moyen d'utiliser des variables globales.

 

odyn:

avec un système d'exploitation Linux ?

Mikhail travaille sur Linux. Envoyez-lui un courriel à https://www.mql5.com/ru/users/nikelodeon

Mihail Marchukajtes
Mihail Marchukajtes
  • www.mql5.com
Добавил тему Целевая функция в тестере Коллеги решил выделить вопрос в отдельную тему. При оптимизации параметров советника существует ряд стандартных функций, а так же "Максимум пользовательского критерия" что позволяет производить подбор относительно собственной целевой, пусть даже Если Вы являетесь владельцем инвестиционного фонда и...
 

Bonsoir !

Veuillez m'aider à répondre à la question suivante :

Vous devez savoir combien de bougies ont clôturé au-dessus de lamoyenne mobile, et combien en dessous.

Par exemple : Si 20 chandeliers ont clôturé au-dessus de la moyenne mobile avec une période de 20, alors faites autre chose, si en dessous.

Merci !

Moving Average of Oscillator (OsMA)
Moving Average of Oscillator (OsMA)
  • www.mql5.com
On Balance Volume (OBV) Индикатор Балансового Объема (On Balance Volume, OBV) связывает объем и изменение цены, сопровождавшее данный объем. Momentum Индикатор движущей силы рынка (Momentum) измеряет величину изменения цены финансового инструмента за определенный...
 
leonerd:
Quelle est la bonne façon d'interdire à tous les EAs en cours d'exécution de faire du trading ?

Si vous ne pouvez pas modifier le code de l'EA, désactivez l'auto-trading. Voici le code, pas le mien :

#include <WinUser32.mqh>

#import "user32.dll"
// Считывает описатель оpгана упpавления, содеpжащийся в указанном блоке диалога. Возвpащаемое значение: идентификатоp оpгана упpавления; 0 - если указанный оpган упpавления не существует.
int      GetDlgItem(int hDlg,        // Блок диалога, содеpжащий оpган упpавления.
                     int nIDDlgItem); // Идентификатоp оpгана упpавления.
// Возвращает идентификатор hierarchyid, представляющий n-го предка данного элемента.
int      GetAncestor(int hWnd,      // Идентификатоp окна.
                      int gaFlags);  // Уровень окна от текущего окна (1, 2, 3...).
int      SendMessageA(int  hWnd,      // Окно, пpинимающее сообщение или $FFFF для посылки всем всплывающим окнам в системе.
                       int  Msg,       // Тип сообщения.
                       int  wParam,    // Дополнительная инфоpмация о сообщении.
                       int& lParam[]); // Дополнительная инфоpмация о сообщении.
                  
#import

void start() {
   if (IsExpertEnabled()) ExpertEnabled (false);
      else ExpertEnabled (true);
}

// Функция включения/отключения эксперта.
void ExpertEnabled (bool Switch) // TRUE - включить эксперт, FALSE - отключить эксперт.
{
  int HandlWindow = WindowHandle (Symbol(), Period()); // Системный дескриптор окна.
  int HandlMT4;        // Системный дескриптор окна МТ4.
  int HandlToolbar;    // Системный дескриптор окна инструментов.

  int    ArIntTemp[1]; // Временный массив.
  //----
  if ((Switch && !IsExpertEnabled()) || (!Switch && IsExpertEnabled()) )  {
     HandlMT4 = GetAncestor (HandlWindow, 2); 
     HandlToolbar = GetDlgItem (HandlMT4, 0x63);
     ArIntTemp[0] = HandlToolbar;
     SendMessageA (HandlMT4, WM_COMMAND, 33020, ArIntTemp);
  }
}
 
Xopb:

Vous devez trouver combien de bougies ont clôturé au-dessus de lamoyenne mobile et combien en dessous.

1. Décidez vous-même à partir de quel point vous voulez compter.

2. Créez un tableau avec deux éléments.

3. Ajoutez-en une à chaque bougie de l'élément de droite.

4. Décidez quand vous voulez arrêter de compter.


Une moyenne mobile est une queue de traîne du prix. Le profit n'y vit pas.

 
Aleksei Stepanenko:

1. Décidez vous-même à partir de quand vous voulez compter.

2. Créez un tableau avec deux éléments.

3. Ajoutez-en une à chaque bougie de l'élément de droite.

4. Décidez quand vous voulez arrêter de compter.


Une moyenne mobile est une queue de traîne du prix. Le profit n'y vit pas.

Aleksei, merci !

Pourriez-vous me dire où ajouter les tableaux et un pour que cela fonctionne ?

for(int i=1;i<=10;i++)            //допустим надо проверить 10 свечей выше или ниже МА в момент когда обратились к этому оператору
     {    
     double hig10 = iMA (NULL,PERIOD_H1,10, 0, MODE_SMA, PRICE_CLOSE, i);
      if (hig10>iClose(Symbol(),PERIOD_H1,i))
      {
    // тут выполняем - если все 10 свечей выше МА     
      }
      else
      {
     //тут выполняем - если если хотябы одна из свечей закрылась нижн MA
      }
      
     } 
     




 

Il est encore mieux de faire une structure

struct Count
   {
   int up;
   int dn;
   } count;

n'oubliez pas de mettre à zéro les éléments avant de commencer à les utiliser.

count.up=0;
count.dn=0;

et ensuite augmenter le nombre d'unités si nécessaire

count.up++;

//или
count.dn++;

puis comparer

if(count.up>10)
   {

   }
Vous avez maintenant fait une boucle autour des 10 bougies précédentes sur chaque nouvelle bougie. Ce n'est pas rationnel. Vous devez toujours vous débarrasser des cycles inutiles en vous souvenant des résultats des calculs des valeurs précédentes. Dans votre cas, quand une nouvelle bougie arrive, il suffit d'augmenter le compte quand la condition est remplie, et si la condition n'est pas remplie, alors soustrayez-le. Et vérifiez s'il n'y a pas d'excès. Votre cycle pour 10 éléments n'est pas nécessaire, seulement le principal.
 
Aleksei Stepanenko:

Si vous ne pouvez pas modifier le code de l'EA, désactivez l'auto-trading. Voici le code, pas le mien :

Merci. Ce code va-t-il désactiver l'auto-trading pour l'EA spécifique attaché au graphique spécifié ? Ou l'autotrading général dans le terminal ?

 

Tout le commerce, ce bouton :


Raison: