Fragen von Anfängern MQL5 MT5 MetaTrader 5 - Seite 382

 
Bitte nennen Sie mir die Formel zur Berechnung der Losgröße einer neuen Order, damit sie bei einem tp von 10p eine Verlustorder auf 0 zurückziehen und die gewünschten 10 Pips verdienen kann.
 

Welcher Operator sollte verwendet werden, umdie Auftragsart zu bezeichnen?

Kombiniert 2 Algorithmen zu einem. (Kombinieren Sie sie, damit es keinen Konflikt von "OrdersTotal" gibt, es stellt sich heraus, dass es 1 Auftrag öffnen wird. und ich brauche 1 in jeder Richtung)

Vielen Dank im Voraus))

int start ()

{

wenn (Auftragssumme() == 0 )

OrderSend("EURUSD",OP_BUY,Lots,Ask,0,0, "11",MagicNumb,0,Red);

}

int start ()

{

wenn (Auftragssumme() == 0 )

OrderSend("EURUSD",OP_SELL,Lots,Bid,0,0, "11",MagicNumb,0,Red);

}

 
le0nid2014:

Welcher Operator sollte verwendet werden, umdie Auftragsart zu bezeichnen?

Kombiniert 2 Algorithmen zu einem. (Kombinieren Sie sie, damit es keinen Konflikt von "OrdersTotal" gibt, es stellt sich heraus, dass es 1 Auftrag öffnen wird. und ich brauche 1 in jeder Richtung)

Vielen Dank im Voraus))

int start ()

{

wenn (Auftragssumme() == 0 )

OrderSend("EURUSD",OP_BUY,Lots,Ask,0,0, "11",MagicNumb,0,Red);

}

int start ()

{

wenn (Auftragssumme() == 0 )

OrderSend("EURUSD",OP_SELL,Lots,Bid,0,0, "11",MagicNumb,0,Red);

}

Eine nach der anderen öffnen.
 
Artyom Trishkin:
Eine nach der anderen zu öffnen.

So wird es nicht funktionieren - wenn es 0 Aufträge gibt, wird es öffnen, was ich brauche.

Ich möchte, dass es Kauf zu öffnen, wenn es keine Bestellung zu kaufen und umgekehrt (in der Zeit, wenn es keine 1 Richtung, 2 wird geöffnet und der Kaufauftrag wird nicht starten).

 
le0nid2014:

Wenn ich 0 Aufträge habe, wird er öffnen, was ich brauche.

Ich möchte, dass er den Kaufvorgang eröffnet, wenn kein Kaufauftrag vorliegt, und umgekehrt (wenn es keine Richtung 1 gibt, gibt es 2 und der Startbefehl wird nicht erteilt).

Ich muss zählen, wie viele es sind, und sie öffnen, wenn ich keine habe.

 
new-rena:

zählen, wie viele es sind, und wenn der richtige fehlt, öffnen Sie

Ich weiß nicht, wie ich dem Expert Advisor erklären kann, welche Aufträge zu kaufen und welche zu verkaufen sind.
 
//+------------------------------------------------------------------+
//| --- ФУНКЦИЯ РАСЧЕТА КОЛИЧЕСТВА ОРДЕРОВ
//+------------------------------------------------------------------+
   int Calc_Orders(string Symbols,string TYPE)
      {
         int Res=0; int calc;       
         for (calc=OrdersTotal()-1; calc>=0; calc--)
            {
               if (OrderSelect(calc,SELECT_BY_POS,MODE_TRADES))
                  {
                     if (TYPE=="BUY" && OrderType()==OP_BUY && OrderSymbol()==Symbols)
                        {
                           Res=Res+1;
                        }                        
                     if (TYPE=="SELL" && OrderType()==OP_SELL && OrderSymbol()==Symbols)
                        {
                           Res=Res+1;
                        }
                  }
            }
         return(Res);
      }
Es passt nicht in diesen Beitrag. Ich habe zweimal versucht, es zu bearbeiten...
 
le0nid2014:

So wird es nicht funktionieren - wenn es 0 Aufträge gibt, wird es öffnen, was ich brauche.

Ich möchte, dass es Kauf zu öffnen, wenn es keine Bestellung zu kaufen und umgekehrt (in der Zeit, wenn es keine 1 Richtung, 2 wird geöffnet und der Kaufauftrag wird nicht starten).

Ich verstehe nicht, was Sie wollen. Gibt es eine Möglichkeit, dies deutlicher zu machen?
 
Artyom Trishkin:
Ich verstehe nicht, was Sie wollen. Gibt es eine Möglichkeit, dies deutlicher zu erklären?

Wenn es auf dem Markt keinen Verkaufs- oder Kaufauftrag gibt, eröffnet er einen solchen Auftrag, egal wie viele Kaufaufträge vorhanden sind.

Und vice versa.

 
le0nid2014:

Wenn es auf dem Markt keinen Verkaufs- oder Kaufauftrag gibt, eröffnet er einen solchen Auftrag, egal wie viele Kaufaufträge vorhanden sind.

Und vice versa.

Wir setzen zwei lokale Variablen in der Funktion OnTick vom Typ bool: buyExist = false und sellExist = false.

Wenn ein neuer Tick kommt, prüfen Sie, ob es Aufträge gibt, die zu dem gegebenen EA gehören. Liegt ein Verkaufsauftrag vor, ist sellExist = true und dasselbe gilt für den Kaufauftrag. Und dann prüfen Sie, ob buyExist = true ist - öffnen Sie keine Kauforder. Das Gleiche gilt für den Verkauf. Das ist alles.

Grund der Beschwerde: