[WARNUNG GESCHLOSSEN!] Alle Fragen von Neulingen, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Ohne dich kann ich nirgendwo hingehen. - Seite 803

 
Andrei01:
Gibt es eine Möglichkeit, die Preisgrenzen auf der vertikalen Skala des Diagramms zu kennen, um die Skala zu berechnen (nicht den Preis des Instruments, der mit F8 ermittelt wird)?

double WindowPriceMin( int index=0)
double WindowPriceMax( int index=0)
 
Top2n:
Hallo, ich führe den Expert Advisor im Strategy Tester aus, aber es wird keine Position eröffnet. In der Zeitschrift steht EURUSD,M5: OrderSend error 131. Ich weiß nicht, wie oft ich schon gesehen habe, dass dieser EA eine Position nicht mehr geöffnet hat. Bitte teilen Sie uns mit, ob jemand solche Probleme hatte, und danken Sie im Voraus


Vielleicht haben Sie kein normalisiertes Los, versuchen Sie, es mit
wieder zu normalisieren.
double NormalizeDouble( double value, int digits)
 
zhuki:
Sie haben wahrscheinlich keine normalisierte Partie, normalisieren Sie sie mit:
double NormalizeDouble( double value, int digits)
Wenn ich mich recht erinnere, hat er sogar eine Funktion für die Losnormalisierung parat...
Unter Berücksichtigung aller möglichen DT-Beschränkungen...
Es sei denn, er benutzt sie nicht... dann - Autsch... :)
 
zhuki:

double FensterPreisMin( int index=0)
double WindowPriceMax( int index=0)
Ich danke Ihnen. Gibt es eine Möglichkeit, dies programmatisch zu ändern?
 

Hallo Leute im Forum.

Meine Großeltern haben mir erzählt, dass heute der Tag der Flitterwochen ist. Schöne Ferien für alle.

Und ich mit meinem... Drknn sagt, dass es möglich ist, Indikatorwerte zu verarbeiten.

Ist es möglich, A / D für einen bestimmten Zeitraum und den gleichen Betrag OBV zu summieren, und dann teilen sie zwischen sich (OBV im Zähler)

Der Nenner ist A/D + Koeffizient mit Ausgang zu den Einstellungen.

Null in der Mitte, die Grenzen sind fließend.

Summe-NO TOTAL. Jede Bewegung nach absolutem Wert.

Und ich gebe Ihnen eine Umkehrung des Juden

 
Konichiua an alle! Wie schaffe ich es, dass mein EA drei Orders mit verschiedenen Übernahmen und nur einmal bei einer Kerze in einer Kauf- oder Verkaufsbedingung öffnet. Arigato im Voraus!
 
Maniac:
Konichiua an alle! Wie schaffe ich es, dass mein EA drei Orders mit verschiedenen Übernahmen und nur einmal auf einer Kerze in einer Kauf- oder Verkaufsbedingung öffnet. Arigato im Voraus!
Wie mache ich 3 Sendeaufträge mit verschiedenen Zielen oder Schleife diese Funktion bis zu 3 (for oder while), bei jeder Iteration eine andere TP
 
sanyooooook:
Machen Sie eine 3er-Sendung mit verschiedenen Take Points oder schleifen Sie diese Funktion bis zu 3 (for oder while), bei jeder Iteration andere Take


Machen Sie 3 Sendeaufträge mit verschiedenen Punkten - öffnet den ersten Auftrag dreimal :(

Schleife diese Funktion bis 3 (for oder while), jede Iteration hat eine andere Aufnahme - öffnet eine Reihe von ersten Bestellungen :(

Wenn nicht schwer zu zeigen, wie es geht?

 
Maniac:


Machen Sie eine 3er-Sendung mit verschiedenen Zielen - öffnet die erste Bestellung dreimal :(

Schleife diese Funktion bis 3 (for oder while), jede Iteration hat eine andere Aufnahme - öffnet eine Reihe von ersten Bestellungen :(

Wenn es nicht zu kompliziert ist, können Sie mir zeigen, wie man es macht?

Zählen Sie die offenen Aufträge?
 
sanyooooook:
Werden die offenen Aufträge gezählt?
extern double TakeProfit = 35;
extern double StopLoss   = 25;
extern double Lots       = 0.1;

int NumberOfBarOpenLastPos(string sym="", int tf=0, int op=-1, int mn=-1) {
  datetime oot;
  int      i, k=OrdersTotal();
 
  if (sym=="") sym=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
      if (OrderSymbol()==sym) {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (oot<OrderOpenTime()) oot=OrderOpenTime();
            }
          }
        }
      }
    }
  }
  return(iBarShift(sym, tf, oot, True));
}
int NumberOfBarCloseLastPos(string sy="0", int tf=0, int op=-1, int mn=-1) {
  datetime t;
  int      i, k=OrdersHistoryTotal();

  if (sy=="" || sy=="0") sy=Symbol();
  for (i=0; i<k; i++) {
    if (OrderSelect(i, SELECT_BY_POS, MODE_HISTORY)) {
      if (OrderSymbol()==sy) {
        if (OrderType()==OP_BUY || OrderType()==OP_SELL) {
          if (op<0 || OrderType()==op) {
            if (mn<0 || OrderMagicNumber()==mn) {
              if (t<OrderCloseTime()) t=OrderCloseTime();
            }
          }
        }
      }
    }
  }
  return(iBarShift(sy, tf, t, True));
}
int start()
  {
   
   int ticket;
   if(Bars<100)
     {
      Print("bars less than 100");
      return(0);  
     }
   if(TakeProfit<10)
     {
      Print("TakeProfit less than 10");
      return(0);
     }
   if ((NumberOfBarOpenLastPos()>0||NumberOfBarOpenLastPos()==-1)&&(NumberOfBarCloseLastPos()>0||NumberOfBarCloseLastPos()==-1))
     {
      
      if(AccountFreeMargin()<(1000*Lots))
        {
         Print("We have no money. Free Margin = ", AccountFreeMargin());
         return(0);  
        }
      
      if(Bid>High[1])
        {
         ticket=OrderSend(Symbol(),OP_BUY,Lots,Ask,3,Ask-StopLoss*Point,Ask+TakeProfit*Point,"test",16384,0,Green);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("BUY order opened : ",OrderOpenPrice());
           }
         else Print("Error opening BUY order : ",GetLastError()); 
         return(0); 
        }
     
      if(Bid<Low[1])
        {
         ticket=OrderSend(Symbol(),OP_SELL,Lots,Bid,3,Bid+StopLoss*Point,Bid-TakeProfit*Point,"test",16384,0,Red);
         if(ticket>0)
           {
            if(OrderSelect(ticket,SELECT_BY_TICKET,MODE_TRADES)) Print("SELL order opened : ",OrderOpenPrice());
           }
         else Print("Error opening SELL order : ",GetLastError()); 
         return(0);  
        }
      return(0);
     }

  }


Hier ist der Code eines EAs. Das müssen Sie:

1) er eröffnete nicht nur ein, sondern gleich drei Geschäfte mit Stopps von 25 und Übernahmen von 15, 35 und 50

2) Nachdem die zweite Order bei Take (35) geschlossen wurde, wurde die letzte Position (bei Take 50) auf das Break-even-Niveau gebracht.