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

 

Hallo geschätzte Programmierer bitte helfen Sie mir, diese EA zu optimieren.



1. die automatische Eröffnung von Aufträgen.
2. wenn er + erreicht, eröffnet er einen Auftrag auf derselben Seite mit dem ursprünglichen Lot.
3. wenn er das - erreicht, kehrt er den Auftrag um (öffnet den Auftrag in der Richtung, in der er empfangen wurde).
Dateien:
 
Grüße, liebe Kollegen!
Können Sie uns mitteilen, ob dieses Problem schon einmal aufgetreten ist?
1) Getestet in MT4 co-op. Es gibt Fehler zum Auftrag modify1 im Protokoll. Was ist der Grund für den Fehler bei der Bestellung von modify1 und wie kann man ihn beheben?
2) Ich kann den EA nicht installieren und ausführen. Wenn ich den EA in das Chart-Fenster verschiebe, bleibt er entweder nicht in der oberen rechten Ecke hängen, oder er bleibt hängen, startet aber nicht. Anstelle eines Colobus ist es ein Rechteck! (Siehe Bildschirmfoto)
3) Wie installiere ich MT4 korrekt auf meinem ROSA (Linux)? Ich habe MT4 unter c/Program Files (x86)/MT4 installiert. Muss ich Dateien von c/Program Files (x86)/MT4 nach c/users/xxl/AppData/ und nach _c/users/xxl/Application Data/MetaQuotes/ kopieren? Wenn ja, welche Dateien sollte ich in den Ordnern LocalLow und Roaming ablegen und welche in den Ordnern Terminal und WebInstall?
Vielen Dank für die ausführliche Antwort! )

 

Hallo zusammen. Das ist die Quintessenz. Es gibt einen Schnittpunkt zwischen dem Alligator und dem N-Balken. Wir müssen den Winkel zwischen dem Alligator und z.B. dem Tiefpunkt des ersten Balkens von diesem Schnittpunkt aus finden. Die Schwierigkeit besteht darin, dass wir zwei unvereinbare Werte haben - die Anzahl der Balken und den Preis. Ich wollte, wie von jemandem vorgeschlagen, auf der Größe einer Zelle im Diagramm tanzen. Wenn aber die Anzahl der Balken im Quadrat proportional zur Veränderung der Skala ist, hat der Preis kein solches Verhältnis.

In diesem Zusammenhang habe ich zwei Fragen:

1. Vielleicht kennt jemand die Lösung für dieses Problem oder ist ihr schon begegnet.

2. Arbeitet der Expert Advisor mit einer bestimmten Skala des Charts oder nur mit dem Preis?

 
Alexander Dubovik:

Eine weitere Bemerkung für die Entwickler.

Die Dokumentation für das typedef-Sprachkonstrukt (wie auch für typedef selbst) ist verwirrend.

typedef char My_Char; - lässt sich nicht kompilieren.

Aus der Dokumentation:"Das Schlüsselwort typedef in C++ ermöglicht es Ihnen, benutzerdefinierte Datentypen zu erstellen .....". Entschuldigen Sie, aber WARUM verweisen Sie in der Dokumentation zu MQL auf C++, wenn MQL in Wirklichkeit nur die Deklaration von Zeigern auf Funktionen enthält?

In MQL4/5 ist typedef kastriert und dient nur zur Deklaration von Zeigern auf Funktionen und ist für nichts anderes nützlich.


typedef int (*TFunc)(int,int);

int add(int x,int y) 
{
    return(x+y); 
}

void OnStart()
{
    TFunc pfunc = add;   
    Print(pfunc(4,5));    
}
 
Alex Pirate:

Hallo zusammen!

Ich habe eine einfache EA, es ist einfach, etwas ist falsch, es gibt mir einen Fehler ... Ich möchte ein Schleppnetz anhängen, aber es lässt sich nicht einmal öffnen... es heißt, dass der Rückgabewert von 'OrderSend' überprüft werden sollte.

Warum prüft es immer noch??? was ist los??? es sieht so aus, als ob die Programmierer und diejenigen, die gut darin sind, jedem zu helfen, hier.... Schade ((!)

https://translate.google.ru/?hl=ru&tab=TT#en/ru/return%20value%20of%20'OrderSend'%20sollte%20angekreuzt%20werden

Google Переводчик
  • translate.google.ru
Бесплатный сервис Google позволяет мгновенно переводить слова, фразы и веб-страницы с английского на более чем 100 языков и обратно.
 
Alex Pirate:

Hallo zusammen!


 
Artyom Trishkin:


Danke, das ist mir bewusst... Das ist die übersetzte Frage, die ich am Ende gestellt habe... nicht das, was er sagt, frage ich mich... warum? was ist falsch mit dem Code? was habe ich falsch geschrieben?

 
Alex Pirate:

Danke, das ist mir bewusst... Das ist die übersetzte Frage, die ich am Ende gestellt habe... Ich frage mich, warum das so ist und was mit dem Code nicht stimmt.

 
Artyom Trishkin:

extern int    MA_1_Period   = 22;
extern int    MA_1_MAShift  = 1;
extern int    MA_1_Method   = 1;
extern int    MA_1_Price    = 1;
extern int    MA_1_Shift    = 0;

extern int    MA_2_Period   = 55;
extern int    MA_2_MAShift  = 1;
extern int    MA_2_Method   = 1;
extern int    MA_2_Price    = 1;
extern int    MA_2_Shift    = 0;

extern int    MA_3_Period   = 163;
extern int    MA_3_MAShift  = 1;
extern int    MA_3_Method   = 1;
extern int    MA_3_Price    = 1;
extern int    MA_3_Shift    = 0;

extern double lot           = 0.1;
extern int    TP            = 60;
extern int    SL            = 40;
extern int    Slippage      = 5;
extern int    Magic         = 888;

int timeprev;

//+------------------------------------------------------------------+
int init()
{ 
   if (Digits == 3 || Digits == 5)
   {
     TP           *= 10;
     SL           *= 10;
     Slippage     *= 10;
     
   }

   return(0); 
}
//+------------------------------------------------------------------+
int deinit() 
{
   return(0);
}
//+------------------------------------------------------------------+

int start()
{
   if (timeprev == Time[0]) return(0);
   timeprev = Time[0];
   
   double MA_1_1 = iMA(Symbol(), 0, MA_1_Period, MA_1_MAShift, MA_1_Method, MA_1_Price, MA_1_Shift);
   double MA_1_2 = iMA(Symbol(), 0, MA_1_Period, MA_1_MAShift, MA_1_Method, MA_1_Price, MA_1_Shift);
   
   double MA_2_1 = iMA(Symbol(), 0, MA_2_Period, MA_2_MAShift, MA_2_Method, MA_2_Price, MA_2_Shift);
   double MA_2_2 = iMA(Symbol(), 0, MA_2_Period, MA_2_MAShift, MA_2_Method, MA_2_Price, MA_2_Shift);
   
   double MA_3_1 = iMA(Symbol(), 0, MA_3_Period, MA_3_MAShift, MA_3_Method, MA_3_Price, MA_3_Shift);
   double MA_3_2 = iMA(Symbol(), 0, MA_3_Period, MA_3_MAShift, MA_3_Method, MA_3_Price, MA_3_Shift);
     
 //+------------------------------------------------------------------+  
 // покупаем
 
   if (CountBuy() + CountSell() == 0 && MA_1_1 > MA_1_2 && MA_2_1 > MA_2_2 && MA_3_1 > MA_3_2 )
   
      {
         OrderSend(Symbol(), OP_BUY , lot, Ask, Slippage, SL, TP, "", Magic,0, Green);
      }
// продаём
   
   if (CountBuy() + CountSell() == 0 && MA_1_1 < MA_1_2 && MA_2_1 < MA_2_2 && MA_3_1 < MA_3_2 )
   
      {
         OrderSend(Symbol(), OP_SELL, lot, Bid, Slippage, SL, TP, "", Magic,0, Red);
      }
          
   return(0);
}
//+------------------------------------------------------------------+
int CountBuy()
{
   int count = 0;
   
   for (int i = OrdersTotal() - 1; i >= 0; i --)
   {
      if (OrderSelect(i,SELECT_BY_POS, MODE_TRADES))
      {
        if (OrderSymbol() == Symbol() && OrderMagicNumber() ==  Magic && OrderType() == OP_BUY)
           count++;
      }
   }
   return(count);
}
//+------------------------------------------------------------------+
int CountSell()
{
   int count = 0;
   
   for (int i = OrdersTotal() - 1; i >= 0; i --)
   {
      if (OrderSelect(i,SELECT_BY_POS, MODE_TRADES))
      {
        if (OrderSymbol() == Symbol() && OrderMagicNumber() ==  Magic && OrderType() == OP_SELL)
           count++;
      }
   }
   return(count);
}
//+------------------------------------------------------------------+
 
Alex Pirate:

Was vergleichen Sie mit was?

   double MA_1_1 = iMA(Symbol(), 0, MA_1_Period, MA_1_MAShift, MA_1_Method, MA_1_Price, MA_1_Shift);
   double MA_1_2 = iMA(Symbol(), 0, MA_1_Period, MA_1_MAShift, MA_1_Method, MA_1_Price, MA_1_Shift);
   
   double MA_2_1 = iMA(Symbol(), 0, MA_2_Period, MA_2_MAShift, MA_2_Method, MA_2_Price, MA_2_Shift);
   double MA_2_2 = iMA(Symbol(), 0, MA_2_Period, MA_2_MAShift, MA_2_Method, MA_2_Price, MA_2_Shift);
   
   double MA_3_1 = iMA(Symbol(), 0, MA_3_Period, MA_3_MAShift, MA_3_Method, MA_3_Price, MA_3_Shift);
   double MA_3_2 = iMA(Symbol(), 0, MA_3_Period, MA_3_MAShift, MA_3_Method, MA_3_Price, MA_3_Shift);
     
 //+------------------------------------------------------------------+  
 // покупаем
 
   if (CountBuy() + CountSell() == 0 && MA_1_1 > MA_1_2 && MA_2_1 > MA_2_2 && MA_3_1 > MA_3_2 )

Wenn 0 > 0 und 0 > 0 und 0 > 0

Grund der Beschwerde: