Cualquier pregunta de los recién llegados sobre MQL4 y MQL5, ayuda y discusión sobre algoritmos y códigos - página 195

 
 

es que .... ?

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

esto es ....

Foro sobre comercio, sistemas de comercio automatizados y pruebas de estrategias

MT4-Tester VS MT5-Tester

fxsaber, 2017.05.08 11:28

No voy a discutir. Pido a los miembros del foro que estén familiarizados con MQL4 que miren esta breve fuente y expliquen lo que significa Renat.

Probablemente me equivoque, pero no veo de dónde sale el trabajo del historial en MT4 de forma distraída. Por favor, ayuda.
 
fxsaber:
Volver a cruzar las órdenes a los años 70, ¿por qué?
 
Renat Akhtyamov:

¿Puede decirme qué función comprueba el estado de esta casilla?

Bien. Si no decimos nada, entonces es lo mismo que en la documentación:

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

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.");

Por alguna razón, esta casilla en particular resultó estar desactivada en el momento justo, aunque hace un par de minutos todo estaba bien.

¡¡¡Por lo tanto, recomiendo encarecidamente que se aplique una comprobación completa en cada garrapata!!!

 

Por favor, ayuda con el código de fuerza bruta, digamos que tenemos variables con rangos: "A" de 2 a 6 con paso 2, "B" de 1 a 3 con paso 1, "C" de 0 a 1 con paso 1 y "D" de 16 a 48 con paso 4. Es necesario organizar la enumeración de parámetros, con la variante de la combinación (variable externa - que da acceso a cualquiera de las combinaciones). ¿Cómo aplicar correctamente este mecanismo?

 
-Aleks-:

Por favor, ayuda con el código de fuerza bruta, digamos que tenemos variables con rangos: "A" de 2 a 6 con paso 2, "B" de 1 a 3 con paso 1, "C" de 0 a 1 con paso 1 y "D" de 16 a 48 con paso 4. Es necesario organizar la enumeración de parámetros, con la variante de la combinación (variable externa - que da acceso a cualquiera de las combinaciones). ¿Cómo aplicar correctamente este mecanismo?


Un pequeño guión

//+------------------------------------------------------------------+
//|                                                       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 pequeño guión

Este script cuelga el terminal, tras lo cual el viento lo mata.

 
-Aleks-:

Este script cuelga el terminal, tras lo cual el viento lo mata.


Así que alguien no tiene suerte. Una vez más. Es un script, no un EA o indicador
 
Victor Nikolaev:

Un pequeño guión

Podría ser la mitad del tamaño si se eliminan las líneas completamente innecesarias.

¿Por qué mucha gente publica en el código fuente de los sombreros del foro, diversas construcciones de comentarios, logotipos, etc.?