[ARCHIVIO] Qualsiasi domanda da principiante, per non ingombrare il forum. Professionisti, non passate oltre. Da nessuna parte senza di te - 3. - pagina 383

 
Ciao a tutti !!!!!
Domanda: come trovare l'ordine perdente più recente?
Qual è il principio di base per il quale non si può fare nulla? È un ordine a prezzo aperto o c'è qualche altro modo ?????
 
VOLDEMAR:
Qual è il principio? Prezzo di apertura dell'ordine ??? o c'è qualche altro modo ????

OrdineProfitto()
 
drknn:

OrdineProfitto()
Cosa c'e'? OrderProfit() Potresti essere più specifico?
 
artmedia70:

Si collega questa libreria all'EA. All'inizio del codice, scrivetelo dopo che le librerie standard sono collegate:

Nell'EA, nella funzione start(), fate una chiamata alla funzione che si trova nella libreria e compilate l'EA, non la libreria.


Ho fatto tutto come hai detto tu e ora quando compilo l'EA, esce non può aprire il file del programma e punta alla linea con il nome della mia funzione: #include <GetExstremumZZZPrice.mqh>
 
VOLDEMAR:
Cosa c'e'? OrderProfit() Puoi essere più specifico?
Nel ciclo for(), iniziate a scorrere gli ordini in ordine, ma dalla fine utilizzando la funzione OrderSelect() e il parametro MODE_HISTORY. Una volta trovato un ordine perdente usando la funzione OrderProfit(), chiamate break(). Avete trovato quello che stavate cercando!
 
Spiegare cosa OrderCloseBy è chiaro che un ordine è diverso, e cosa fa?
 
T-G:
Spiegare cosa OrderCloseBy è chiaro che un ordine è diverso, e cosa fa?
Dà un piccolo risparmio sullo spread.
 
splxgf:
Questo dà un piccolo risparmio sullo spread.

A occhio e croce, è esattamente il doppio.
 
VOLDEMAR:
Cosa c'e'? OrderProfit() Potresti essere più specifico?

Dichiariamo una variabile di tipo datetime (ad esempio Ord_Time) e la impostiamo immediatamente a zero. Dichiariamo una variabile intera, per esempio Ticket, e poi cancelliamo anche questa. Poi creiamo un ciclo che passerà in rassegna tutti gli ordini della cronologia. Il prossimo ordine è stato selezionato. Se il tempo della sua chiusura è superiore (o uguale) a quello della variabile Ord_Time e OrderProfit() è inferiore a zero, la variabile Ord_Time =OrderCloseTime() e la variabile Ticket =OrderTicket(). Come risultato di questo ciclo, la variabile Ticket conterrà un ticket dell'ultimo ordine perdente, o zero, se non ci sono ordini perdenti nella storia.
 
drknn:

Dichiarare una variabile datetime (ad esempio Ord_Time) e impostarla immediatamente a zero. Dichiariamo una variabile intera, per esempio Ticket, e impostiamo anche questa a zero. Poi creiamo un ciclo che passerà in rassegna tutti gli ordini della cronologia. Il prossimo ordine è stato selezionato. Se il tempo della sua chiusura è superiore (o uguale) a quello della variabile Ord_Time e OrderProfit() è inferiore a zero, la variabile Ord_Time =OrderCloseTime() e la variabile Ticket =OrderTicket(). Il risultato di questo ciclo è che la variabile Ticket conterrà un ticket dell'ultimo ordine perdente, o zero, se non ci sono ordini perdenti nella storia.

Perché rendere le cose così complicate?

Eseguite il seguente script:

int start()
{
   for (int Pos = OrdersHistoryTotal()-1; Pos >= 0; Pos--)
      if(OrderSelect(Pos, SELECT_BY_POS, MODE_HISTORY))
      {
         Print(OrderTicket(), ": ", TimeToStr(OrderCloseTime()));
      }
}

Ho scritto la soluzione sopra. Abbiamo solo bisogno di inserire una linea in questo codice.