Tutte le domande dei nuovi arrivati su MQL4 e MQL5, aiuto e discussione su algoritmi e codici - pagina 195

 
 

è che .... ?

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

questo è ....

Forum sul trading, sistemi di trading automatico e test di strategia

MT4-Tester VS MT5-Tester

fxsaber, 2017.05.08 11:28

Non ho intenzione di discutere. Chiedo ai membri del forum che hanno familiarità con MQL4 di dare un'occhiata a questa breve fonte e spiegare cosa significa Renat.

Probabilmente mi sbaglio, ma non riesco a capire da dove viene il lavoro di cronologia in MT4 distrattamente. Per favore, aiutatemi.
 
fxsaber:
Riattraversare i mandati negli anni '70, perché?
 
Renat Akhtyamov:

Puoi dirmi quale funzione controlla lo stato di questa casella di controllo?

Ok. Se non diciamo nulla, allora è lo stesso che nella documentazione:

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

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

Per qualche ragione, questa particolare casella di controllo si è rivelata disattivata al momento giusto, anche se un paio di minuti fa era tutto OK!

Pertanto, consiglio vivamente di applicare un controllo completo su ogni spunta!!!

 

Per favore aiutatemi con il codice di forza bruta, diciamo che abbiamo variabili con intervalli: "A" da 2 a 6 con passo 2, "B" da 1 a 3 con passo 1, "C" da 0 a 1 con passo 1 e "D" da 16 a 48 con passo 4. È necessario organizzare l'enumerazione dei parametri, con la variante di combinazione (variabile esterna - che dà accesso a qualsiasi combinazione). Come implementare correttamente questo meccanismo?

 
-Aleks-:

Per favore aiutatemi con il codice di forza bruta, diciamo che abbiamo variabili con intervalli: "A" da 2 a 6 con passo 2, "B" da 1 a 3 con passo 1, "C" da 0 a 1 con passo 1 e "D" da 16 a 48 con passo 4. È necessario organizzare l'enumerazione dei parametri, con la variante di combinazione (variabile esterna - che dà accesso a qualsiasi combinazione). Come implementare correttamente questo meccanismo?


Un piccolo 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 piccolo script

Questo script blocca il terminale, dopo di che il vento lo uccide.

 
-Aleks-:

Questo script blocca il terminale, dopo di che il vento lo uccide.


Quindi qualcuno è sfortunato. Ancora una volta. È uno script, non un EA o un indicatore
 
Victor Nikolaev:

Un piccolo script

Potrebbe essere grande la metà se si rimuovono le linee completamente inutili.

Perché un sacco di gente posta nel codice sorgente per i cappelli del forum, i vari costrutti di commento, i logotipi, ecc.