1. Es sind einige Kaufaufträge geöffnet und ein schwebender Kaufauftrag ist platziert. Alle Aufträge sind im gleichen Währungspaar. Wie wird ein EA nur den letzten geöffneten Auftrag auswählen, um seine Stop-Limits zu überprüfen?
2. Jede geöffnete Order wurde zu unterschiedlichen Preisen mit tp 20 platziert. Ist es für den EA möglich, alle geöffneten Orders außer der letzten zu modifizieren und ihre Stop-Limits auf die Stop-Limits der zuletzt geöffneten Order zu ändern?
BEISPIEL:
Sr type price tp
1 buy 1.239501.23750
------------------------------
# buylimit 1.237501.23550//////////////////////////////1 buy 1.239501.23550// tp modified and now equal to 2nd tp2 buy 1.237501.23550// 2nd tp
------------------------------
# buylimit 1.235501.23350//////////////////////////////1 buy 1.239501.23350// tp modified and now equal to 3rd tp2 buy 1.237501.23350// tp modified and now equal to 3rd tp3 buy 1.235501.23350// 3rd tp
------------------------------
# buylimit 1.233501.23150
Jetzt akzeptiert der neue Editor beide, aber... welcher funktioniert genauso wie die hervorgehobene Zeile? wenn beide wahr sind, welchen sollte ich dann verwenden? (bequemer?)
PS: Untenstehender Code wird auch vom neuen Editor akzeptiert...
if((SignalS & AAA) !=0)
Der neue Editor akzeptiert alle drei, aber... welcher funktioniert genauso wie die hervorgehobene Zeile? wenn alle wahr sind, welcher ist dann praktischer für mich?
qgmql: Der neue Editor akzeptiert alle drei, aber... welche funktioniert genauso wie die hervorgehobene Zeile? Wenn alle zutreffen, welche ist dann für mich praktischer?
Bei früheren Builds war bitweise und höher als Multiplikation
Operation
Beschreibung
Reihenfolge der Ausführung
()
[]
.
Funktionsaufruf
Referenzierung auf ein Array-Element
Referenzierung auf ein Strukturelement
Von links nach rechts
!
~
++
--
(Typ)
sizeof
Logische Negation
Bitweise Negation (Komplement)
Vorzeichenwechsel
Inkrement um eins
Dekrementieren um eins
Typisierung
Bestimmung der Größe in Bytes
Von rechts nach links
*
/
%
Multiplikation
Division
Modul-Division
Von links nach rechts
+
Addition
Subtraktion
Von links nach rechts
<<
>>
Linke Verschiebung
Rechtsverschiebung
Von links nach rechts
<
<=
>
>=
Kleiner als
Kleiner als oder gleich
Größer als
Größer als oder gleich
Von links nach rechts
==
!=
Gleich
Nicht gleich
Von links nach rechts
&
Bitweise UND-Verknüpfung
Von links nach rechts
^
Bitweises exklusives ODER
Von links nach rechts
|
Bitweise ODER-Verknüpfung
Von links nach rechts
&&
Logische UND-Verknüpfung
Von links nach rechts
||
Logische ODER-Verknüpfung
Von links nach rechts
?:
Bedingter Operator
Von rechts nach links
=
*=
/=
%=
+=
-=
<<=
>>=
&=
^=
|=
Zuweisung
Multiplikation mit Zuweisung
Division mit Zuweisung
Modul mit Zuweisung
Addition mit Zuweisung
Subtraktion mit Zuweisung
Linksverschiebung mit Zuweisung
Rechtsschiebung mit Zuweisung
Bitweises UND mit Zuweisung
Exklusives ODER mit Zuweisung
Bitweises ODER mit Zuweisung
Rechts nach links
,
Komma
Von links nach rechts
() Funktionsaufruf von links nach rechts [] Verweis auf ein Array-Element
! Logische Negation Von rechts nach links - Vorzeichenwechselnde Operation ++ Inkrement -- Dekrement ~ Bitweise Negation (Komplement)
&Bitweise Operation UND Von links nach rechts | Bitweise Operation ODER ^ Bitweise Operation exklusives ODER << Linksverschiebung >> Rechtsverschiebung
* Multiplikation von links nach rechts / Division % Modul-Division
+ Addition von links nach rechts - Subtraktion
< Kleiner als Von links nach rechts <= Kleiner als oder gleich > Größer als >= Größer als oder gleich == Gleich!=Nicht gleich
|| Logisches ODER von links nach rechts
&& Logisches UND Von links nach rechts
= Zuweisung Von rechts nach links += Zuweisung Addition -= Zuweisung Subtraktion *= Zuweisung Multiplikation /= Zuweisung Division %= Zuweisungsmodul >>= Zuweisung Rechtsverschiebung <<= Zuweisung Linksverschiebung &= Zuweisung bitweise UND |= Zuweisung bitweise ODER ^= Zuweisung exklusives ODER
WHRoederhabe ich Ihren Code gefunden (select last market order) und hervorgehobene Zeilen hinzugefügt, um den tp-Preis zu prüfen und den gleichen tp-Preis für frühere Aufträge zu setzen:
int PositionIndex; // <-- this variable is the index used for the loopint TotalNumberOfOrders; // <-- this variable will hold the number of orders currently in the Trade pooldouble Ord_TP=0;
TotalNumberOfOrders = OrdersTotal(); // <-- we store the number of Orders in the variablefor(PositionIndex = TotalNumberOfOrders - 1; PositionIndex >= 0 ; PositionIndex --) // <-- for loop to loop through all Orders . . COUNT DOWN TO ZERO !
{
if( ! OrderSelect(PositionIndex, SELECT_BY_POS, MODE_TRADES) ) continue; // <-- if the OrderSelect fails advance the loop to the next PositionIndexif( OrderMagicNumber() == MagicNo // <-- does the Order's Magic Number match our EA's magic number ?
&& OrderSymbol() == Symbol() // <-- does the Order's Symbol match the Symbol our EA is working on ?
&& ( OrderType() == OP_BUY// <-- is the Order a Buy Order ?
|| OrderType() == OP_SELL ) ) // <-- or is it a Sell Order ?if(OrderTakeProfit()>0)Ord_TP = OrderTakeProfit(); break;if(OrderTakeProfit() == Ord_TP) continue;OrderModify(OrderTicket(),0,0,Ord_TP,0,CLR_NONE);//if ( ! OrderClose( OrderTicket(), OrderLots(), OrderClosePrice(), Slippage ) ) // <-- try to close the order//Print("Order Close failed, order number: ", OrderTicket(), " Error: ", GetLastError() ); // <-- if the Order Close failed print some helpful information
} // end of For loop
(Alle Market+Pending Orders sind nur zum Kaufen, nicht zum Verkaufen, oder nur zum Verkaufen, nicht zum Kaufen, und ich möchte, dass der tp aller Market Orders jedes Mal geändert wird, wenn eine neue Market Order eröffnet wird).
DAS IST WIRKLICH SCHWIERIG FÜR MICH, ABER ICH MÖCHTE ES SCHAFFEN :(
Die Dinge werden immer komplizierter für mich. Ich denke, ich sollte Code von Anfang an schreiben. und ich werde jeden Teil des Codes hier einfügen. vielleicht könnte ich das besser verstehen.
Ist dieser Code in Ordnung? Wenn nicht, dann schreiben Sie bitte einen Code anstelle des Links, ich bin immer noch verwirrt.
NEIN https://www.mql5.com/en/forum/133792/page3#550831
gibt den Pipwert für ein Lot, das mit einem bestimmten Symbol gehandelt wird
1. Es sind einige Kaufaufträge geöffnet und ein schwebender Kaufauftrag ist platziert. Alle Aufträge sind im gleichen Währungspaar. Wie wird ein EA nur den letzten geöffneten Auftrag auswählen, um seine Stop-Limits zu überprüfen?
2. Jede geöffnete Order wurde zu unterschiedlichen Preisen mit tp 20 platziert. Ist es für den EA möglich, alle geöffneten Orders außer der letzten zu modifizieren und ihre Stop-Limits auf die Stop-Limits der zuletzt geöffneten Order zu ändern?
BEISPIEL:
Einige Verwirrung mit...
Der alte Editor akzeptiert die markierten Zeilen, aber der neue Editor gibt die Warnung "Expression not boolean"
Ich habe dann versucht...
Jetzt akzeptiert der neue Editor beide, aber... welcher funktioniert genauso wie die hervorgehobene Zeile? wenn beide wahr sind, welchen sollte ich dann verwenden? (bequemer?)
PS: Untenstehender Code wird auch vom neuen Editor akzeptiert...
Der neue Editor akzeptiert alle drei, aber... welcher funktioniert genauso wie die hervorgehobene Zeile? wenn alle wahr sind, welcher ist dann praktischer für mich?
(SignalS & AAA) !=0Operation
Beschreibung
Reihenfolge der Ausführung
()
[]
.
Funktionsaufruf
Referenzierung auf ein Array-Element
Referenzierung auf ein Strukturelement
Von links nach rechts
!
~
++
--
(Typ)
sizeof
Logische Negation
Bitweise Negation (Komplement)
Vorzeichenwechsel
Inkrement um eins
Dekrementieren um eins
Typisierung
Bestimmung der Größe in Bytes
Von rechts nach links
*
/
%
Multiplikation
Division
Modul-Division
Von links nach rechts
+
Addition
Subtraktion
Von links nach rechts
<<
>>
Linke Verschiebung
Rechtsverschiebung
Von links nach rechts
<
<=
>
>=
Kleiner als
Kleiner als oder gleich
Größer als
Größer als oder gleich
Von links nach rechts
==
!=
Gleich
Nicht gleich
Von links nach rechts
&
Bitweise UND-Verknüpfung
Von links nach rechts
^
Bitweises exklusives ODER
Von links nach rechts
|
Bitweise ODER-Verknüpfung
Von links nach rechts
&&
Logische UND-Verknüpfung
Von links nach rechts
||
Logische ODER-Verknüpfung
Von links nach rechts
?:
Bedingter Operator
Von rechts nach links
=
*=
/=
%=
+=
-=
<<=
>>=
&=
^=
|=
Zuweisung
Multiplikation mit Zuweisung
Division mit Zuweisung
Modul mit Zuweisung
Addition mit Zuweisung
Subtraktion mit Zuweisung
Linksverschiebung mit Zuweisung
Rechtsschiebung mit Zuweisung
Bitweises UND mit Zuweisung
Exklusives ODER mit Zuweisung
Bitweises ODER mit Zuweisung
Rechts nach links
,
Komma
Von links nach rechts
WHRoeder habe ich Ihren Code gefunden (select last market order) und hervorgehobene Zeilen hinzugefügt, um den tp-Preis zu prüfen und den gleichen tp-Preis für frühere Aufträge zu setzen:
Eine extra Zeile...
Bitte führen Sie mich, wenn ich falsch liege.
(Alle Market+Pending Orders sind nur zum Kaufen, nicht zum Verkaufen, oder nur zum Verkaufen, nicht zum Kaufen, und ich möchte, dass der tp aller Market Orders jedes Mal geändert wird, wenn eine neue Market Order eröffnet wird).
DAS IST WIRKLICH SCHWIERIG FÜR MICH, ABER ICH MÖCHTE ES SCHAFFEN :(