Errori, bug, domande - pagina 2404

 
Ilya Malev:

Quindi lasciatelo lavorare, chi lo ferma? Non funziona comunque come funzionava MT4, quindi sta a voi cambiare questo comportamento per il 90% del tempo, o per il restante 10%.

Aspettate un esempio di come usare questo comportamento?

 
Ilya Malev:

Avete bisogno di un consulente per scriverne uno? Penso che tu possa farlo da solo, così come posso farlo io.

Menzionate spesso SELECT_BY_TICKET ma non ne date alcun uso pratico.

Io stesso non uso questo costrutto. Inoltre, penso che usarlo in MT4 sia pericoloso.

Ilya Malev:

Nel 90% dei casi non è SELECT_BY_TICKET nella storia, ma funziona con gli ordini come con le entità indivisibili. La chiusura o l'apertura parziale è una rarità per la maggior parte dei broker forex. Di solito o chiudono/aprono completamente l'ordine o danno un offquote

MT5 è anche una piattaforma di scambio dove il parziale non è affatto raro. Inoltre, c'era un esempio sopra in cui l'utente chiude parzialmente la sua posizione. È una pratica perfettamente normale quando, per esempio, il trader chiude una posizione in parti a diversi livelli di prezzo.
 
fxsaber:

Menzionate spesso SELECT_BY_TICKET, ma non date nessuna applicazione pratica.

Io stesso non uso questo costrutto. Inoltre, penso che usarlo in MT4 sia pericoloso.

Forse hai ragione, ma questa è una parte di funzionalità che non funziona nella tua libreria nello stesso modo in cui funziona in MT4. In realtà ho indicato questo fatto senza alcuna intenzione di commentarlo.

 
Ilya Malev:

Forse hai ragione, ma questa è una parte della funzionalità che funziona diversamente nella tua libreria rispetto a MT4. In realtà ho segnalato questo fatto senza alcuna intenzione di commentarlo.

È specificatamente menzionato nella discussione della biblioteca. Vengono forniti esempi e argomenti rilevanti per il fatto che anche su MT4 usare SELECT_BY_TICKET è una cattiva logica di trading.

 
Ilya Malev:

Se pensate che questa modalità non debba essere usata affatto, allora rendetela come era in MT4 e non raccomandatene l'uso.

Questa modalità può essere utile in certe situazioni.

Solo in caso - il comportamento del server alla chiusura parziale in MT4 era diverso per i diversi broker e non è garantito che sia il modo in cui lo hai descritto

Puoi provare a cercare un posto dove in una chiusura parziale in MT4 la posizione non cambierà il biglietto. Il codice di cui sopra è stato dato.

 
Ilya Malev:

1. Forse dovrei chiederti di fare un esempio ora (solo non in questo thread, è già ingombro)

Abbiamo visto una posizione chiusa nella cronologia del terminale. Abbiamo bisogno di ottenere rapidamente i suoi dati - abbiamo scritto un biglietto nello script e questo è tutto.

Oppure abbiamo bisogno di ordinare la storia del trading a modo nostro. Ordina i biglietti e seleziona.

2. In realtà non mi interessa, se cambia il biglietto alla chiusura parziale o no, perché non ha effetto sulla selezione dell'ordine all'interno del biglietto quando la chiusura parziale non viene utilizzata. E quando viene utilizzato, è necessario o guardare il commento (MT4), o selezionare le operazioni per numero di posizione (MT5).

Tutto è selezionabile per biglietto. È solo che il biglietto di posizione cambia quando lo chiudi. Questa è l'unica differenza rispetto a MT4.

 
Ilya Malev:

Quindi, dovreste fare una funzione aggiuntiva che permetta di trovare il numero di biglietto cambiato dal vecchio numero, invece di insistere che la funzionalità SELECT_BY_TICKET che esisteva in MT4 era "sbagliata". Anche se sono affari suoi, naturalmente.

C'è una funzione di MT5 di cui i codificatori potrebbero aver bisogno, ma è difficile da implementare. E c'è quello che è facile da implementare ma difficilmente necessario.

Ha senso fare qualcosa solo nel primo caso. Per esempio, OrderOpenPriceRequest è una cosa super, perché è elementare per calcolare lo slippage all'apertura.

Ma OrderTicketOld è una cosa molto semplice (POSITION_ID) e non riguarda nulla. Ecco il biglietto di apertura dell'accordo - una cosa difficile da implementare, per questo si fa.

 
Ilya Malev:

Hai un requisito nella parte delle librerie che l'Expert Advisor deve essere scritto "in stile MT4". Sulla base di questo requisito, è ragionevole implementare una funzione che si adatta esattamente a questo stile, permettendo di scrivere il codice così come si potrebbe su MT4.

Non hai mostrato un EA che non funzionerebbe.

 
Alluvione
 
fxsaber:

La chiusura parziale non è necessariamente un riempimento parziale sul lato server.

Quindi come selezionare 0,2 lotti chiusi in una tale situazione in MT5?

Non ne ho idea in MT5, ma in MT4 stavo cercando un'opportunità per fare una chiusura parziale di un ordine e trovare un nuovo ticket ma senza usare il campo OrderComment()

tutto funziona in generale come in MT4:

- selezionare un ordine nella lista degli ordini di mercato e ottenere un biglietto

- richiediamo OrderClose() - otteniamo true

- il vecchio ticket è andato nella cronologia degli ordini ed è apparso un nuovo ticket di mercato; se l'ordine è stato chiuso completamente (non parzialmente), non apparirà nessun nuovo ticket

Il tema della chiusura parziale in MT4 è abbastanza interessante, ho chiesto, ma ahimè, tutti i Guru hanno inviato a cercare la felicità in OrderComment() - non mi piace, ma a quanto pare la gente non lo prendono fuori, un argomento con discussione di un algoritmo efficace per MT4 prima, avrei partecipato


SZY: non riesco a trovare il codice sorgente, non mi piace l'implementazione - ho salvato i ticket degli ordini di mercato in un array e subito dopo una chiusura parziale ho usato ArrayBsearch() per trovare un ordine mancante nell'array, cioè un nuovo ticket