Errori, bug, domande - pagina 1494

 
zaskok3:

Una spiegazione sulla mancanza di OnMarketwatch sarebbe anche apprezzata.

Fareste meglio a non pretendere una spiegazione del perché questo evento non è in MT.

Dovresti scrivere al Service Desk con una spiegazione dettagliata di come pensi che dovrebbe funzionare e perché il 99% dei trader ne ha bisogno.

 
Maxim Khrolenko:
Secondo me, potete usare OnTimer() qui, per chiamare un evento ogni X millisecondi.
Questa soluzione ha da tempo una variante più precisa: mettere indicatori sui simboli richiesti e inviare l'evento utente all'Expert Advisor.
 
zaskok3:
Nuovo evento di arrivo del tick in Marketwatch. Simile a OnTick, ma solo che reagisce ai nuovi tick non di un simbolo, ma di tutti quelli che sono firmati in Marketwatch.

Con l'attuale flusso di quotazioni anche i propri tick possono arrivare in lotti, mentre elaborano un altro OnTick.

Per qualche ragione, molte persone pensano che quando si verifica qualche evento, il gestore di questo evento si attiva istantaneamente, anche se un altro evento viene elaborato dallo stesso Expert Advisor (cioè in parallelo). Questo non è il caso.

Tutti gli eventi sono allineati in una coda generale per lo stesso Expert Advisor. L'Expert Advisor li elaborerà uno per uno. In questo caso, tutto dipende dal programmatore - quanto efficacemente implementa l'elaborazione di un certo evento. Ma anche se il programmatore è un super programmatore e ha una super macchina, gonfierà comunque la coda se ci sono molti eventi (e tanto più se ci sono zecche di personaggi stranieri).

Quali sono gli argomenti per volere le zecche dai personaggi degli altri? "Non voglio far girare il timer per tenere traccia dei personaggi giusti, perché potrei essere troppo in ritardo per la distribuzione". E poiché l'evento di tick di un altro simbolo (specialmente se vengono monitorati più simboli) può essere ritardato nella coda dalla sua stessa elaborazione di un altro evento, c'è una probabilità molto più alta di essere in ritardo per il giveaway.

Credetemi, abbiamo effettivamente discusso di eventi sui tic di altre persone. Ecco perché siamo arrivati alla conclusione che "è molto meglio usare un timer".

 
zaskok3:

In MQL4++ non posso fare a meno di extern quando ho bisogno di cambiare i parametri di input programmaticamente.

Non c'è assolutamente nulla che vi impedisca di lavorare con variabili regolari. Per gli indicatori interattivi essenzialmente non c'è bisogno di parametri costanti esterni, che non sono controllati dalla vostra interattività.

Sei solo pigro e pretendi una ridondanza irrazionale, che non userai perché c'è un'alternativa funzionante.

 
Joo Zepper:
Che consiglio darebbe ai proprietari di diversi monitor? Come si può organizzare un lavoro efficiente con il terminale?

Tutte le schede e le finestre di servizio (toolbox, tester, panoramica del mercato, navigatore, finestra dei dati, barre degli strumenti) dovrebbero essere collocate su un monitor separato.

Lascia solo i grafici nella finestra del terminale. Allungare la finestra del terminale su diversi monitor che hanno la stessa dimensione e risoluzione

 
o_O:

Fareste meglio a non pretendere una spiegazione del perché questo evento non è in MT.

Dovresti scrivere al Service Desk con una spiegazione dettagliata di come pensi che dovrebbe funzionare e perché il 99% dei trader ne ha bisogno.

o_O:

Non c'è nulla che vi impedisca di lavorare con variabili normali. Per gli indicatori interattivi essenzialmente non c'è bisogno di parametri esterni che non siano controllati dalla vostra interattività.

Stai solo facendo il pigro ed esigendo una ridondanza irrazionale che tu stesso non userai dato che c'è già un'alternativa praticabile.

Non capisco una percezione così aggressiva della calma del ragionamento. Qualcosa ti è sembrato sbagliato... Non c'è, tutto va bene, calmatevi. Non sei R...

Maxim Khrolenko:
Penso che si possa usare OnTimer() qui, chiamare l'evento ogni X millisecondi.
o_O:
Questa soluzione è già stata sviluppata in modo più preciso - mettere gli indicatori sui simboli richiesti e inviare l'evento personalizzato all'Expert Advisor.

Lo so, per questo ho scritto subito:

zaskok3:

Per qualche ragione offrono soluzioni di stampella tramite un timer o una perversione ancora più grande - OnChartEvent.

Slawa, non capisco bene la tua logica:

Slawa:

Quali sono gli argomenti per volere le zecche dai personaggi degli altri? "Non voglio far girare il timer per tenere traccia dei personaggi giusti, perché potrei essere in ritardo per il giveaway". E poiché l'evento di tick di un altro simbolo (specialmente se vengono monitorati più simboli) può essere ritardato nella coda dalla sua stessa elaborazione di un altro evento, c'è una probabilità molto più alta di essere in ritardo nel giveaway.

Credetemi, abbiamo discusso degli eventi sui tic degli altri. Ecco perché siamo arrivati alla conclusione: "è molto meglio usare un timer".

Allora qual è lo scopo di avere OnTick, se un timer è sufficiente anche per i suoi tick? La mia logica potrebbe non funzionare correttamente. Ma il mio ragionamento è il seguente: dato che c'è OnTick, deve esserci anche OnMarketWatch. Poiché OnMarketWatch può essere implementato attraverso OnTimer, la stessa cosa può essere fatta con OnTick. Quindi, l'esistenza di OnTick ha lo stesso ragionamento dell'esistenza di OnMarketWatch. Ma uno esiste e l'altro no.

La coda OnTick viene azzerata per i tick che erano presenti quando l'OnTick corrente è stato eseguito (negli EA è così). Non è chiaro di quale overflow di coda stiamo parlando. Non è ragionevole mettere il timer al minimo nei fine settimana. E gli EA non attivano OnTick su ogni tick. Questo è il motivo per cui è impossibile raccogliere le zecche senza saltarle nell'EA. La coda è cancellata, e questo è normale. Non ci sono traboccamenti.

 

zaskok3:

Slawa, non capisco bene la tua logica:

Allora qual è lo scopo di avere OnTick, se un timer è sufficiente anche per i suoi tick? La mia logica, forse, non funziona correttamente. Ma il mio ragionamento è il seguente: se c'è OnTick, deve esserci anche OnMarketWatch. Poiché OnMarketWatch può essere implementato attraverso OnTimer, la stessa cosa può essere fatta con OnTick. Quindi, l'esistenza di OnTick ha lo stesso ragionamento dell'esistenza di OnMarketWatch. Ma uno esiste e l'altro no.

La coda OnTick viene azzerata per i tick che erano al momento dell'esecuzione dell'OnTick corrente (negli EA questo è il caso). Non è chiaro a cosa si riferisca l'overflow della coda. Non è ragionevole mettere il timer al minimo nei fine settimana. E gli EA non attivano OnTick su ogni tick. Questo è il motivo per cui è impossibile raccogliere le zecche senza lacune nell'EA. La coda è cancellata, e questo è normale. Non ci sono traboccamenti.

OnTick si è spostato senza soluzione di continuità dalla funzione di avvio quadruplo

OnTick copre il 99% delle esigenze e permette di scrivere programmi semplici.

Non si tratta di far straripare la coda. Si tratta di ingrossare - gli eventi non sono persi.

Non ci sono code separate per i singoli eventi (coda OnTick). C'è una coda comune per tutti gli eventi dello stesso Expert Advisor.

Ma la coda viene rifornita di eventi in modo abbastanza intelligente - se c'è un evento NewTick grezzo nella coda, altri eventi NewTick non vengono aggiunti ad essa. Se c'è un evento Timer grezzo nella coda, altri eventi Timer non vengono aggiunti alla coda. Ecc.

Sulla ragionevolezza-irragionevolezza del timer. In effetti, il timer non richiede così tante risorse come si pensa. A proposito, il terminale client ha diversi timer che lavorano simultaneamente per le proprie esigenze. Funzionano sempre e il carico del processore è 0

 
Slawa:

OnTick copre il 99% delle vostre esigenze e vi permette di scrivere programmi semplici.

Nel 99%, se rinominate OnTick in OnTimer nel codice sorgente rendendo l'inizializzazione del timer un'altra (una linea), il risultato non cambierà - funzionerà come prima e il programma sarà ancora semplice.

OnTick è passato senza soluzione di continuità dalla funzione di avvio quadruplo

Questo è un sì. La maggior parte della gente è più abituata. Questa è la ragione principale.

Grazie per aver dedicato tanta attenzione al chiarimento. Ho una richiesta per aggiungere il codice sorgente dell'implementazione artificiale di OnMarketWatch tramite timer. Nella mia implementazione devo ricordare i tick precedenti di tutti i simboli e confrontarli con i valori attuali ad ogni passo del timer. In caso di differenza, genera un evento per chiamare OnMarketWatch. Ed esattamente questa azione sembra irragionevole. In altre parole, non possiamo eseguire OnTimer a vuoto nelle uscite. Dobbiamo continuare a confrontarci. Forse c'è una soluzione migliore. Per questo ti chiedo di mostrarmi la tua variante. Come lo faresti?


Continuo a considerare le biciclette con OnChartEvent una perversione. Poiché richiede l'apertura di tanti grafici quanti sono i personaggi in Market Watch.

 
Amici miei, probabilmente c'è una situazione davvero paradossale.
In teoria, se ho capito bene, se un sottoscrittore di segnali aumenta la leva sul suo conto da 1:200 a 1:500, dovrebbe risultare in un aumento almeno doppio dei volumi di apertura.
La stessa situazione si applica al carico di deposito; se viene aumentato, i volumi dovrebbero aumentare.
Uno dei miei abbonati scrive che ha aumentato la leva da 1:200 a 1:500 e il carico dal 50% al 90%. Ma dopo questo il volume delle posizioni aperte non è cambiato in nessuna direzione. Allo stesso tempo il saldo del suo conto dovrebbe averglielo più che permesso.
Forse non ho capito bene il sistema di copiatura?
 
Artem Prischepa:
...
Smettete di fare domande per conto di abbonati immaginari (o fittizi). Se un abbonato ha una domanda, che la faccia lui stesso. Altrimenti lo considererò come pubblicità del segnale.