Domande da un "manichino" - pagina 100

 
220Volt:

Buon pomeriggio. C'è un fenomeno come la distorsione degli ultimi bit nel doppio, per favore consigliate quali condizioni devono essere create perché avvenga una tale distorsione? La distorsione è possibile nelle operazioni = ? È possibile la distorsione quando si memorizzano gli interi in doppio? Durante l'esecuzione delle operazioni?

x=M_PI;
y=sqrt(x);
y=y*y;

Cos'è una variante della distorsione?
 

Per favore consigliatemi. C'è un modo per scoprire programmaticamente (nella funzione OnTrade()) se uno Stop Loss, Take Profit o un ordine pendente è stato impostato, modificato o cancellato manualmente (tramite terminale)? E un breve esempio, se non è difficile.

Al momento, le operazioni elencate sono registrate e scritte in uno o più file, che si trovano nella directory D:\Metatrader 5\logs\. Quindi non posso leggerli programmaticamente.

Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
Документация по MQL5: Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров
  • www.mql5.com
Стандартные константы, перечисления и структуры / Торговые константы / Свойства ордеров - Документация по MQL5
 
tol64:

Si prega di avvisare. C'è un modo per scoprire programmaticamente (nella funzione OnTrade()) se uno Stop Loss, un Take Profit o un ordine pendente è stato impostato, modificato o cancellato manualmente (tramite terminale)? E un breve esempio, se non è difficile.

La funzione ha gestito eventi quando certe liste sono state cambiate prima, non c'erano parametri. Se tutto è uguale, risulta che gli eventi di impostazione, modifica o cancellazione degli ordini devono essere gestiti indipendentemente dal fatto che gli ordini siano stati impostati manualmente o meno. È corretto? Se è corretto, possiamo cercare di scoprire il biglietto d'ordine quando arrivano gli eventi Trade (se l'evento si riferisce a un ordine), e se scopriamo che non è stato impostato programmaticamente un tale biglietto, possiamo seguire il suo destino. Va più o meno così.
 
Yedelkin:
In precedenza, la funzione gestiva gli eventi quando certe liste venivano cambiate, non c'erano parametri. Se tutto rimane uguale, allora risulta che gli eventi impostati, modificati o cancellati dovrebbero essere ricevuti indipendentemente dal fatto che gli ordini siano impostati manualmente o meno. È corretto? Se è corretto, possiamo cercare di scoprire il ticket di ogni evento Trade (se l'evento si riferisce a un ordine) e se scopriamo che nessun ticket è stato impostato programmaticamente, possiamo seguire il suo destino. Va più o meno così.
Sì, è corretto, ma solo se gli eventi si riferiscono a scambi, per quanto ne so. Ho bisogno di scoprire se gli eventi di modifica degli ordini in modalità manuale possono essere tracciati programmaticamente.
 
tol64:
Sì, tutto è corretto, ma solo se gli eventi sono legati a scambi, per quanto ne so. Ho bisogno di scoprire se è possibile tracciare programmaticamente gli eventi di modifica degli ordini in modalità manuale.

No, no, leggete la documentazione con urgenza :) O ancora meglio articoli. La lista delle offerte è solo una parte di tutte le liste. Significa che gli eventi dovrebbero essere diversi... Tuttavia, l'ho letto io stesso molto tempo fa, potrei dimenticarlo.

L'articolo"Elaborazione di eventi commerciali nell'Expert Advisor con la funzione OnTrade()" e l'articolo"Eventi commerciali in MetaTrader 5" di Roche.

 
Yedelkin:

No, no, leggete la documentazione con urgenza :) Almeno quella parte era più o meno chiara lì. La lista delle transazioni è solo una parte di tutte le liste. Quindi anche gli eventi devono essere diversi.

E ancora meglio: c'era un articolo su questa funzione, e un articolo di Roche sugli eventi commerciali (se non mi sbaglio nel titolo).

)) In OnTrade() riesco a definire eventi come questo:

DEAL_ENTRY_IN, DEAL_ENTRY_OUT, DEAL_ENTRY_INOUT.

Posso anche determinare se uno di questi eventi era solo un affare o un ordine pendente attivato e che tipo di ordine pendente era. E anche se si trattava di una nuova posizione o di un aumento/diminuzione di una posizione già esistente.

---

Non so come rilevare le modifiche di qualsiasi ordine. Non ho visto nessun esempio di questo nella documentazione. Ho bisogno di un suggerimento. Un semplice suggerimento da parte degli sviluppatori. C'è questa possibilità o no? E questa possibilità sarà mai implementata o no, per sbarazzarsi di questa domanda o cercare di risolverla in qualche altro modo intelligente. :)

---

C'è anche questa sezione nella documentazione: Tipi di scambi. Ma questi eventi possono essere identificati se sono stati fatti programmaticamente.

 
Yedelkin:

...

Articolo su questa funzione"Gestire gli eventi commerciali negli EA utilizzando la funzione OnTrade()".

Ho trovato in questo articolo ciò che chiedevo. L'ho letto una volta, ma l'ho completamente dimenticato. :)
 
tol64:
Ho trovato quello che chiedevo in questo articolo. L'ho letto una volta, ma l'avevo completamente dimenticato. :)

Di solito dimentico tutte le sottigliezze dopo un mese. Ecco perché non faccio altro che rileggere. Ho letto sezioni del manuale e articoli :)

Ecco un'altra frase "...il cambiamento di SL e TP non cambia... e anche l'evento OnTrade non viene generato, si sovrascrivono solo i campi SL e TP (come per la posizione aperta)" può essere utile. Io stesso, tuttavia, non ho capito come farlo.

 
tol64:
Sì, è corretto, ma solo se gli eventi si riferiscono a scambi, per quanto ne so. Ho bisogno di scoprire se gli eventi di modifica degli ordini possono essere tracciati programmaticamente in modo manuale.
Almeno l'impostazione e la rimozione di un ordine è gestita, ma senza parametri è tutto una rottura di palle. Non posso dire per il cambiamento, ma anche questo dovrebbe essere gestito, per idea.
tol64:
Ho trovato quello che chiedevo in questo articolo. L'ho letto una volta, ma l'ho completamente dimenticato. :)
Ci ho pensato subito. Forse le soluzioni descritte non sono così ideali ed eleganti come vorremmo che fossero (soprattutto considerando che mancano ancora i parametri), ma in linea di principio hanno tutte le basi.
 

Potete dirmi come ottenere il prezzo bid e ask di un'altra coppia di valute, non attuale al momento, in mt4 c'era un comando marketinfo, in mt5 non c'è.

Ho un'ipotesi che dobbiamo andare versoSymbolInfoDouble(Symbol(),SYMBOL_ASK) e qui operare con il valoreSymbol(), ma non riesco a capire come.