Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 1395

 

SanAlex:

Ich vermute, dass nicht jeder versteht, worüber wir sprechen. - Der Gewinn ist eine Sache - aber die Gewinne sind bei jedem Paar unterschiedlich.

Aus diesem Grund muss der Expert Advisor für jedes Paar installiert werden.

Sie müssen nicht alle Karten herunterladen.

//+--------------------------------------------------------------------------------------------------------------------+
//| Expert tick function                                                                                               |
//+--------------------------------------------------------------------------------------------------------------------+
void OnTick()
  {
//---
   if(Open_Pr("EURUSD")>MyProfit)DelOrders("EURUSD");
   if(Open_Pr("GBPUSD")>MyProfit)DelOrders("GBPUSD");
   //...и так все нужные пары 
//---
  }

und die Funktion zum Löschen und Schließen von Aufträgen ergänzen

//+--------------------------------------------------------------------------------------------------------------------+
//| Функция удаления и закрытия ордеров                                                                                |
//+--------------------------------------------------------------------------------------------------------------------+
void DelOrders(string sy="")
  {
   while(true)
     {
      bool find_order=false;
      //----
      if (sy == "0") sy = Symbol();
      for(int pos=OrdersTotal()-1;pos>=0;pos--)
      if(OrderSelect(pos,SELECT_BY_POS)==true)
      if(OrderSymbol() == sy || sy == "")
        {
         find_order=true;
         //----
         if(OrderType()==OP_BUY)
           {
            RefreshRates(); int slip=(int)(((Ask-Bid)/Point)*2);
            if(OrderClose(OrderTicket(),OrderLots(),Bid,slip,clrBlue)==false){}
           }
         //----
         if(OrderType()==OP_SELL)
           {
            RefreshRates(); int slip=(int)(((Ask-Bid)/Point)*2);
            if(OrderClose(OrderTicket(),OrderLots(),Ask,slip,clrRed)==false){}
           }
         //----
         if(OrderType()==OP_BUYSTOP || OrderType()==OP_BUYLIMIT)
         if(OrderDelete(OrderTicket(),clrRed)==false){}
         //----
         if(OrderType()==OP_SELLSTOP || OrderType()==OP_SELLLIMIT)
         if(OrderDelete(OrderTicket(),clrBlue)==false){}
         Alert("Все ордера закрыты!");
        } 
      if(find_order==false) Alert("Нет ордеров!");break;
     } 
  }
 
MakarFX:

Sie müssen nicht alle Diagramme herunterladen, sondern nur ein Diagramm einfügen und den Code eingeben

und die Funktion zum Löschen und Schließen von Aufträgen ergänzen

Wie wäre es mit einem Signal zum Öffnen?

 
SanAlex:

Und die Eröffnungssignale?

Was soll das heißen?
 
MakarFX:
Wie meinen Sie das?

diese Funktionen sind Hilfsfunktionen - und damit ein Experte richtig arbeiten kann, muss er auch die

 
SanAlex:

Diese Funktionen sind Hilfsfunktionen - damit ein Expert Advisor richtig funktioniert, sollte er auch die

Ursprünglich lautete die Frage: "Wer hat eine Funktion zum Schließen von Aufträgen in bestimmten Währungen nach dem Gesamtgewinn"?

Die Erstellung eines vollwertigen Expert Advisors kam nicht in Frage)))

 
MakarFX:

Die ursprüngliche Frage lautete: "Wer hat die Aufgabe, Aufträge für bestimmte Währungen nach dem Gesamtgewinn zu schließen".

Die Erstellung eines vollwertigen Expertenberaters stand nicht zur Debatte)))

Diese Funktion funktioniert bei Ihnen nicht! Vielleicht funktioniert sie bei Gesamtgewinnen? - Wenn ja, handelt es sich um unterschiedliche Funktionen

Der Snapshot wird nicht geschlossen

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

Ich frage mich, wie sein Gewinn aussehen wird - Eröffnung hier und dort auf 2 Paare

Ich habe gerade seinen Code gesehen - so wird er geöffnet.

 
SanAlex:

Nun, diese Funktion funktioniert bei Ihnen nicht! Vielleicht funktioniert sie nach Gesamtgewinn?

MakarFX:

Die ursprüngliche Frage lautete: "Wer hat die Aufgabe, Aufträge für bestimmte Währungen nach dem Gesamtgewinn zu schließen".

 
MakarFX:

OK! Ich habe eine weitere Funktion eingebaut - Sorry!!!

 
SanAlex:

Sorry!!!

Es ist in Ordnung))) Dies ist ein Forum für alle.

 
Ich sehe, dass wir eine echte Diskussion führen. Alex, du bist auch daran beteiligt:)) Nun, Herr Programmierer, haben Sie einen Konsens? Schauen Sie, die Hauptfunktion ist es, Aufträge des gleichen Typs auf der Grundlage des Gesamtgewinns zu schließen. Es wurden 4 Positionen eröffnet, 2 auf EURUSD (Kauf und Verkauf) und 2 auf USDCHF (Kauf und Verkauf).Wenn die Kaufaufträge einen Gewinn erzielen, werden sie geschlossen, die Verkaufsaufträge werden in Ruhe gelassen oder die Verkaufsaufträge werden in Ruhe gelassen.
Grund der Beschwerde: