Jede Anfängerfrage, um das Forum nicht zu überladen. Fachleute, gehen Sie nicht vorbei. Nirgendwo ohne dich - 6. - Seite 914

 
Top2n:

Ich danke Ihnen vielmals. Es funktioniert alles. Ich werde mir ansehen, was Sie geschrieben haben...
 
Top2n:

Haben Sie noch andere Vorschläge?

Wenn ich ein Skript mit einer Offline-Grafik verbinde, hängt sich das Terminal auf. Vielleicht ist es möglich, Code in Roboter zu mounten, dann was mit#import "user32.dll" zu tun

Das Skript war nur ein Beispiel, niemand hat gesagt, dass es in die Offline-Karte aufgenommen werden sollte. Sie wird normalerweise auf einem normalen Diagramm ausgeführt und gibt die TF des Offline-Diagramms in der Zeile

 int whdl=WindowHandle (Symbol(), period_renko);  

Und #import "user32.dll" wird nicht benötigt, es wird in WinUser32.mqh aufgerufen

In der Tat gibt es einen Indikator "6MTH_Renko_Chart_Builder_Indi_Ver_02.mq4", der Ticks auf dem erstellten Renko-Chart emulieren kann. Der Indikator wird auf einem normalen Chart ausgeführt und öffnet dann den Renko-Chart, der in Echtzeit aktualisiert wird.


 
evillive:

Das Skript war nur ein Beispiel, niemand hat gesagt, dass es auf eine Offline-Karte gesetzt werden sollte. Sie wird normalerweise auf einem normalen Diagramm ausgeführt und gibt die TF des Offline-Diagramms in der Zeile

Und #import "user32.dll" wird nicht benötigt, es wird in WinUser32.mqh aufgerufen

In der Tat gibt es einen Indikator "6MTH_Renko_Chart_Builder_Indi_Ver_02.mq4", der Ticks auf dem erstellten Renko-Chart emulieren kann. Der Indikator wird auf einem normalen Chart ausgeführt und öffnet dann den Renko-Chart, der in Echtzeit aktualisiert wird.


Danke!)
 

Hallo, können Sie mir sagen, wie man das macht?

Es gibt einen solchen Code, und er funktioniert. Dies sind Signale für die Annäherung an die Handelsstufen. Buy1_line ist ein Level auf dem Chart, buy1 ist der Abstand des Preises in Pips von dem entsprechenden Level. Das Problem ist, dass der Code die Möglichkeit bietet, Ebenen zu deaktivieren, die Sie nicht benötigen. In diesem Fall wird der Wert des Levels buy1_line (0.00000) und der Abstand - als 6-stellige Zahl angezeigt, was im Prinzip keinen Sinn macht. (Der Level ist deaktiviert, Sie brauchen die Entfernung nicht zu wissen) Frage! Wie kann der Abstand zur Ebene - buy1 - aufgehoben werden, wenn die entsprechende Ebene deaktiviert ist? (oder anstelle dieser Zahl OFF ? schreiben)

string buy1_line=DoubleToStr(Price_Line,Digits);
string buy2_line=DoubleToStr(Price_Line2,Digits);
string buy1=     DoubleToStr((Price_Line-Bid)/Point,0);
string buy2=     DoubleToStr((Price_Line2-Bid)/Point,0);       

message=
 "buy_1 ("+buy1_line+"):"+(buy1>"0"?"+":"")+buy1+"   \n"+
 "buy_2 ("+buy2_line+"):"+(buy2>"0"?"+":"")+buy2+"   \n";

SendNotification(message);
 

Hallo, könnten Sie mir bitte sagen, ob es eine Möglichkeit gibt, ein Ticket für eine gerade abgeschickte Bestellung zu erhalten?

ticket = OrderSend(Symbol(), cmd, Lot((OOP-OSL)/Point),OOP,1,OSL, OTP,NULL, Expert_ID, 0);

