Domande dai principianti MQL4 MT4 MetaTrader 4 - pagina 211

 

Ciao Esperti!

Potete consigliarmi se è possibile mettere MT4 su un server VPS con sistema operativo Linux? Gli EA funzioneranno normalmente su tale MT?

 

Salve.

Fare EAs per il controllo e la gestione del rischio. Qual è il modo migliore per proibire a tutti gli EA in esecuzione di fare trading? Per esempio, per un simbolo specifico, vietiamo a tutti gli EA in esecuzione di inserire nuovi trade. Sfortunatamente, non c'è il codice sorgente di tutti gli EA in esecuzione e non c'è modo di usare le variabili globali.

 

odyn:

con un sistema operativo Linux?

Mikhail lavora su Linux. Mandagli un'email a https://www.mql5.com/ru/users/nikelodeon

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

Buona sera!

Per favore, aiutatemi con la seguente domanda:

Devi sapere quante candele hanno chiuso soprala media mobile e quante sotto.

Per esempio: se 20 candele hanno chiuso sopra la media mobile con un periodo di 20, allora fate qualcos'altro, se sotto.

Grazie!

Moving Average of Oscillator (OsMA)
Moving Average of Oscillator (OsMA)
  • www.mql5.com
On Balance Volume (OBV) Индикатор Балансового Объема (On Balance Volume, OBV) связывает объем и изменение цены, сопровождавшее данный объем. Momentum Индикатор движущей силы рынка (Momentum) измеряет величину изменения цены финансового инструмента за определенный...
 
leonerd:
Qual è il modo giusto per bandire tutti gli EA in esecuzione dal trading?

Se non puoi cambiare il codice EA, allora disabilita l'auto-trading. Ecco il codice, non il mio:

#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:

Devi scoprire quante candele hanno chiuso soprala media mobile e quante sotto.

1. Decidete voi stessi da quale punto volete contare.

2. Crea una matrice con due elementi.

3. Aggiungete uno ad ogni candela all'elemento di destra.

4. Decidi quando vuoi smettere di contare.


Una media mobile è una coda in ritardo del prezzo. Il profitto non vive lì.

 
Aleksei Stepanenko:

1. Decidete voi stessi da quando volete contare.

2. Crea una matrice con due elementi.

3. Aggiungete uno ad ogni candela all'elemento di destra.

4. Decidi quando vuoi smettere di contare.


Una media mobile è una coda in ritardo del prezzo. Il profitto non vive lì.

Aleksei, grazie!

Potresti dirmi dove aggiungere gli array e uno per farlo funzionare?

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
      }
      
     } 
     




 

È ancora meglio fare una struttura

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

non dimenticare di azzerare gli elementi prima di iniziare a usarli

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

e poi aumentare il conteggio dove necessario

count.up++;

//или
count.dn++;

poi confrontare

if(count.up>10)
   {

   }
Ora hai fatto un giro intorno alle 10 candele precedenti su ogni nuova candela. Questo non è razionale. Dovreste sempre sbarazzarvi dei cicli inutili ricordando i risultati dei calcoli dei valori precedenti. Nel tuo caso, quando arriva una nuova candela, basta aumentare il conteggio quando la condizione è soddisfatta, e se la condizione non è soddisfatta, allora sottrarlo. E controllare se non c'è eccesso. Il tuo ciclo per 10 elementi non è necessario, solo quello principale.
 
Aleksei Stepanenko:

Se non puoi cambiare il codice EA, allora disabilita l'auto-trading. Ecco il codice, non il mio:

Grazie. Questo codice disabiliterà l'auto-trading per uno specifico EA collegato al grafico specificato? O l'autotrading generale nel terminale?

 

Tutto il commercio, questo pulsante:


Motivazione: