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

 
Bitte teilen Sie uns mit, ob es einen Indikator gibt, der das Gesamtvolumen der offenen Positionen anzeigt, denn wenn viele verschiedene Aufträge offen sind, kann es schwierig sein, sie zu zählen. danke.
 

Ich brauche Hilfe. Ich habe einen Expert Advisor im Tutorial, aber er funktioniert nur mit einer Marktorder, und ich möchte ihn mit mehreren arbeiten lassen, einfach mit verschiedenen Finanzinstrumenten handeln und Orders auf ihnen gleichzeitig öffnen und schließen. Unten habe ich ein Beispiel angeführt, aber ich habe mich bei dem Beispiel, bei dem der Wert des ersten Auftrags den Variablen für die Buchhaltungsaufträge zugewiesen wird, zurückgehalten. Und wenn ich möchte, dass nicht nur eine Order für diese Währungspaare funktioniert, sondern z.B. für einen Tag, an dem der Indikator mehrere Eröffnungen anzeigt, die Schließung aber noch nicht stattgefunden hat, und 3 oder 5 Orders paarweise für diese beiden Währungspaare geöffnet werden, wie kann ich das Gleiche tun? Bitte beraten Sie mich, wie ich dies umsetzen kann.


// Anzahl der Aufträge
Symb1=SymbolN1(externe Variable); // Name des Finanzinstruments.
Symb2=SymbolN2(externe Variable); // Name des Finanzinstruments.
Total=0; // Anzahl der Aufträge
for(int i=1; i<=OrdersTotal(); i++) // Auftragsschleife
{
if (OrderSelect(i-1,SELECT_BY_POS)==true) // Wenn die folgenden
{ // Auftragsanalyse:
if (OrderSymbol()!=Symb1 $$ OrderSymbol()!=Symb2)continue; // Nicht unser Finanzinstrument
if (OrderType()>1) // Pending order caught
{
Alert("Pending order detected. Expert Advisor not working.");
return; // Exit start()
}
Total++; // Market counter. orders
if (Total>2) // Nicht mehr als zwei Orders
{
Alert("more than 2 market orders. Expert Advisor does not work.");
return; // Exit start()
}
Unten wird dieser Wert auf die Variable gesetzt, um bei der zweiten Iteration etwas damit zu machen, da es 2 Orders geben wird (die zweite auf ein anderes Währungspaar), werden sie die Werte für die zweite Order ändern, aber ich muss die Informationen für die erste und die zweite Order festlegen.
Ticket=OrderTicket(); // Nummer der ausgewählten Bestellung.
Tip =OrderType(); // Typ der ausgewählten Bestellung.
Preis =OrderOpenPrice(); // Preis der ausgewählten Bestellung.
SL =OrderStopLoss(); // SL der ausgewählten Order.
TP =OrderTakeProfit(); // TP der ausgewählten Order.
Lot =OrderLots(); // Anzahl der Lose
Können wir die gleichen Variablen für die zweite Bestellung verwenden, nur mit dem Präfix 1?
Ticket1=OrderTicket(); // Nummer der ausgewählten Bestellung.
Tip1 =OrderType(); // Typ der ausgewählten Bestellung.
Preis1 =OrderOpenPrice(); // Preis der ausgewählten Order.
SL1 =OrderStopLoss(); // SL der ausgewählten Order.
TP1 =OrderTakeProfit(); // TP der ausgewählten Order.
Lot1 =OrderLots(); // Anzahl der Lose
}
}

 
artmedia70:

ERR_LONGS_NOT_ALLOWED 4110 Long-Positionen sind nicht erlaubt. Experteneigenschaften müssen geprüft werden.

ERR_SHORTS_NOT_ALLOWED 4111 Short-Positionen sind nicht erlaubt. Experteneigenschaften müssen geprüft werden.


Was verstehen Sie unter Long- und Short-Positionen, wie sehen sie aus?
 
artmedia70:

Grob richtig gedacht.

Es handelt sich überwiegend um Variablen vom Typ bool.

Und sie kann nur zwei Werte haben:

wahr (wahr) und falsch (falsch).

Wenn das Flag gesetzt ist (Wert true), bedeutet dies, dass ein Auftrag vorliegt, und wenn es gelöscht wird (Wert false), bedeutet dies, dass kein Auftrag vorliegt.

Die Werte true und false bedeuten nicht notwendigerweise Anwesenheit/Abwesenheit.

Manchmal bedeutet false , dass eine Bedingung vorliegt , und true, dass keine Bedingung vorliegt.

Es hängt alles von der Logik des Programms und den Kriterien ab, die der Programmierer überprüft.

Wenn Sie diese Flaggen selbst setzen, können Sie auf jeden Fall angeben, welchen Wert (true oder false)

entspricht dem einen oder anderen Datenzustand.

Gleichzeitig gibt es Standardfunktionen, die je nach dem Ergebnis der Funktion true oder false zurückgeben.

Diese Werte sind in der Funktionsreferenz zu finden.

Artyom, ich danke dir.
 
gheka:

was bedeuten lang und kurz? wie sehen sie aus?

Lang = Lang = Kaufen

short =Short = Verkaufen


 

Dankeschön

 

Ich bin auf der Suche nach einem Skript, das eine Order nur dann schließt, wenn der Balken über oder unter einem bestimmten Level liegt.

Natürlich sollte es eine tf-Einstellung geben.

. Wenn es eine gibt, geben Sie mir einen Link. Vielen Dank im Voraus

 

Ich habe Kauf- und Verkaufsaufträge, die zum gleichen Preis für fast 50-100 Positionen eröffnet werden,

Wie kann ich nur eine Bestellung öffnen, wenn ich mich nicht irre - OrdersTotal()

Wenn ja, wie sollte ich sie verwenden und wo sollte ich sie platzieren? Ich habe das Gefühl, dass ich ohne diese Funktion die gesamte Algebra eingeben muss

 
gheka:

Ich habe Kauf- und Verkaufsaufträge, die zum gleichen Preis für fast 50-100 Positionen eröffnet werden,

Wie kann ich nur eine Bestellung öffnen, wenn ich mich nicht irre - OrdersTotal()

Wenn ja, wie sollte ich sie verwenden und wo sollte ich sie platzieren? Ich habe das Gefühl, dass ich ohne diese Funktion die gesamte Algebra eingeben muss


Sie hätten Ihren eigenen Code anhängen sollen.
 
gheka:

Ich habe Kauf- und Verkaufsaufträge, die zum gleichen Preis für fast 50-100 Positionen eröffnet werden,

Wie kann ich nur eine Bestellung öffnen, wenn ich mich nicht irre - OrdersTotal()

Wenn ja, wie sollte ich sie verwenden und wo sollte ich sie platzieren? Ich habe das Gefühl, dass ich ohne diese Funktion die gesamte Algebra eingeben muss.

Die Funktion OrderSend() funktioniert mit jedem Tick (glaube ich). Um dieses Problem zu lösen, müssen Sie eine Variable vor der Startfunktion anlegen, zum Beispiel int H=0.

Ferner den Code:

..........

wenn ( H==0)

{

OrderSend(blah blah blah);

}

H=1;

Und Algebra ist nicht nötig. Und OrdersTotal() sollte besser nicht für Constraints verwendet werden.