[ARCHIV] Alle Fragen von Anfängern, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 3. - Seite 425

 
sss2019:

Gibt es eine Möglichkeit, dass nicht mehr als ein Auftrag auf dem aktuellen Balken geöffnet wird? Das heißt, ich muss einen Auftrag auf dem aktuellen Fraktal öffnen, aber nicht mehr als das, und auf dem nächsten usw.

Ist das irgendwie machbar?

Ja, das ist möglich. Es gibt nur eine doppelte Frage. Wenn wir auf dem aktuellen Balken öffnen, ist dies der Null-Balken. Und das Fraktal wird mindestens auf dem zweiten gebildet.

Speichern Sie die Zeit des Fraktal-Balkens in der Variablen, und wenn für dieses Fraktal bereits eine Position mit einer solchen Zeit geöffnet wurde, öffnen Sie keine weiteren Positionen mit dieser Zeit. Sobald ein neues Fraktal gebildet wird, ändert sich seine Balkenzeit, woraufhin eine neue Position eröffnet und nach erfolgreicher Eröffnung die neue Fraktalzeit in der Variablen gespeichert wird.

 

Ich möchte nicht aufdringlich sein. Hilfe bei meiner Frage. Ich kann eine Bestellung nicht abschließen. Ich erhalte eine Fehlermeldung mit dem falschen Ticket. Das Problem liegt im Ticket, wie kann ich es aufrufen und die Bestellung abschließen? Wie schließe ich ein Ticket? Vielen Dank.

Ich schreibe meinen EA so, dass der Verkauf nach dem Kauf geöffnet wird und umgekehrt, aber aus irgendeinem Grund wird nur die erste Bestellung geschlossen und die anderen nicht.


OrderSend(Symbol(),OP_SELL,1,Bid,3,0,0,NULL,12345,CLR_Blue);

Irrtum, falsches Ticket. Das Problem liegt im Ticket, wie kann ich es aufrufen und die Bestellung abschließen? Ich danke Ihnen.

 

Hallo! Wie kann ich in dem Fenster, an das der EA angehängt ist, die rote rechte Kursmarkierung des Eröffnungskurses dieser Order auf dem Balken anzeigen, auf dem sie eröffnet wurde?

Ticket=OrderSend(Symb,OP_SELL,Lts,Bid,2,SL,TP);
 
kolaider:

Ich möchte nicht aufdringlich sein. Hilfe bei meiner Frage. Ich kann eine Bestellung nicht abschließen. Ich erhalte eine Fehlermeldung mit dem falschen Ticket. Das Problem liegt im Ticket, wie kann ich es aufrufen und die Bestellung abschließen? Wie schließe ich ein Ticket? Vielen Dank.

Ich schreibe meinen EA so, dass der Verkauf nach dem Kauf geöffnet wird und umgekehrt, aber aus irgendeinem Grund wird nur die erste Bestellung geschlossen und die anderen nicht.


OrderSend(Symbol(),OP_SELL,1,Bid,3,0,0,NULL,12345,CLR_Blue);

Ich habe eine Fehlermeldung mit einem falschen Ticket erhalten. Das Problem befindet sich im Ticket, wie rufe ich es auf und schließe den Auftrag? Ich danke Ihnen.

OrderSend(Symbol(),OP_SELL,1,Bid,3,0,0,NULL,12345,0,CLR_Blue);

Es fehlt eine Verfallsoption (rot markiert)

Möchten Sie, dass eine Verkaufsposition eröffnet wird, wenn Sie eine Kaufposition schließen und umgekehrt?

Suchen Sie in der Liste der abgeschlossenen Aufträge den letzten abgeschlossenen Auftrag, sehen Sie sich seinen Typ an und öffnen Sie den gegenüberliegenden Auftrag.

Um einen Auftrag zu schließen, müssen Sie ihn zunächst auswählen, sein Ticket nehmen und ihn schließen.

 
kolyango:

Hallo! Wie zeige ich die rote rechte Kursmarkierung des Eröffnungskurses dieser Order in dem Fenster an, an das der EA angehängt ist, wenn die SELL-Market-Order eröffnet wurde?


bool ObjectCreate( string name, int type, int window, datetime time1, double price1, datetime time2=0, double price2=0, datetime time3=0,double price3=0)

Erzeugt ein Objekt mit dem angegebenen Namen, Typ und den Anfangskoordinaten im angegebenen Unterfenster des Diagramms. Die Anzahl der mit dem Objekt verbundenen Koordinaten kann je nach Typ zwischen 1 und 3 liegen. Die Funktion gibt TRUE zurück, wenn das Objekt erfolgreich erstellt wurde, andernfalls FALSE. Um weitere Informationen über den Fehler zu erhalten, rufen Sie die Funktion GetLastError() auf.
Bei Objekten vom Typ OBJ_LABEL werden die Koordinaten ignoriert. Verwenden Sie ObjectSet(), um die Eigenschaften OBJPROP_XDISTANCE und OBJPROP_YDISTANCE zu setzen.
Hinweise: Die Nummerierung der Diagrammunterfenster (wenn das Diagramm Unterfenster mit Indikatoren hat) beginnt bei 1. Das Hauptfenster des Diagramms ist immer vorhanden und hat den Index 0.
Die Koordinaten müssen paarweise übergeben werden - Zeit und Preis. Das Objekt OBJ_VLINE benötigt zum Beispiel nur die Zeit, aber der Preis (ein beliebiger Wert) muss ebenfalls übergeben werden.
Parameter:
Name - Eindeutiger Name des Objekts.
Typ - Art des Objekts. Das kann jede Art von Objekt sein.
Fenster - Index des Fensters, dem das Objekt hinzugefügt werden soll. Der Fensterindex muss größer oder gleich 0 und kleiner als WindowsTotal() sein.
Zeit1 - Zeitpunkt der ersten Koordinate.
Preis1 - Preis der ersten Koordinate.
Zeit2 - Zeit zweite Koordinate.
Preis2 - Preis der zweiten Koordinate.
Zeit3 - Zeit für die dritte Koordinate.
Preis3 - Preis der dritten Koordinate.
Beispiel:
 // neues Textobjekt if(!ObjectCreate("text_object", OBJ_TEXT, 0, D'2004.02.20 12:30', 1.0045)) { Print("error: can't create text_object! code #",GetLastError()); return(0); } // neues TextLabel-Objekt if(!ObjectCreate("label_object", OBJ_LABEL, 0, 0)) { Print("error: can't create label_object! code #",GetLastError()); return(0); } ObjectSet("label_object", OBJPROP_XDISTANCE, 200); ObjectSet("label_object", OBJPROP_YDISTANCE, 100);
 

artmedia70:


Sie können. Nur ist die Frage eine doppelte. Wenn Sie auf dem aktuellen Balken öffnen, ist es ein Null-Balken. Und das Fraktal wird zumindest auf dem zweiten Balken gebildet.

Speichern Sie die Barzeit des Fraktal-Balkens in der Variablen, und wenn dieses Fraktal bereits für eine Position mit dieser Zeit geöffnet wurde, öffnen Sie keine weiteren Positionen mit ihm. Sobald ein neues Fraktal gebildet wird, ändert sich seine Taktzeit und Sie eröffnen eine neue Position und speichern nach erfolgreicher Eröffnung die neue Fraktalzeit in der Variablen.


Wie kann ich sie in einer globalen Variablen speichern? Ich habe eine einfache Variable erstellt, aber es scheint, dass sie nicht gespeichert wird und die Aufträge weiterhin geöffnet werden. Siehe

int start()
  {
  double MyPoint = Point;
  if(Digits == 3 || Digits == 5)
    {
    MyPoint = Point * 10;
    }
  
   double upperfractal;
   int upperi;
//----
   for(upperi=1;upperi<Bars;upperi++)
     {
     upperfractal=iFractals(Symbol(), Period(), MODE_UPPER, upperi); if (upperfractal>0) break;
     }
     
   datetime opentime;
     
   if(upperfractal>0 && upperi > 2 && opentime != Time[upperi])
     {
     if(OrderSend(Symbol(),OP_BUYSTOP,Lot,upperfractal + 10 * Point,3,0,0,"comment",1354453,0,Green) == true)
       {
       opentime = Time[upperi];
       }else
       {
       Alert("",GetLastError());
       }
     }

//----
   return(0);
  }

Variable Öffnungszeit

Ich würde gerne jemanden bitten, mir zu helfen.

Ich habe sogar versucht, die Variable global zu machen, aber es werden immer noch viele Geschäfte eröffnet, als ob die Variable jedes Mal zurückgesetzt wird.

datetime opentime = 0;

//+------------------------------------------------------------------+
//| expert start function                                            |
//+------------------------------------------------------------------+
int start()
  {
  double MyPoint = Point;
  if(Digits == 3 || Digits == 5)
    {
    MyPoint = Point * 10;
    }
  
   double upperfractal;
   int upperi;
//----
   for(upperi=1;upperi<Bars;upperi++)
     {
     upperfractal=iFractals(Symbol(), Period(), MODE_UPPER, upperi); if (upperfractal>0) break;
     }
     

     
   if(upperfractal>0 && upperi > 2 && opentime != Time[upperi])
     {
     if(OrderSend(Symbol(),OP_BUYSTOP,Lot,upperfractal + 10 * Point,3,0,0,"comment",1354453,0,Green) == true)
       {
       opentime = Time[upperi];
       }else
       {
       Alert("",GetLastError());
       }
     }

//----
   return(0);
 
T-G:

Bitte beraten Sie mich, wie ich mit einem trivialen Problem umgehen kann - ich habe ein Loch in der EUR-Historie für Juni 2011 und dann für September, und ein Teil des Septembers ist verloren gegangen

Im Ordner \terminal\history\downloads\EURUSD befinden sich diese Dateien

EURUSD_2011_06_81625bcefc91bf488a04d5a1dae0c93f
EURUSD_2011_09_2557787db3eb2fe87073c783f21cdd66

EURUSD_2011_10_15793a4a4f9d001b78a82e248872bc3b

Ich habe mehrere Terminals von verschiedenen Brokern ausprobiert, darunter auch natives MQ. Ich habe es auch auf verschiedenen Rechnern mit XP und Win7 versucht. Ich habe versucht, symbols.raw und symgroups.raw zu löschen und sie erneut herunterzuladen - das hat nicht geholfen.


Ich frage mich, ob es für Sie von entscheidender Bedeutung ist, eine Geschichte dieser besonderen Zeit zu haben?
 
nadya:
Ich frage mich, ob es für Sie von entscheidender Bedeutung ist, eine Geschichte dieser besonderen Zeit zu haben?
Was meinen Sie? Da ich frage: Ja!
 
T-G:
Was meinen Sie? Da ich frage: Ja!
Dann fragen Sie die Lagerleute nach einer Geschichte.
 
sss2019:


Wie speichere ich sie in einer globalen Variablen? Ich habe eine reguläre Variable erstellt, aber sie scheint nicht gespeichert zu werden, und die Aufträge öffnen sich immer wieder. Hier ist

Variable Öffnungszeit

Ich versuche, diese Variable global zu machen.

Ich habe sogar versucht, die Variable global zu machen, aber es werden immer noch viele Geschäfte eröffnet, als ob die Variable jedes Mal zurückgesetzt wird.

OrderSend gibt einen Integer-Wert zurück, es ist keine boolesche Funktion, seien Sie vorsichtig