Domande da un "manichino" - pagina 15

 
Yedelkin:
Domanda aggiuntiva: c'è un modo elegante per salvare le informazioni quando si passa double <-> long?
Copiare strutture semplici https://www.mql5.com/ru/docs/basis/types/casting#casting_structure
Документация по MQL5: Основы языка / Типы данных / Приведение типов
Документация по MQL5: Основы языка / Типы данных / Приведение типов
  • www.mql5.com
Основы языка / Типы данных / Приведение типов - Документация по MQL5
 
stringo:

Tutti i 64. Infatti. Non aggrappatevi a un tipo firmato o non firmato.

La cosa migliore è vedere di persona. Allora la questione è chiusa una volta per tutte.

Sì, ho già scritto che ho dimenticato la conversione dei tipi.

e già controllato tutto. Il segno non è perso, tutto è a posto.

 
Ops! La stessa cosa del secondo esempio di Metadriver! ...Ecco quanto è importante l'enfasi sull'apparentemente già letto.
 
sergeev:

Controllare PositionClose nella classe CTrade.
Sono sicuro che sarà lo stesso del vostro. L'unica conclusione è che non c'è altro modo.

Ma appoggio la sua richiesta. Chiedo agli sviluppatori di considerare questa variante.

Aggiungere il tipo di operazione TRADE_ACTION_CLOSE - chiusura di una posizione per un simbolo specificato nel suo volume al prezzo corrente.

Sarebbe l'ideale! Secondo.

Per il resto del forum, vi illustrerò di nuovo brevemente il problema.

Con l'attuale sistema di contabilità delle operazioni/ordini e dei metodi di chiusura in MQL5, c'è sempre una probabilità non nulla che la posizione SL/TP chiusa dal mercato non si chiuda effettivamente, e venga aperta la posizione opposta.

Più il mercato è vicino alla posizione SL/TP, più alta è questa probabilità, rendendo impossibile una chiusura fuori dal mercato con una chiusura SL/TP (dato che una chiusura SL/TP può avvenire durante l'invio di un nuovo ordine di mercato per chiudere)

Le soluzioni esistenti non sono soddisfacenti

a) la rimozione dello SL/TP prima della chiusura dell'ordine richiede tempo e, in caso di guasto della connessione, la posizione rimarrà sul mercato senza uno stop, ecc.

b) anche aspettare l'innesco di SL/TP non è un'opzione, perché potremmo aver bisogno di uscire prima.

Capisco che l'introduzione del nuovo sistema di contabilità impone alcune restrizioni, ma quando l'usabilità di un prodotto è totalmente sacrificata per il bene del concetto, le masse difficilmente saranno interessate ad esso :(

Cari sviluppatori, cosa consigliate di usare per un'uscita GARANTITA dal mercato (il prezzo non è importante) ? Quando richiedo di chiudere in MQL4, posso essere sicuro che la posizione sarà chiusa, o l'Expert Advisor otterrà un codice di errore e continuerà a provare.

 
Yedelkin:

Fatto! Nel cifrario, sostituire la linea 14 con L.l = 4548887299649496524

............

Punteggio! ;)

 
Dal riferimento:
PositionClose
...
Примечание

Успешное окончание работы метода PositionClose(...)
не всегда означает успешное совершение торговой операции.
Необходимо проверять результат выполнения торгового запроса
(код возврата торгового сервера) вызовом метода ResultRetcode().

Un giusto avvertimento.

***

Nessun avvertimento di questo tipo potrebbe essere trovato sulla chiusura manuale della posizione, ma in Trading al momento della chiusura di un contatore ...

Affinché la chiusura di una posizione sia garantita, lo slippage aumenterà a seconda della volatilità? O cosa? È un tale "ciao ai commercianti di pip"?

Appoggio la domanda agli sviluppatori.

 

Silenzioso, non si tratta di slittamento e controllo del codice di ritorno lì.

Il problema è che per chiudere una posizione, è necessario inviare esplicitamente una richiesta di apertura di una nuova posizione, ma nella direzione opposta.

Il server commerciale vede questa richiesta esattamente come un'apertura di una nuova posizione. Non è addestrato a capire che vogliamo effettivamente chiudere una posizione esistente.

Dal punto di vista del netting è più o meno corretto, ma poi è impossibile chiudere GARANTISAMENTE una posizione con SL/TP dal mercato. Non importa quanto sia distante questo SL/TP, non possiamo essere sicuri che mentre stiamo preparando un nuovo ordine (per chiuderlo) il prezzo prenderà il nostro SL/TP e la posizione si chiuderà da sola. E il nostro nuovo ordine funzionerà e aprirà una posizione opposta.

Credo che l'unica via d'uscita, come suggerito da sergeev, sia insegnare al server a distinguere una richiesta di apertura di una nuova posizione dalla chiusura di una esistente implementando una nuova casella di controllo di tipo operazione"TRADE_ACTION_CLOSE".

Ma forse gli sviluppatori hanno la loro variante?

 
Nessuno ha una soluzione?
 
Cron:
Nessuno ha una soluzione?
Ci sono soluzioni, ma difficilmente vi soddisferanno... Per esempio, togliendo SL/TP e poi secondo l'algoritmo... L'hai detto tu stesso:"In termini di netting sembra corretto, ma poi non puoi GARANTIRE la chiusura della posizione dal mercato...".
 
Yedelkin:
Ci sono alcune soluzioni, ma non sono adatte a voi. Per esempio, togliendo SL/TP e così via secondo l'algoritmo... Tu stesso hai dichiarato:"Dal punto di vista del netting sembra corretto, ma poi è impossibile chiudere GARANTISAMENTE la posizione dal mercato...".

Sì, rimuovere SL/TP è una perdita di tempo, più il rischio di rimanere sul mercato senza uno stop in caso di problemi di connettività.

Penso, tuttavia, che"TRADE_ACTION_CLOSE" potrebbe essere aggiunto per comodità di molti utenti che lavorano in DC. [E per esempio per disabilitare questo tipo di operazione dove la rete è importante? (FORTS, RTS)].

Senza alcuni passi verso l'utente non ha senso per molti clienti delle società di brokeraggio passare alla MT5. Avendo un po' di esperienza nella programmazione ho comunque affrontato alcune difficoltà quando ho portato un EA da MQL4 a MQL5. Ma tutti sono stati risolti in un modo o nell'altro tranne questo problema SL/TP e la chiusura dal mercato.

Non voglio insegnare agli sviluppatori quello che sanno meglio di me, ma voglio menzionare che inseguire un prodotto universale per le borse e le società di brokeraggio a scapito della facilità d'uso porterà a una minore domanda del prodotto e molte persone rimarranno su MT4 :(