[Archiv!] Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht daran vorbei. Könnte nirgendwo ohne dich hingehen - 2. - Seite 248

 
Bicus:

Was ist das? Es geht durch alle Ordnungen der Geschichte, nicht wahr? Es ist klar, dass der Schleifenkörper in gewisser Weise durch Daten usw. begrenzt werden kann.

Was ich mit meiner Frage meinte, war, ob es einen Trick gibt, um nur die letzten abgeschlossenen Aufträge in der Historie des Testers zu speichern, d.h. so, wie es in der echten Historie gemacht wird.

In der realen Geschichte funktioniert das auch so. Es werden alle Aufträge der Kontohistorie durchsucht.

Die Geschichte wird nicht korrigiert. Sie ist für dieses Konto identisch und kann nur bei neuen Ereignissen aktualisiert werden.

 
artmedia70:

Scheint schon langweilig zu sein... Das ist elementar, Watson:

//+------------------------------------------------------------------+
//| expert initialization function |
//+------------------------------------------------------------------+
int start()
{
if (ObjectFind("MyPriceLine")<0) ObjectCreate("MyPriceLine", OBJ_HLINE, 0, 0, Ask+20*Point) ;
ObjectSet("MyPriceLine", OBJPROP_PRICE1, Ask+20*Point);
return(0);
}

//+------------------------------------------------------------------+
Vielen Dank für die lang erwartete Antwort! Ich kann nicht verstehen, wie mir das helfen soll, mein Problem zu lösen. Wie bringe ich die Linien dazu, gleichzeitig oberhalb und unterhalb von Ask und von demselben EA zu zeichnen?
 
globad:
Vielen Dank für die lang erwartete Antwort! Ich kann nicht erkennen, wie mir das helfen soll, mein Problem zu lösen? Wie bringe ich die Linien dazu, gleichzeitig oberhalb und unterhalb von Ask und von demselben EA zu zeichnen?
Geben Sie den Zeilen unterschiedliche Namen.
 
Vovo4ka:

Guys, Hilfe, die Bedingung ist wie folgt: drei bullish Kerzen, dann gibt es eine "Übernahme" .... Ich öffnete eine Position zu verkaufen ähnlich zu kaufen...hier ist der Code, wo der Fehler ist??

wo liegt der Fehler?
 
sergeev:
Wo liegt das Problem?

So funktioniert es nicht....... öffnet keine Positionen.... obwohl ich aus der Historie sehe, dass es sich öffnen sollte, aber es öffnet keine Positionen... es bleibt einfach still und keine Fehler
 
Wie kann ich dafür sorgen, dass ein Geschäft nicht mehr als eines pro Stunde geöffnet wird?
 
artmedia70:
Geben Sie den Zeilen unterschiedliche Namen.

Irgendwie...?

//+------------------------------------------------------------------+
//| expert initialization function                                   |
//+------------------------------------------------------------------+
int start()
{
if (ObjectFind("MyPriceLine1")<0) ObjectCreate("MyPriceLine1", OBJ_HLINE, 0, 0, Ask+20*Point) ;
ObjectSet("MyPriceLine1", OBJPROP_PRICE1, Ask+20*Point);
if (ObjectFind("MyPriceLine2")>0) ObjectCreate("MyPriceLine2", OBJ_HLINE, 0, 0, Ask-20*Point) ;
ObjectSet("MyPriceLine2", OBJPROP_PRICE1, Ask-20*Point);
return(0);
}
//+------------------------------------------------------------------+
 
Vovo4ka:
Leute, wie schaffe ich es, dass ein Geschäft nicht öfter als, sagen wir, einmal pro Stunde geöffnet wird?

Zum Beispiel so:

//+----------------------------------------------------------------------------+
datetime SecondsAfterOpenLastPos(string sy, int op, int mn) 
{
   datetime t;
   int      i, k=OrdersTotal();

   if (sy=="0") sy=Symbol();
   for (i=0; i<k; i++) {
      if (OrderSelect(i, SELECT_BY_POS, MODE_TRADES)) {
         if (OrderSymbol()!=sy)        continue;
         if (OrderType()!=op)          continue; 
         if (OrderMagicNumber()!=mn)   continue; 
         if (t<OrderOpenTime()) t=OrderOpenTime();
         }
      }
  return(TimeCurrent()-t);
}
//+----------------------------------------------------------------------------+

Rufen Sie so an:

if (SecondsAfterOpenLastPos(NULL, OP_SELL, Magic)>=(Period()*3)*60) {
   // --- код, если прошло три минуты и более с момента открытия ... 
   // ... последней позиции Sell  с магиком Magic  на текущем символе ---
   }
Ich hoffe, Sie können Minuten in Stunden verwandeln ... :)
 
globad:

Irgendwie...?

Fragen Sie nicht, fragen Sie einen Prüfer... :)
 
globad:

Irgendwie...?

if (ObjectFind("MyPriceLine1")<0) ObjectCreate("MyPriceLine1", OBJ_HLINE, 0,0, Ask+20*Point);
                                     ObjectSet("MyPriceLine1", OBJPROP_PRICE1, Ask+20*Point);
if (ObjectFind("MyPriceLine2")>0) ObjectCreate("MyPriceLine2", OBJ_HLINE, 0,0, Ask-20*Point);
                                     ObjectSet("MyPriceLine2", OBJPROP_PRICE1, Ask-20*Point); 
ObjectFind gibt -1 zurück, wenn die Zeile noch nicht erstellt wurde, d.h. Sie sollten auch ObjectFind("MyPriceLine2")<0 in das zweite if schreiben
Grund der Beschwerde: