Quindi i gravi problemi sono causati dall'implementazione di questa opzione?
voidOnTrade(
conststring symbol,//символ, от которого (по которому) пришло торговое событиеconstuchar type, //тип торгового события (изменения в ордерах, позициях или сделках)constulong ticket //тикет ордера или сделки, либо идентификатор позиции (в зависимости от второго параметра)
);
Esattamente. Il fatto è che il commercio e la coda dei messaggi non sono sincronizzati in alcun modo. Uno stesso biglietto può ricevere un mucchio di messaggi.
Inoltre, quando si riceve il primo messaggio da questo mucchio, non si sa nulla della disponibilità di altri messaggi sullo stesso biglietto. Ti sei affrettato a elaborare una modifica del ticket, ma il ticket esiste già, è già nella cronologia delle posizioni chiuse. Cosa fare? Sconosciuto.
Ora, quando si verifica un evento di trading impersonale, è possibile conoscere immediatamente lo stato attuale delle posizioni aperte e la storia del trading. Non avete un numero di biglietto e non avete nulla a cui fare riferimento se non lo stato attuale.
Ho perso il contatto per un paio di giorni.
Forse, ci sono diverse varianti di utilizzo dei possibili parametri della funzioneOnTrade(), ma il mio obiettivo è questa variante:
1. ordini. Alla ricezione del prossimo messaggio "dalla pila", scopro dal ticket dell'ordine se l'ordine è nella lista degli ordini aperti(OrderSelect) o nella lista degli ordini storici(HistoryOrderSelect). Cioè ottengo le informazioni più aggiornate sulla posizione attuale di un certo ordine, in relazione alle liste di ordini.
2. Posizioni. Alla ricezione del prossimo messaggio "dall'heap", scopro lo stato di posizione di questo simbolo dal suo nome(PositionSelect). Cioè, ottengo anche le informazioni più accurate sullo stato attuale della posizione.
Poi lavoro con le proprietà di un simbolo specifico, se necessario.
Così, cerco di evitare un uso eccessivo di controlli ciclici.
papaklass: Se sei un trader demo hai solo bisogno di sapere se è scattato uno stop loss o un take profit e su quale strumento. Il resto degli eventi di trading sono esotici e hanno poco a che fare con il trading. IMHO. Quindi, se ci fosse un simbolo nella funzione OnTrade(), sarebbe possibile determinare (per esempio, confrontando il saldo corrente con quello precedente) cosa ha innescato sl o tp.
Sono d'accordo. Come minimo hai bisogno di un simbolo, e poi capiremo cos'era.
volpi:
Cercando di aprire un conto demo (ho provato diverse società di brokeraggio)
viene fuori
Ho provato diverse società di intermediazione e dopo questo non posso aprire un conto.
Quando hai scaricato il terminale e dove? Uno screenshot della finestra successiva è auspicabile, poiché questa non è informativa.
Win 2003 SP2 (in modalità terminale) perde costantemente informazioni sul mio conto di trading è un bug o è stato progettato per migliorare la sicurezza?
Più precisamente, se uso alternativamente la stessa copia del programma in modalità normale e terminale con diversi account, i dati dell'account scompaiono di tanto in tanto. Apparentemente, se si lavora solo in modalità terminale con diversi account, la situazione sarà simile (non l'ho ancora verificato).
papaklass: La maggior parte dei trader ha bisogno di sapere se uno stop loss o take profit è stato attivato e su quale strumento. Il resto degli eventi di trading sono esotici e hanno poco a che fare con il trading. IMHO. Quindi, se ci fosse un simbolo nella funzione OnTrade(), allora confrontando, per esempio, il valore del saldo corrente con quello precedente, si potrebbe determinare se è stato sl o tp a scattare.
In "protezione del biglietto" :) Preferisco lavorare con gli ordini in sospeso e tracciare il loro destino dalla nascita alla pensione. Che tipo di "esotismo con poca relazione con il commercio" è? Al contrario, è un'esigenza di tempo per seguire il destino degli ordini attraverso la loro bigliettazione. - È necessario per evitare di piazzare un secondo ordine in sospeso o di superare l'attivazione di un ordine già piazzato. Se abbiamo i parametri descritti sopra, possiamo spostare il blocco di tracciamento del punto dell'ordine nella funzione OnTrade().
papaklass: La maggior parte dei trader ha bisogno di sapere se uno stop loss o take profit è stato attivato e su quale strumento. Il resto degli eventi di trading sono esotici e hanno poco a che fare con il trading. IMHO. Pertanto, se ci fosse un simbolo nella funzione OnTrade(), si potrebbe determinare (per esempio, confrontando il saldo corrente con quello precedente) cosa ha innescato sl o tp.
Lo ripeterò ancora una volta. La questione non è chiusa. È stato rimandato fino a quando non troveremo una soluzione accettabile. Beh, i compiti più importanti non sono ancora stati risolti.
Yedelkin: In difesa del biglietto :) Preferisco lavorare con gli ordini in sospeso e seguire il loro destino dalla nascita alla pensione. Che tipo di "esotismo poco rilevante per il commercio" è questo? Al contrario, è un'esigenza di tempo per seguire il destino degli ordini attraverso la loro bigliettazione. - È necessario per evitare di piazzare un secondo ordine in sospeso o di superare l'attivazione di un ordine già piazzato. Se abbiamo i parametri descritti sopra, possiamo spostare il blocco di tracciamento del punto dell'ordine nella funzione OnTrade().
Forse, dare informazioni su quanti eventi commerciali sono ancora in coda semplificherà le cose.
Per favore consigliatemi come il seguente codice funzionerà su mql5 non capisco
in frequenza come ottenere l'ora corrente?Vedere
stringo:
Quindi i gravi problemi sono causati dall'implementazione di questa opzione?
Esattamente. Il fatto è che il commercio e la coda dei messaggi non sono sincronizzati in alcun modo. Uno stesso biglietto può ricevere un mucchio di messaggi.
Inoltre, quando si riceve il primo messaggio da questo mucchio, non si sa nulla della disponibilità di altri messaggi sullo stesso biglietto. Ti sei affrettato a elaborare una modifica del ticket, ma il ticket esiste già, è già nella cronologia delle posizioni chiuse. Cosa fare? Sconosciuto.
Ora, quando si verifica un evento di trading impersonale, è possibile conoscere immediatamente lo stato attuale delle posizioni aperte e la storia del trading. Non avete un numero di biglietto e non avete nulla a cui fare riferimento se non lo stato attuale.
Ho perso il contatto per un paio di giorni.
Forse, ci sono diverse varianti di utilizzo dei possibili parametri della funzioneOnTrade(), ma il mio obiettivo è questa variante:
1. ordini. Alla ricezione del prossimo messaggio "dalla pila", scopro dal ticket dell'ordine se l'ordine è nella lista degli ordini aperti(OrderSelect) o nella lista degli ordini storici(HistoryOrderSelect). Cioè ottengo le informazioni più aggiornate sulla posizione attuale di un certo ordine, in relazione alle liste di ordini.
2. Posizioni. Alla ricezione del prossimo messaggio "dall'heap", scopro lo stato di posizione di questo simbolo dal suo nome(PositionSelect). Cioè, ottengo anche le informazioni più accurate sullo stato attuale della posizione.
Poi lavoro con le proprietà di un simbolo specifico, se necessario.
Così, cerco di evitare un uso eccessivo di controlli ciclici.
Cosa c'è scritto? Quali sono i sintomi?
Niente, sto cercando di aprire un conto demo (ho provato diversi DC)
torna indietro
e poi non può creare un account
Se sei un trader demo hai solo bisogno di sapere se è scattato uno stop loss o un take profit e su quale strumento. Il resto degli eventi di trading sono esotici e hanno poco a che fare con il trading. IMHO. Quindi, se ci fosse un simbolo nella funzione OnTrade(), sarebbe possibile determinare (per esempio, confrontando il saldo corrente con quello precedente) cosa ha innescato sl o tp.
Cercando di aprire un conto demo (ho provato diverse società di brokeraggio)
viene fuori
Ho provato diverse società di intermediazione e dopo questo non posso aprire un conto.
Agli sviluppatori di
Win 2003 SP2 (in modalità terminale) perde costantemente informazioni sul mio conto di trading è un bug o è stato progettato per migliorare la sicurezza?
Più precisamente, se uso alternativamente la stessa copia del programma in modalità normale e terminale con diversi account, i dati dell'account scompaiono di tanto in tanto. Apparentemente, se si lavora solo in modalità terminale con diversi account, la situazione sarà simile (non l'ho ancora verificato).
La maggior parte dei trader ha bisogno di sapere se uno stop loss o take profit è stato attivato e su quale strumento. Il resto degli eventi di trading sono esotici e hanno poco a che fare con il trading. IMHO. Quindi, se ci fosse un simbolo nella funzione OnTrade(), allora confrontando, per esempio, il valore del saldo corrente con quello precedente, si potrebbe determinare se è stato sl o tp a scattare.
La maggior parte dei trader ha bisogno di sapere se uno stop loss o take profit è stato attivato e su quale strumento. Il resto degli eventi di trading sono esotici e hanno poco a che fare con il trading. IMHO. Pertanto, se ci fosse un simbolo nella funzione OnTrade(), si potrebbe determinare (per esempio, confrontando il saldo corrente con quello precedente) cosa ha innescato sl o tp.
In difesa del biglietto :) Preferisco lavorare con gli ordini in sospeso e seguire il loro destino dalla nascita alla pensione. Che tipo di "esotismo poco rilevante per il commercio" è questo? Al contrario, è un'esigenza di tempo per seguire il destino degli ordini attraverso la loro bigliettazione. - È necessario per evitare di piazzare un secondo ordine in sospeso o di superare l'attivazione di un ordine già piazzato. Se abbiamo i parametri descritti sopra, possiamo spostare il blocco di tracciamento del punto dell'ordine nella funzione OnTrade().