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

 

Ich möchte ein Küken zu machen, um den Gewinn nach jeder 5 Bestellungen zu zählen. es scheint zu zählen, aber es gibt einen Fehler "4051 Ungültiger Wert der Funktion Parameter" warum?


input int input_step=5;
int step=input_step;

void start()
{
int h, history=OrdersHistoryTotal();
double orderProfit=0;
 if(history==step)
  {
   for(h=history; h<=history; h--)
    {
    if(OrderSelect(h,SELECT_BY_POS,MODE_HISTORY)==true)
      {
      orderProfit=orderProfit+OrderProfit();
      Print("profit=",orderProfit);
      } 
    }
    step=step+input_step;
  }
  return;
}



 

Hallo lieber Guru ...

Blättern durch Daten im Terminalfenster > Verlauf ...

... ...und irgendwie die Position des Terminalfensters über die Diagrammfenster verschoben ...

... Kann jemand vorschlagen, wie man das Terminal-Fenster wieder nach unten unter die Diagrammfenster verschieben kann?


Ich würde sehr DANKBAR sein.

 
Yaroslav Nykula:

Hallo lieber Guru ...

Blättern durch Daten im Terminalfenster > Verlauf ...

... ...und irgendwie die Position des Terminalfensters über die Diagrammfenster verschoben ...

... Kann jemand vorschlagen, wie man das Terminal-Fenster wieder nach unten unter die Diagrammfenster verschieben kann?


Ich würde sehr DANKBAR sein.


Greifen Sie die Leiste unter dem Kreuz mit der Maus und ziehen Sie sie an die gewünschte Stelle.

 

Hallo, könnten Sie mir bitte sagen, wie man einen EA dazu bringt, den Handel nach drei Verlusten (mit der gleichen magischen Zahl) zu beenden? Nach einem Verlust auf diese Weise

int flag==0;

for(int pos_buy=OrdersHistoryTotal()-1; pos_buy>=0; pos_buy--)

{

if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY)

{

if(OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))

flag=1; }}


Was ist mit drei Verlusten...?

 
Alekseu Fedotov:

Greifen Sie die Leiste unter dem Kreuz mit der Maus und ziehen Sie sie an die gewünschte Stelle.


Ich danke Ihnen ... Ich habe es doppelt angeklickt und nach unten gezogen... Daran habe ich selbst nicht gedacht.

 
defailer7:

Hallo, könnten Sie mir bitte sagen, wie man einen EA dazu bringt, den Handel nach drei Verlusten (mit der gleichen magischen Zahl) zu beenden? Nach einem Verlust auf diese Weise

int flag==0;

for(int pos_buy=OrdersHistoryTotal()-1; pos_buy>=0; pos_buy--)

{

if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY)

{

if(OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))

flag=1; }}


Wie sieht es mit drei Verlusten aus?

Ich bin selbst noch Anfänger. Vielleicht geht es auch so

for(int pos_buy=OrdersHistoryTotal()-1; pos_buy>=0; pos_buy--) 
           {
            if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY) 
             {
             if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))
             flag=1; }
            if(OrderSelect(pos_buy-1,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY) 
             {
             if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))
             flag2=1; }
            if(OrderSelect(pos_buy-2,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY) 
             {
             if (OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))
             flag3=1; }
           }
  if(flag==1 && flag2==1 && flag3==1)bool flag_trex=true;
 
Baruandreas:

Ich bin selbst noch Anfänger, aber wahrscheinlich könnte man es so machen


Vielen Dank, es hat alles geklappt.

 

Hallo.
Können Sie mir sagen, wie ich den EA-Handel zeitlich begrenzen kann?
Ich habe viele Methoden aus dem Forum ausprobiert, aber nichts hat funktioniert, ich verstehe nichts vom Schreiben.
Es wäre schön, wenn Sie einfach mit dem Finger darauf zeigen könnten, was Sie hineinlegen sollen.

 
defailer7:

Hallo, könnten Sie mir bitte sagen, wie man einen EA dazu bringt, den Handel nach drei Verlusten (mit der gleichen magischen Zahl) zu beenden? Nach einem Verlust auf diese Weise

int flag==0;

for(int pos_buy=OrdersHistoryTotal()-1; pos_buy>=0; pos_buy--)

{

if(OrderSelect(pos_buy,SELECT_BY_POS,MODE_HISTORY) && OrderType()==OP_BUY)

{

if(OrderSymbol() == Symbol() && (OrderMagicNumber() == Magic_buy )&&(OrderProfit()>0))

flag=1; }}


Wie wäre es mit drei Verlusten...?


Ich bin auch noch am Lernen!!! Flag++, wenn (flag==3)exit;

Und der Verlust ist kleiner als Null.
 
kuzhakov:

Hallo.
Können Sie mir bitte sagen, wie ich den EA zeitlich einordnen soll?
Ich habe eine Menge Methoden aus dem Forum ausprobiert, aber nichts funktioniert.
Es wäre schön, wenn ich einfach mit dem Finger darauf zeigen könnte, wo ich was einfügen soll.


Ich kann Ihnen den fertigen Code nicht schicken, ich surfe von meinem Handy aus.

Es gibt eine Funktion, die die Öffnungszeit der Bar zurückgibt

Versuchen Sie, der Funktion eine Zahl hinzuzufügen, die die Öffnungszeit des Balkens mit dem Zeitraum eines Tages zurückgibt

Liefert den Wert der Öffnungszeit des Balkens (angegeben durch den Parameter shift) für das entsprechende Diagramm.

datetimeiTime(
stringsymbol,// symbol
inttimeframe,// Zeitraum
intshift//shift
);


Zeitraum Tag

Verschiebung 0

iTime(euro, day, today is zero)+1= Time 00-00-01

Eine Minute hat 60 Sekunden

iTime(euro, day, today is zero)+60= time 00-01-00-00 und so weiter.

Wir möchten zum Beispiel, dass unser EA am 01-00-00 mit der Arbeit beginnt.

if((iTime(Symbol(),PERIOD D1,0)+3600)<TimeCurent() work

Das ist alles, was ich Ihnen am Telefon sagen kann.

Sie können auch die aktuellen Stunden-Minuten zurückgeben und sie vergleichen. Viel Glück!