Dann prüfe ich, ob Ticket < 1 ist, und jetzt möchte ich die OrderTicket()-Nummer erhalten, ohne alle offenen Aufträge erneut durchzugehen, da es viele geben kann, und ich erwarte ein Problem, wenn ich zwei fast identische Aufträge mit unterschiedlichen Stopps auf einmal sende

Ich danke Ihnen!

 
danik:

Hallo, könnten Sie mir bitte sagen, ob es eine Möglichkeit gibt, ein Ticket für eine gerade abgeschickte Bestellung zu erhalten?

ticket = OrderSend(Symbol(), cmd, Lot((OOP-OSL)/Point),OOP,1,OSL, OTP,NULL, Expert_ID, 0);

Dann prüfe ich, ob Ticket < 1 ist, und jetzt möchte ich die OrderTicket()-Nummer erhalten, ohne alle offenen Aufträge erneut durchzugehen, da es viele geben kann, und ich erwarte ein Problem, wenn ich zwei fast identische Aufträge mit unterschiedlichen Stopps auf einmal sende

Ich danke Ihnen!

Und Sie brauchen OrderSend() nicht, um das Ticket einer bereits offenen Bestellung zu kennen, sollten Sie es mit OrderSelect() auswählen.

In der Schleife sollten Sie durch alle Marktaufträge blättern, jeden von ihnen auswählen und, wenn ihr Typ, Symbol und Magier übereinstimmen, das Ticket in das Array schreiben.

Dann sortieren Sie das Array in aufsteigender Reihenfolge. Der höchste Wert des Tickets ist die letzte Bestellung.

 
Ja, das werden wir wohl tun müssen. Ich habe mich gefragt, ob es einen Trick oder eine Methode gibt, um ein Ticket für eine gerade abgeschickte Bestellung zu bekommen. Nun, das gibt es nicht, ich muss es auf die altmodische Art und Weise machen, schade. danke!
 
danik:
Ich dachte, es gäbe vielleicht eine Möglichkeit, ein Ticket zu bekommen, das gerade verschickt wurde. Wenn nicht, muss ich es auf die altmodische Art machen, und das ist schade. Danke!

Nur das geöffnete Ticket wird so sein, wie Sie geschrieben haben -Ticket = OrderSend(Symbol(), cmd, Lot((OOP-OSL)/Point),OOP,1,OSL, OTP,NULL, Expert_ID, 0);

Voraussetzung ist jedoch, dass die Anfrage ohne Fehler ausgeführt wurde, und ein solches Ticket wird schnell überschrieben.

 
danik:

Hallo, könnten Sie mir bitte sagen, ob es eine Möglichkeit gibt, ein Ticket für eine gerade abgeschickte Bestellung zu erhalten?

ticket = OrderSend(Symbol(), cmd, Lot((OOP-OSL)/Point),OOP,1,OSL, OTP,NULL, Expert_ID, 0);

Dann prüfe ich, ob Ticket < 1 ist, und jetzt möchte ich die OrderTicket()-Nummer erhalten, ohne alle offenen Aufträge erneut durchzugehen, da es viele geben kann, und ich erwarte ein Problem, wenn ich zwei fast identische Aufträge mit unterschiedlichen Stopps auf einmal sende

Ich danke Ihnen!

Warum möchten Sie Tickets nicht auf der Ebene der globalen Variablen deklarieren?
 

Das Problem ist, dass diese Tickets mehr als eine sind. vielleicht 4, ich weiß noch nicht genau. das ist, warum ich eine Klasse mit Ticketnummer und andere Informationen, die nicht von orderselect gespeichert wird erstellt. so wollte ich Zugriff auf das Ticket haben. aber bisher kann ich nur Klasse Objekte erstellen und setzen Sie sie in CarrayObj und dann den Index zu erhalten, vergleichen Sie das Ticket und weiter zu analysieren. Aber ich habe das Problem gelöst, danke, ich gebe mir die Schuld an anderer Stelle. Meine HerrenevilliveAlexeyVik - vielen Dank für Ihre prompten Antworten!

Grund der Beschwerde: