1. Ci sono alcuni ordini di acquisto aperti e un ordine di acquisto in sospeso. tutti gli ordini sono nella stessa coppia di valute. come fa un EA a selezionare solo l'ultimo ordine aperto per controllare i suoi limiti di stop?
2. ogni ordine aperto è stato piazzato a prezzi diversi con tp 20. è possibile per l'ea modificare tutti gli ordini aperti tranne l'ultimo, e cambiare i loro limiti di stop ai limiti di stop dell'ultimo ordine aperto?
ESEMPIO:
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
Ora il nuovo editor li accetta entrambi, ma... quale funzionerà allo stesso modo della linea evidenziata? se entrambi sono veri, quale dovrei usare? (più conveniente?)
PS: Il codice qui sotto è accettato anche dal nuovo editor...
if((SignalS & AAA) !=0)
Il nuovo editor li accetta tutti e tre, ma... quale funzionerà allo stesso modo della linea evidenziata? Se tutti sono veri, quale sarà più conveniente per me?
qgmql: Il nuovo editor li accetta tutti e tre, ma... quale funzionerà allo stesso modo della linea evidenziata? se sono tutti veri, allora quale sarà più conveniente per me?
Sulle build precedenti il bitwise ed era superiore alla moltiplicazione
Operazione
Descrizione
Ordine di esecuzione
()
[]
.
Chiamata di funzione
Riferimento ad un elemento della matrice
Riferimento ad un elemento della struttura
Da sinistra a destra
!
~
++
--
(tipo)
sizeof
Negazione logica
Negazione bitwise (complemento)
Cambio di segno
Aumenta di uno
Decremento di uno
Tipizzazione
Determinazione della dimensione in byte
Da destra a sinistra
*
/
%
Moltiplicazione
Divisione
Divisione del modulo
Da sinistra a destra
+
Addizione
Sottrazione
Da sinistra a destra
<<
>>
Spostamento a sinistra
Spostamento a destra
Da sinistra a destra
<
<=
>
>=
Meno di
Meno di o uguale
Maggiore di
Maggiore o uguale
Da sinistra a destra
==
!=
Uguale
Non uguale
Da sinistra a destra
&
Operazione bitwise AND
Da sinistra a destra
^
OR esclusivo bitwise
Da sinistra a destra
|
Operazione OR bitwise
Da sinistra a destra
&&
Operazione AND logico
Da sinistra a destra
||
Operazione OR logica
Da sinistra a destra
?:
Operatore condizionale
Da destra a sinistra
=
*=
/=
%=
+=
-=
<<=
>>=
&=
^=
|=
Assegnazione
Moltiplicazione con assegnazione
Divisione con assegnazione
Modulo con assegnazione
Addizione con assegnazione
Sottrazione con assegnazione
Spostamento a sinistra con assegnazione
Spostamento a destra con assegnazione
AND bitwise con assegnazione
OR esclusivo con assegnazione
OR Bitwise con assegnazione
Da destra a sinistra
,
Virgola
Da sinistra a destra
() Chiamata di funzione Da sinistra a destra [] Riferimento a un elemento della matrice
! Negazione logica Da destra a sinistra - Operazione di cambio di segno ++ Incremento -- Decremento ~ Negazione bitwise (complemento)
Operazione bitwise AND Da sinistra a destra| Operazione bitwise OR ^ Operazione bitwise OR esclusivo << Spostamento a sinistra >> Spostamento a destra
* Moltiplicazione Da sinistra a destra / Divisione % Divisione modulo
+ Addizione Da sinistra a destra - Sottrazione
< Meno di Da sinistra a destra <= Meno di o uguale > Più grande di >= Più grande di o uguale == Uguale!=Non uguale
|| OR logico Da sinistra a destra
&& AND logico Da sinistra a destra
= Assegnazione Da destra a sinistra += Addizione di assegnazione -= Sottrazione di assegnazione *= Moltiplicazione di assegnazione /= Divisione di assegnazione %= Modulo di assegnazione >>= Spostamento a destra di assegnazione <<= Spostamento a sinistra di assegnazione &= AND bitwise di assegnazione |= OR bitwise di assegnazione ^= OR esclusivo di assegnazione
WHRoederho trovato il tuo codice (seleziona l'ultimo ordine a mercato) e ho aggiunto delle linee evidenziate per controllare il suo prezzo tp e per impostare lo stesso prezzo tp sugli ordini precedenti:
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
(Tutti gli ordini a mercato + in attesa sono solo di acquisto, non di vendita o solo di vendita, non di acquisto e voglio che il tp di tutti gli ordini a mercato sia cambiato ogni volta, quando viene aperto un nuovo ordine a mercato ).
QUESTO È DAVVERO DIFFICILE PER ME, MA VOGLIO FARLO :(
Le cose stanno diventando complicate per me. Penso che dovrei scrivere il codice dall'inizio. e incollerò ogni parte del codice qui. forse potrei capire meglio.
Questo codice va bene? se no, allora per favore scrivi del codice invece del link, sono ancora confuso.
NO https://www.mql5.com/en/forum/133792/page3#550831
dà il valore del pip per un lotto scambiato su un simbolo specifico
1. Ci sono alcuni ordini di acquisto aperti e un ordine di acquisto in sospeso. tutti gli ordini sono nella stessa coppia di valute. come fa un EA a selezionare solo l'ultimo ordine aperto per controllare i suoi limiti di stop?
2. ogni ordine aperto è stato piazzato a prezzi diversi con tp 20. è possibile per l'ea modificare tutti gli ordini aperti tranne l'ultimo, e cambiare i loro limiti di stop ai limiti di stop dell'ultimo ordine aperto?
ESEMPIO:
Un po' di confusione con...
Il vecchio editor accetta le linee evidenziate, ma il nuovo editor dà un avviso "Espressione non booleana".
Ho provato allora...
Ora il nuovo editor li accetta entrambi, ma... quale funzionerà allo stesso modo della linea evidenziata? se entrambi sono veri, quale dovrei usare? (più conveniente?)
PS: Il codice qui sotto è accettato anche dal nuovo editor...
Il nuovo editor li accetta tutti e tre, ma... quale funzionerà allo stesso modo della linea evidenziata? Se tutti sono veri, quale sarà più conveniente per me?
(SignalS & AAA) !=0Operazione
Descrizione
Ordine di esecuzione
()
[]
.
Chiamata di funzione
Riferimento ad un elemento della matrice
Riferimento ad un elemento della struttura
Da sinistra a destra
!
~
++
--
(tipo)
sizeof
Negazione logica
Negazione bitwise (complemento)
Cambio di segno
Aumenta di uno
Decremento di uno
Tipizzazione
Determinazione della dimensione in byte
Da destra a sinistra
*
/
%
Moltiplicazione
Divisione
Divisione del modulo
Da sinistra a destra
+
Addizione
Sottrazione
Da sinistra a destra
<<
>>
Spostamento a sinistra
Spostamento a destra
Da sinistra a destra
<
<=
>
>=
Meno di
Meno di o uguale
Maggiore di
Maggiore o uguale
Da sinistra a destra
==
!=
Uguale
Non uguale
Da sinistra a destra
&
Operazione bitwise AND
Da sinistra a destra
^
OR esclusivo bitwise
Da sinistra a destra
|
Operazione OR bitwise
Da sinistra a destra
&&
Operazione AND logico
Da sinistra a destra
||
Operazione OR logica
Da sinistra a destra
?:
Operatore condizionale
Da destra a sinistra
=
*=
/=
%=
+=
-=
<<=
>>=
&=
^=
|=
Assegnazione
Moltiplicazione con assegnazione
Divisione con assegnazione
Modulo con assegnazione
Addizione con assegnazione
Sottrazione con assegnazione
Spostamento a sinistra con assegnazione
Spostamento a destra con assegnazione
AND bitwise con assegnazione
OR esclusivo con assegnazione
OR Bitwise con assegnazione
Da destra a sinistra
,
Virgola
Da sinistra a destra
WHRoeder ho trovato il tuo codice (seleziona l'ultimo ordine a mercato) e ho aggiunto delle linee evidenziate per controllare il suo prezzo tp e per impostare lo stesso prezzo tp sugli ordini precedenti:
Una linea in più...
Per favore, guida se mi sbaglio.
(Tutti gli ordini a mercato + in attesa sono solo di acquisto, non di vendita o solo di vendita, non di acquisto e voglio che il tp di tutti gli ordini a mercato sia cambiato ogni volta, quando viene aperto un nuovo ordine a mercato ).
QUESTO È DAVVERO DIFFICILE PER ME, MA VOGLIO FARLO :(