Fragen von Anfängern MQL4 MT4 MetaTrader 4 - Seite 211

 

Hallo Experten!

Können Sie mich bitte beraten, ist es möglich, MT4 auf VPS-Server mit Linux-Betriebssystem zu setzen? Funktionieren EAs auf einem solchen MT normal?

 

Hallo.

Durchführung von EAs für Kontrolle und Risikomanagement. Wie kann ich am besten allen laufenden EAs den Handel verbieten? Zum Beispiel verbieten wir bei einem bestimmten Symbol allen laufenden EAs, neue Geschäfte zu tätigen. Leider gibt es keinen Quellcode aller laufenden EAs und es gibt keine Möglichkeit, globale Variablen zu verwenden.

 

odyn:

mit einem Linux-Betriebssystem?

Mikhail arbeitet mit Linux. Senden Sie ihm eine E-Mail an https://www.mql5.com/ru/users/nikelodeon

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

Guten Abend!

Bitte helfen Sie mir bei folgender Frage:

Sie müssen wissen, wie viele Kerzen oberhalb und wie viele unterhalbdes gleitenden Durchschnitts geschlossen haben.

Zum Beispiel: Wenn 20 Candlesticks über dem gleitenden Durchschnitt mit einer Periode von 20 geschlossen haben, dann tun Sie etwas anderes, wenn darunter.

Ich danke Ihnen!

Moving Average of Oscillator (OsMA)
Moving Average of Oscillator (OsMA)
  • www.mql5.com
On Balance Volume (OBV) Индикатор Балансового Объема (On Balance Volume, OBV) связывает объем и изменение цены, сопровождавшее данный объем. Momentum Индикатор движущей силы рынка (Momentum) измеряет величину изменения цены финансового инструмента за определенный...
 
leonerd:
Was ist der richtige Weg, um alle laufenden EAs vom Handel auszuschließen?

Wenn Sie den EA-Code nicht ändern können, sollten Sie den automatischen Handel deaktivieren. Hier ist der Code, nicht meiner:

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

Sie müssen herausfinden, wie viele Kerzen über und wie viele unter demgleitenden Durchschnitt geschlossen haben.

1. Entscheiden Sie selbst, ab welchem Punkt Sie zählen wollen.

2. Erstellen Sie ein Array mit zwei Elementen.

3. Füge bei jeder Kerze eine Eins zum rechten Element hinzu.

4. Entscheiden Sie, wann Sie mit dem Zählen aufhören wollen.


Ein gleitender Durchschnitt ist ein nachlaufender Indikator für den Preis. Der Profit lebt nicht dort.

 
Aleksei Stepanenko:

1. Entscheiden Sie selbst, ab wann Sie zählen wollen.

2. Erstellen Sie ein Array mit zwei Elementen.

3. Füge bei jeder Kerze eine Eins zum rechten Element hinzu.

4. Entscheiden Sie, wann Sie mit dem Zählen aufhören wollen.


Ein gleitender Durchschnitt ist ein nachlaufender Indikator für den Preis. Der Profit lebt nicht dort.

Aleksei, ich danke dir!

Könnten Sie mir bitte sagen, wo man Arrays und eine hinzufügen, damit es funktioniert?

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




 

Noch besser ist es, eine Struktur zu schaffen

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

Vergessen Sie nicht, die Elemente auf Null zu setzen, bevor Sie sie verwenden.

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

und dann bei Bedarf die Anzahl erhöhen

count.up++;

//или
count.dn++;

dann vergleichen

if(count.up>10)
   {

   }
Sie haben nun bei jeder neuen Ker ze eine Schleife um die vorherigen 10 Kerzen gemacht. Das ist nicht rational. Sie sollten immer unnötige Zyklen vermeiden, indem Sie sich die Ergebnisse der Berechnungen der vorherigen Werte merken. In Ihrem Fall, wenn eine neue Kerze eintrifft, erhöhen Sie einfach den Zählerstand, wenn die Bedingung erfüllt ist, und wenn die Bedingung nicht erfüllt ist, ziehen Sie den Zählerstand ab, und prüfen Sie, ob es keinen Überschuss gibt. Ihr Zyklus für 10 Elemente wird nicht benötigt, nur der Hauptzyklus.
 
Aleksei Stepanenko:

Wenn Sie den EA-Code nicht ändern können, sollten Sie den automatischen Handel deaktivieren. Das ist der Code, nicht meiner:

Ich danke Ihnen. Wird dieser Code den automatischen Handel für den spezifischen EA deaktivieren, der mit dem angegebenen Diagramm verbunden ist? Oder allgemeiner Autotrading im Terminal?

 

Alles Handel, diese Taste:


Grund der Beschwerde: