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

 

c'est que .... ?

  const bool TradeTime = (TimeCurrent() % (24 * 60 * 60) < D'1970.01.01 23:50'); // exclude swaps
  
  if (TradeTime && (IntAsk - IntBid < Limit))
et la mienne ?
 
Renat Akhtyamov:

c'est ....

Forum sur le trading, les systèmes de trading automatisés et les tests de stratégie

Testeur MT4 VS Testeur MT5

fxsaber, 2017.05.08 11:28

Je ne vais pas discuter. Je demande aux membres du forum qui connaissent bien MQL4 de jeter un coup d'œil à cette courte source et d'expliquer ce que signifie Renat.

Je me trompe probablement, mais je ne vois pas d'où vient le travail sur l'historique dans MT4 à l'aveuglette. Aidez-moi, s'il vous plaît.
 
fxsaber:
Re-croiser les mandats dans les années 70, pourquoi ?
 
Renat Akhtyamov:

Pouvez-vous me dire quelle fonction vérifie le statut de cette case à cocher ?

ok. Si nous ne disons rien, alors c'est la même chose que dans la documentation :

Пример проверки:

if (!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED)) 
   Alert("Проверьте в настройках терминала разрешение на автоматическую торговлю!");

 
Проверка разрешения на торговлю для данного запущенного эксперта/скрипта

При запуске программы можно разрешить или запретить автоматическую торговлю конкретно для нее. Для этого есть отдельная специальная настройка в свойствах программы.

MQL_TRADE_ALLOWED

Пример проверки:

   if(!TerminalInfoInteger(TERMINAL_TRADE_ALLOWED))
      Alert("Проверьте в настройках терминала разрешение на автоматическую торговлю!");
   else
     {
      if(!MQLInfoInteger(MQL_TRADE_ALLOWED))
         Alert("Автоматическая торговля запрещена в свойствах программы для ",__FILE__);
     }

 
Проверка разрешения на торговлю любым экспертам/скриптам для данного счета

Запрет на автоматическую торговлю может быть установлен на стороне торгового сервера. Пример проверки такой ситуации:

   if(!AccountInfoInteger(ACCOUNT_TRADE_EXPERT))
      Alert("Автоматическая торговля запрещена для счета ",AccountInfoInteger(ACCOUNT_LOGIN),
      " на стороне торгового сервера");

Если для торгового счета запрещена автоматическая торговля, то торговые операции из экспертов/скриптов выполняться не будут.
Проверка разрешения торговли для данного счета

Возможны случаи, когда для конкретного торгового счета запрещены любые торговые операции – нельзя торговать ни вручную, ни с помощью экспертов. Пример проверки ситуации, когда к торговому счету подключились с помощью инвесторского пароля:

   if(!AccountInfoInteger(ACCOUNT_TRADE_ALLOWED))
      Comment("Торговля запрещена для счета ",AccountInfoInteger(ACCOUNT_LOGIN),
            ".\n Возможно, подключение к торговому счету произведено по инвест паролю.",
            "\n Проверьте журнал терминала, есть ли там такая запись:",
            "\n\'",AccountInfoInteger(ACCOUNT_LOGIN),"\': trading has been disabled - investor mode.");

Pour une raison quelconque, cette case à cocher particulière s'est avérée être désactivée au bon moment, alors qu'il y a quelques minutes tout était OK !

Par conséquent, je recommande vivement d'appliquer une vérification complète sur chaque coche! !!

 

Aidez-nous avec le code de force brute, disons que nous avons des variables avec des plages : "A" de 2 à 6 avec l'étape 2, "B" de 1 à 3 avec l'étape 1, "C" de 0 à 1 avec l'étape 1 et "D" de 16 à 48 avec l'étape 4. Il est nécessaire d'organiser une énumération de paramètres, avec une variante de combinaison (variable externe - donnant accès à n'importe quelle combinaison). Comment mettre correctement en œuvre ce mécanisme ?

 
-Aleks-:

Aidez-nous avec le code de force brute, disons que nous avons des variables avec des plages : "A" de 2 à 6 avec l'étape 2, "B" de 1 à 3 avec l'étape 1, "C" de 0 à 1 avec l'étape 1 et "D" de 16 à 48 avec l'étape 4. Il est nécessaire d'organiser une énumération de paramètres, avec une variante de combinaison (variable externe - donnant accès à n'importe quelle combinaison). Comment mettre correctement en œuvre ce mécanisme ?


Un petit script

//+------------------------------------------------------------------+
//|                                                       Decode.mq4 |
//|                                            Copyright 2017, Vinin |
//|                                             http://vinin.ucoz.ru |
//+------------------------------------------------------------------+
#property copyright "Copyright 2017, Vinin"
#property link      "http://vinin.ucoz.ru"
#property version   "1.00"
#property strict
#property script_show_inputs
//--- input parameters
input int N=162;  //0..162
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
   for (int n=0;n<N;n++)
   {
      int tmp=n;
      int a=MathMod(tmp,3);
      tmp=(tmp-a)/3;
      int b=MathMod(tmp,3);
      tmp=(tmp-b)/3;
      int c=MathMod(tmp,2);
      tmp=(tmp-c)/2;
      int d=tmp;
   
      Print("N=",n,"; A=", 2+2*a, "; B=", b+1,"; C=",c,"; D=", 16+4*d);
   }
  }
//+------------------------------------------------------------------+

 
Victor Nikolaev:


Un petit script

Ce script suspend le terminal, après quoi le vent le tue.

 
-Aleks-:

Ce script suspend le terminal, après quoi le vent le tue.


Donc quelqu'un n'a pas de chance. Encore une fois. Il s'agit d'un script, pas d'un EA ou d'un indicateur.
 
Victor Nikolaev:

Un petit script

Il pourrait être deux fois plus petit si vous supprimiez les lignes totalement inutiles.

Pourquoi beaucoup de gens postent-ils dans le code source des chapeaux du forum, des diverses constructions de commentaires, des logotypes, etc.

Raison: